diff options
Diffstat (limited to 'soundtrigger/ISoundTriggerClient.cpp')
-rw-r--r-- | soundtrigger/ISoundTriggerClient.cpp | 35 |
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); } |