diff options
author | Steven Moreland <smoreland@google.com> | 2016-10-20 17:42:01 -0700 |
---|---|---|
committer | Steven Moreland <smoreland@google.com> | 2016-10-21 19:33:06 +0000 |
commit | 22566b891381af660c670a5385385a38fa1882af (patch) | |
tree | dfbbbcce0f96ca3521d9f00be296f9d2bcaf3b68 /light | |
parent | 00dfbca81f5700880e261debce317b932f7460fa (diff) | |
download | platform_hardware_interfaces-22566b891381af660c670a5385385a38fa1882af.tar.gz platform_hardware_interfaces-22566b891381af660c670a5385385a38fa1882af.tar.bz2 platform_hardware_interfaces-22566b891381af660c670a5385385a38fa1882af.zip |
Use defaultPassthroughServiceImplementation.
Bug: 32279541
Bug: 32282345
Test: mma
Change-Id: Ic0222963c99bea41de7637e5f20c19d7c541cb97
Diffstat (limited to 'light')
-rw-r--r-- | light/2.0/default/service.cpp | 57 |
1 files changed, 19 insertions, 38 deletions
diff --git a/light/2.0/default/service.cpp b/light/2.0/default/service.cpp index e4468784ba..b3848e95f4 100644 --- a/light/2.0/default/service.cpp +++ b/light/2.0/default/service.cpp @@ -1,46 +1,27 @@ -#define LOG_TAG "android.hardware.light@2.0-service" -#include <utils/Log.h> +/* + * Copyright 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -#include <iostream> -#include <unistd.h> +#define LOG_TAG "android.hardware.light@2.0-service" #include <android/hardware/light/2.0/ILight.h> +#include <hidl/LegacySupport.h> -#include <hidl/IServiceManager.h> -#include <hwbinder/IPCThreadState.h> -#include <hwbinder/ProcessState.h> -#include <utils/Errors.h> -#include <utils/StrongPointer.h> - -using android::sp; - -// libhwbinder: -using android::hardware::IPCThreadState; -using android::hardware::ProcessState; - -// Generated HIDL files using android::hardware::light::V2_0::ILight; +using android::hardware::defaultPassthroughServiceImplementation; int main() { - ALOGI("Service is starting."); - const char instance[] = "light"; - ALOGI("Retrieving default implementation of instance %s.", - instance); - - android::sp<ILight> service = ILight::getService(instance, true /* getStub */); - - if (service.get() == nullptr) { - ALOGE("ILight::getService returned NULL, exiting"); - return EXIT_FAILURE; - } - - LOG_FATAL_IF(service->isRemote(), "Implementation is REMOTE!"); - - ALOGI("Registering instance %s.", instance); - service->registerAsService(instance); - ALOGI("Ready."); - - ProcessState::self()->setThreadPoolMaxThreadCount(0); - ProcessState::self()->startThreadPool(); - IPCThreadState::self()->joinThreadPool(); + return defaultPassthroughServiceImplementation<ILight>("light"); } |