Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22566b89 authored by Steven Moreland's avatar Steven Moreland
Browse files

Use defaultPassthroughServiceImplementation.

Bug: 32279541
Bug: 32282345

Test: mma
Change-Id: Ic0222963c99bea41de7637e5f20c19d7c541cb97
parent 00dfbca8
Loading
Loading
Loading
Loading
+6 −29
Original line number Diff line number Diff line
@@ -14,38 +14,15 @@
 * limitations under the License.
 */

#define LOG_TAG "GrallocService"
#define LOG_TAG "android.hardware.graphics.allocator@2.0-service"

#include <android/hardware/graphics/allocator/2.0/IAllocator.h>
#include <hwbinder/IPCThreadState.h>
#include <hwbinder/ProcessState.h>
#include <utils/StrongPointer.h>

using android::sp;
using android::hardware::IPCThreadState;
using android::hardware::ProcessState;
using android::hardware::graphics::allocator::V2_0::IAllocator;

int main()
{
    const char instance[] = "gralloc";

    ALOGI("Service is starting.");

    sp<IAllocator> service = IAllocator::getService(instance,
            true /* getStub */);
    if (service == nullptr) {
        ALOGI("getService returned NULL");
        return -1;
    }

    LOG_FATAL_IF(service->isRemote(), "Service is REMOTE!");
#include <hidl/LegacySupport.h>

    service->registerAsService(instance);

    ProcessState::self()->setThreadPoolMaxThreadCount(0);
    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();
using android::hardware::graphics::allocator::V2_0::IAllocator;
using android::hardware::defaultPassthroughServiceImplementation;

    return 0;
int main() {
    return defaultPassthroughServiceImplementation<IAllocator>("gralloc");
}
+19 −38
Original line number Diff line number Diff line
#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");
}
+3 −27
Original line number Diff line number Diff line
@@ -15,37 +15,13 @@
 */

#define LOG_TAG "android.hardware.memtrack@1.0-service"
#include <utils/Log.h>

#include <iostream>
#include <unistd.h>

#include <android/hardware/memtrack/1.0/IMemtrack.h>

#include <hidl/IServiceManager.h>
#include <hwbinder/IPCThreadState.h>
#include <hwbinder/ProcessState.h>
#include <utils/Errors.h>
#include <utils/StrongPointer.h>

using android::sp;

using android::hardware::IPCThreadState;
using android::hardware::ProcessState;
#include <hidl/LegacySupport.h>

using android::hardware::memtrack::V1_0::IMemtrack;
using android::hardware::defaultPassthroughServiceImplementation;

int main() {
    const char instance[] = "memtrack";
    android::sp<IMemtrack> service = IMemtrack::getService(instance, true);
    if (service.get() == nullptr) {
        ALOGE("IMemtrack::getService returned NULL, exiting");
        return -1;
    }
    LOG_FATAL_IF(service->isRemote(), "Implementation is REMOTE!");
    service->registerAsService(instance);

    ProcessState::self()->setThreadPoolMaxThreadCount(0);
    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();
    return defaultPassthroughServiceImplementation<IMemtrack>("memtrack");
}
+3 −27
Original line number Diff line number Diff line
@@ -15,37 +15,13 @@
 */

#define LOG_TAG "android.hardware.power@1.0-service"
#include <utils/Log.h>

#include <iostream>
#include <unistd.h>

#include <android/hardware/power/1.0/IPower.h>

#include <hidl/IServiceManager.h>
#include <hwbinder/IPCThreadState.h>
#include <hwbinder/ProcessState.h>
#include <utils/Errors.h>
#include <utils/StrongPointer.h>

using android::sp;

using android::hardware::IPCThreadState;
using android::hardware::ProcessState;
#include <hidl/LegacySupport.h>

using android::hardware::power::V1_0::IPower;
using android::hardware::defaultPassthroughServiceImplementation;

int main() {
    const char instance[] = "power";
    android::sp<IPower> service = IPower::getService(instance, true);
    if (service.get() == nullptr) {
        ALOGE("IPower::getService returned NULL, exiting");
        return -1;
    }
    LOG_FATAL_IF(service->isRemote(), "Implementation is REMOTE!");
    service->registerAsService(instance);

    ProcessState::self()->setThreadPoolMaxThreadCount(0);
    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();
    return defaultPassthroughServiceImplementation<IPower>("power");
}
+7 −31
Original line number Diff line number Diff line
@@ -14,38 +14,14 @@
 * limitations under the License.
 */

#include <android-base/logging.h>
#define LOG_TAG "android.hardware.nfc@1.0-service"

#include <android/hardware/sensors/1.0/ISensors.h>
#include <hwbinder/IPCThreadState.h>
#include <hwbinder/ProcessState.h>
#include <hidl/LegacySupport.h>

int main() {
using android::hardware::sensors::V1_0::ISensors;
    using android::sp;
    using android::OK;
    using namespace android::hardware;

    LOG(INFO) << "Service is starting.";
    sp<ISensors> sensors = ISensors::getService("sensors", true /* getStub */);

    if (sensors.get() == nullptr) {
        LOG(ERROR) << "ISensors::getService returned nullptr, exiting.";
        return 1;
    }

    LOG(INFO) << "Default implementation using sensors is "
              << (sensors->isRemote() ? "REMOTE" : "LOCAL");
using android::hardware::defaultPassthroughServiceImplementation;

    CHECK(!sensors->isRemote());

    LOG(INFO) << "Registering instance sensors.";
    sensors->registerAsService("sensors");
    LOG(INFO) << "Ready.";

    ProcessState::self()->setThreadPoolMaxThreadCount(0);
    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();

    return 0;
int main() {
    return defaultPassthroughServiceImplementation<ISensors>("sensors");
}
Loading