mirror of
https://github.com/ioacademy-jikim/android_framwork
synced 2025-06-07 16:06:29 +00:00
47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
#define LOG_TAG "LedService"
|
|
|
|
#include "ILedService.h"
|
|
|
|
#include <binder/IPCThreadState.h>
|
|
#include <binder/Parcel.h>
|
|
#include <unistd.h>
|
|
|
|
namespace android {
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
class BpLedService : public BpInterface<ILedService>
|
|
{
|
|
public:
|
|
explicit BpLedService(const sp<IBinder>& impl)
|
|
: BpInterface<ILedService>(impl)
|
|
{
|
|
}
|
|
|
|
virtual void ledOn(void)
|
|
{
|
|
printf("BpLedService::ledOn()\n");
|
|
Parcel data, reply;
|
|
remote()->transact(LED_ON, data, &reply);
|
|
}
|
|
};
|
|
|
|
IMPLEMENT_META_INTERFACE(LedService, "android.os.ILedService");
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
status_t BnLedService::onTransact(
|
|
uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
|
|
{
|
|
switch (code) {
|
|
case LED_ON: {
|
|
ledOn();
|
|
return NO_ERROR;
|
|
} break;
|
|
default:
|
|
return BBinder::onTransact(code, data, reply, flags);
|
|
}
|
|
}
|
|
// ----------------------------------------------------------------------
|
|
}; // namespace android
|