diff options
Diffstat (limited to 'power/1.0/default/service.cpp')
-rw-r--r-- | power/1.0/default/service.cpp | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/power/1.0/default/service.cpp b/power/1.0/default/service.cpp index bad1adf1..f77ff5b0 100644 --- a/power/1.0/default/service.cpp +++ b/power/1.0/default/service.cpp | |||
@@ -15,37 +15,13 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #define LOG_TAG "android.hardware.power@1.0-service" | 17 | #define LOG_TAG "android.hardware.power@1.0-service" |
18 | #include <utils/Log.h> | ||
19 | |||
20 | #include <iostream> | ||
21 | #include <unistd.h> | ||
22 | 18 | ||
23 | #include <android/hardware/power/1.0/IPower.h> | 19 | #include <android/hardware/power/1.0/IPower.h> |
24 | 20 | #include <hidl/LegacySupport.h> | |
25 | #include <hidl/IServiceManager.h> | ||
26 | #include <hwbinder/IPCThreadState.h> | ||
27 | #include <hwbinder/ProcessState.h> | ||
28 | #include <utils/Errors.h> | ||
29 | #include <utils/StrongPointer.h> | ||
30 | |||
31 | using android::sp; | ||
32 | |||
33 | using android::hardware::IPCThreadState; | ||
34 | using android::hardware::ProcessState; | ||
35 | 21 | ||
36 | using android::hardware::power::V1_0::IPower; | 22 | using android::hardware::power::V1_0::IPower; |
23 | using android::hardware::defaultPassthroughServiceImplementation; | ||
37 | 24 | ||
38 | int main() { | 25 | int main() { |
39 | const char instance[] = "power"; | 26 | return defaultPassthroughServiceImplementation<IPower>("power"); |
40 | android::sp<IPower> service = IPower::getService(instance, true); | ||
41 | if (service.get() == nullptr) { | ||
42 | ALOGE("IPower::getService returned NULL, exiting"); | ||
43 | return -1; | ||
44 | } | ||
45 | LOG_FATAL_IF(service->isRemote(), "Implementation is REMOTE!"); | ||
46 | service->registerAsService(instance); | ||
47 | |||
48 | ProcessState::self()->setThreadPoolMaxThreadCount(0); | ||
49 | ProcessState::self()->startThreadPool(); | ||
50 | IPCThreadState::self()->joinThreadPool(); | ||
51 | } | 27 | } |