diff options
author | Christian Mueller <christian@lmuc329619u.(none)> | 2011-12-13 16:30:24 +0100 |
---|---|---|
committer | Christian Mueller <christian@lmuc329619u.(none)> | 2011-12-13 16:30:24 +0100 |
commit | 92c8b837306ff1dcd889f9c075435aec50e9aea3 (patch) | |
tree | 67da5878a6e10aa1372f7567b82c3920d8bb984f /AudioManagerDaemon/src/RoutingReceiver.cpp | |
parent | 205595e3d3e6a1d55be3c462ef02c9f828a77feb (diff) | |
download | audiomanager-92c8b837306ff1dcd889f9c075435aec50e9aea3.tar.gz |
.
Diffstat (limited to 'AudioManagerDaemon/src/RoutingReceiver.cpp')
-rw-r--r-- | AudioManagerDaemon/src/RoutingReceiver.cpp | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/AudioManagerDaemon/src/RoutingReceiver.cpp b/AudioManagerDaemon/src/RoutingReceiver.cpp index 9940c6e..b3ccf86 100644 --- a/AudioManagerDaemon/src/RoutingReceiver.cpp +++ b/AudioManagerDaemon/src/RoutingReceiver.cpp @@ -39,7 +39,7 @@ void RoutingReceiver::ackConnect(const am_Handle_s handle, const am_connectionID { mDatabaseHandler->removeConnection(connectionID); } - return mControlSender->cbAckConnect(handle,error); + mControlSender->cbAckConnect(handle,error); } @@ -51,56 +51,106 @@ void RoutingReceiver::ackDisconnect(const am_Handle_s handle, const am_connectio { mDatabaseHandler->removeConnection(connectionID); } - return mControlSender->cbAckConnect(handle,error); + mControlSender->cbAckDisconnect(handle,error); } void RoutingReceiver::ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error) { - + RoutingSender::am_handleData_c handleData=mRoutingSender->returnHandleData(handle); + if(error==E_OK && handleData.sinkID!=0) + { + //todo: check if volume in handleData is same than volume. React to it. + mDatabaseHandler->changeSinkVolume(handleData.sinkID,volume); + } + mRoutingSender->removeHandle(handle); + mControlSender->cbAckSetSinkVolumeChange(handle,volume,error); } void RoutingReceiver::ackSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error) { + RoutingSender::am_handleData_c handleData=mRoutingSender->returnHandleData(handle); + if(error==E_OK && handleData.sourceID!=0) + { + //todo: check if volume in handleData is same than volume. React to it. + mDatabaseHandler->changeSourceVolume(handleData.sourceID,volume); + } + mRoutingSender->removeHandle(handle); + mControlSender->cbAckSetSourceVolumeChange(handle,volume,error); } void RoutingReceiver::ackSetSourceState(const am_Handle_s handle, const am_Error_e error) { + RoutingSender::am_handleData_c handleData=mRoutingSender->returnHandleData(handle); + if(error==E_OK && handleData.sourceID!=0) + { + //todo: check if volume in handleData is same than volume. React to it. + mDatabaseHandler->changeSourceState(handleData.sourceID,handleData.sourceState); + } + mRoutingSender->removeHandle(handle); + mControlSender->cbAckSetSourceState(handle,error); } void RoutingReceiver::ackSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error) { + RoutingSender::am_handleData_c handleData=mRoutingSender->returnHandleData(handle); + if(error==E_OK && handleData.sinkID!=0) + { + //todo: check if volume in handleData is same than volume. React to it. + mDatabaseHandler->changeSinkSoundPropertyDB(handleData.soundPropery,handleData.sinkID); + } + mRoutingSender->removeHandle(handle); + mControlSender->cbAckSetSinkSoundProperty(handle,error); + } void RoutingReceiver::ackSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error) { + RoutingSender::am_handleData_c handleData=mRoutingSender->returnHandleData(handle); + if(error==E_OK && handleData.sourceID!=0) + { + //todo: check if volume in handleData is same than volume. React to it. + mDatabaseHandler->changeSourceSoundPropertyDB(handleData.soundPropery,handleData.sourceID); + } + mRoutingSender->removeHandle(handle); + mControlSender->cbAckSetSourceSoundProperty(handle,error); } void RoutingReceiver::ackCrossFading(const am_Handle_s handle, const am_HotSink_e hotSink, const am_Error_e error) { + RoutingSender::am_handleData_c handleData=mRoutingSender->returnHandleData(handle); + if(error==E_OK && handleData.crossfaderID!=0) + { + //todo: check if volume in handleData is same than volume. React to it. + mDatabaseHandler->changeCrossFaderHotSink(handleData.crossfaderID,hotSink); + } + mRoutingSender->removeHandle(handle); + mControlSender->cbAckCrossFade(handle,hotSink,error); } void RoutingReceiver::ackSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume) { + mControlSender->hookSystemSourceVolumeTick(handle,sourceID,volume); } void RoutingReceiver::ackSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume) { + mControlSender->hookSystemSinkVolumeTick(handle,sinkID,volume); } |