blob: 81c1191c1eec96daefdd25c201d69a7c22bf0bd9 [file] [log] [blame]
telsoa015307bc12018-03-09 13:51:08 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beck93e48982018-09-05 13:05:09 +01003// SPDX-License-Identifier: MIT
telsoa015307bc12018-03-09 13:51:08 +00004//
5
6#define LOG_TAG "ArmnnDriver"
7
8#include "ArmnnDriver.hpp"
9
10#include <hidl/LegacySupport.h>
11#include <log/log.h>
12
13#include <string>
telsoa015307bc12018-03-09 13:51:08 +000014
15using namespace armnn_driver;
16using namespace std;
17
18int main(int argc, char** argv)
19{
surmeh0149b9e102018-05-17 14:11:25 +010020 android::sp<ArmnnDriver> driver;
21 try
22 {
23 driver = new ArmnnDriver(DriverOptions(argc, argv));
24 }
25 catch (const std::exception& e)
26 {
27 ALOGE("Could not create driver: %s", e.what());
28 return EXIT_FAILURE;
29 }
telsoa015307bc12018-03-09 13:51:08 +000030
31 android::hardware::configureRpcThreadpool(1, true);
surmeh0149b9e102018-05-17 14:11:25 +010032 android::status_t status = android::UNKNOWN_ERROR;
33 try
34 {
35 status = driver->registerAsService("armnn");
36 }
37 catch (const std::exception& e)
38 {
39 ALOGE("Could not register service: %s", e.what());
40 return EXIT_FAILURE;
41 }
42 if (status != android::OK)
telsoa015307bc12018-03-09 13:51:08 +000043 {
44 ALOGE("Could not register service");
surmeh0149b9e102018-05-17 14:11:25 +010045 return EXIT_FAILURE;
telsoa015307bc12018-03-09 13:51:08 +000046 }
surmeh0149b9e102018-05-17 14:11:25 +010047
telsoa015307bc12018-03-09 13:51:08 +000048 android::hardware::joinRpcThreadpool();
49 ALOGE("Service exited!");
surmeh0149b9e102018-05-17 14:11:25 +010050 return EXIT_FAILURE;
telsoa015307bc12018-03-09 13:51:08 +000051}