1
0
mirror of https://github.com/ioacademy-jikim/android_framwork synced 2025-06-07 16:06:29 +00:00
android_framwork/03_day/binder_5/ILedService.cpp
ioacademy-jikim 7c461cd04c 8
2018-06-14 17:24:32 +09:00

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