summaryrefslogtreecommitdiffstats
path: root/soundtrigger/ISoundTriggerClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'soundtrigger/ISoundTriggerClient.cpp')
-rw-r--r--soundtrigger/ISoundTriggerClient.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/soundtrigger/ISoundTriggerClient.cpp b/soundtrigger/ISoundTriggerClient.cpp
index 1d0c0ec..b0b4428 100644
--- a/soundtrigger/ISoundTriggerClient.cpp
+++ b/soundtrigger/ISoundTriggerClient.cpp
@@ -27,6 +27,8 @@ namespace android {
enum {
ON_RECOGNITION_EVENT = IBinder::FIRST_CALL_TRANSACTION,
+ ON_SOUNDMODEL_EVENT,
+ ON_SERVICE_STATE_CHANGE
};
class BpSoundTriggerClient: public BpInterface<ISoundTriggerClient>
@@ -47,6 +49,25 @@ public:
data,
&reply);
}
+
+ virtual void onSoundModelEvent(const sp<IMemory>& eventMemory)
+ {
+ Parcel data, reply;
+ data.writeInterfaceToken(ISoundTriggerClient::getInterfaceDescriptor());
+ data.writeStrongBinder(eventMemory->asBinder());
+ remote()->transact(ON_SOUNDMODEL_EVENT,
+ data,
+ &reply);
+ }
+ virtual void onServiceStateChange(const sp<IMemory>& eventMemory)
+ {
+ Parcel data, reply;
+ data.writeInterfaceToken(ISoundTriggerClient::getInterfaceDescriptor());
+ data.writeStrongBinder(eventMemory->asBinder());
+ remote()->transact(ON_SERVICE_STATE_CHANGE,
+ data,
+ &reply);
+ }
};
IMPLEMENT_META_INTERFACE(SoundTriggerClient,
@@ -65,6 +86,20 @@ status_t BnSoundTriggerClient::onTransact(
onRecognitionEvent(eventMemory);
return NO_ERROR;
} break;
+ case ON_SOUNDMODEL_EVENT: {
+ CHECK_INTERFACE(ISoundTriggerClient, data, reply);
+ sp<IMemory> eventMemory = interface_cast<IMemory>(
+ data.readStrongBinder());
+ onSoundModelEvent(eventMemory);
+ return NO_ERROR;
+ } break;
+ case ON_SERVICE_STATE_CHANGE: {
+ CHECK_INTERFACE(ISoundTriggerClient, data, reply);
+ sp<IMemory> eventMemory = interface_cast<IMemory>(
+ data.readStrongBinder());
+ onServiceStateChange(eventMemory);
+ return NO_ERROR;
+ } break;
default:
return BBinder::onTransact(code, data, reply, flags);
}