From e924eb3ec4717647d61e9ec4d5cc74f81ea749b9 Mon Sep 17 00:00:00 2001 From: christian mueller Date: Wed, 8 Feb 2012 15:42:31 +0100 Subject: * changed main to register observer (thanks TGO) * changed command DBUSplugin to register Connection at 2nd DBUSMessageHandler Instance (thanks TGO) * Expanded dummyController functionality --- AudioManagerDaemon/src/main.cpp | 2 + .../src/DBusCommandSender.cpp | 3 ++ PluginControlInterface/src/ControlSender.cpp | 45 ++++++++++------------ .../src/RoutingSenderAsync.cpp | 1 + includes/config.h | 2 +- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp index d483925..73e9baf 100644 --- a/AudioManagerDaemon/src/main.cpp +++ b/AudioManagerDaemon/src/main.cpp @@ -300,6 +300,8 @@ int main(int argc, char *argv[]) DatabaseObserver iObserver(&iCommandSender, &iRoutingSender); #endif + iDatabaseHandler.registerObserver(&iObserver); + //startup all the Plugins and Interfaces iControlSender.startupController(&iControlReceiver); iCommandSender.startupInterface(&iCommandReceiver); diff --git a/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp b/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp index d85dd34..460382f 100644 --- a/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp +++ b/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp @@ -78,6 +78,9 @@ am_Error_e DbusCommandSender::startupInterface(CommandReceiveInterface* commandr mCommandReceiverShadow.setCommandReceiver(mCommandReceiveInterface); mCommandReceiveInterface->getDBusConnectionWrapper(mDBusWrapper); assert(mDBusWrapper!=NULL); + DBusConnection * connection; + mDBusWrapper->getDBusConnection(connection); + mDBUSMessageHandler.setDBusConnection(connection); return (E_OK); } diff --git a/PluginControlInterface/src/ControlSender.cpp b/PluginControlInterface/src/ControlSender.cpp index c92a4b6..2582f30 100644 --- a/PluginControlInterface/src/ControlSender.cpp +++ b/PluginControlInterface/src/ControlSender.cpp @@ -125,15 +125,14 @@ am_Error_e ControlSenderPlugin::hookUserSetSinkMuteState(const am_sinkID_t sinkI am_Error_e ControlSenderPlugin::hookSystemRegisterDomain(const am_Domain_s & domainData, am_domainID_t & domainID) { - (void) domainData; - (void) domainID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->enterDomainDB(domainData,domainID); } am_Error_e ControlSenderPlugin::hookSystemDeregisterDomain(const am_domainID_t domainID) { - (void) domainID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->removeDomainDB(domainID); } void ControlSenderPlugin::hookSystemDomainRegistrationComplete(const am_domainID_t domainID) @@ -143,54 +142,50 @@ void ControlSenderPlugin::hookSystemDomainRegistrationComplete(const am_domainID am_Error_e ControlSenderPlugin::hookSystemRegisterSink(const am_Sink_s & sinkData, am_sinkID_t & sinkID) { - (void) sinkID; - (void) sinkData; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->enterSinkDB(sinkData,sinkID); } am_Error_e ControlSenderPlugin::hookSystemDeregisterSink(const am_sinkID_t sinkID) { - (void) sinkID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->removeSinkDB(sinkID); } am_Error_e ControlSenderPlugin::hookSystemRegisterSource(const am_Source_s & sourceData, am_sourceID_t & sourceID) { - (void) sourceData; - (void) sourceID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->enterSourceDB(sourceData,sourceID); } am_Error_e ControlSenderPlugin::hookSystemDeregisterSource(const am_sourceID_t sourceID) { - (void) sourceID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->removeSourceDB(sourceID); } am_Error_e ControlSenderPlugin::hookSystemRegisterGateway(const am_Gateway_s & gatewayData, am_gatewayID_t & gatewayID) { - (void) gatewayData; - (void) gatewayID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->enterGatewayDB(gatewayData,gatewayID); } am_Error_e ControlSenderPlugin::hookSystemDeregisterGateway(const am_gatewayID_t gatewayID) { - (void) gatewayID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->removeGatewayDB(gatewayID); } am_Error_e ControlSenderPlugin::hookSystemRegisterCrossfader(const am_Crossfader_s & crossfaderData, am_crossfaderID_t & crossfaderID) { - (void) crossfaderData; - (void) crossfaderID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->enterCrossfaderDB(crossfaderData,crossfaderID); } am_Error_e ControlSenderPlugin::hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID) { - (void) crossfaderID; - return E_NOT_USED; + //this application does not do anything with it -> but some product might want to take influence here + return mControlReceiveInterface->removeCrossfaderDB(crossfaderID); } void ControlSenderPlugin::hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume) diff --git a/PluginRoutingInterfaceAsync/src/RoutingSenderAsync.cpp b/PluginRoutingInterfaceAsync/src/RoutingSenderAsync.cpp index 7527f7d..7594260 100644 --- a/PluginRoutingInterfaceAsync/src/RoutingSenderAsync.cpp +++ b/PluginRoutingInterfaceAsync/src/RoutingSenderAsync.cpp @@ -779,6 +779,7 @@ std::vector AsyncRoutingSender::createSinkTable() item.listSoundProperties.push_back(sp); item.visible = true; item.listConnectionFormats.push_back(CF_ANALOG); + item.muteState=MS_MUTED; table.push_back(item); } return (table); diff --git a/includes/config.h b/includes/config.h index b3d02c9..9268d98 100644 --- a/includes/config.h +++ b/includes/config.h @@ -1,7 +1,7 @@ #ifndef _CONFIG_H #define _CONFIG_H -#define DAEMONVERSION "ver-0.0.9-2-gf00468f" +#define DAEMONVERSION "ver-0.0.9-5-g9f9f6fc" #define WITH_DBUS_WRAPPER #define WITH_SOCKETHANDLER_LOOP -- cgit v1.2.1