diff options
author | christian mueller <christian.ei.mueller@bmw.de> | 2012-02-23 17:25:23 +0100 |
---|---|---|
committer | christian mueller <christian.ei.mueller@bmw.de> | 2012-02-23 17:25:23 +0100 |
commit | bec7e4f38620d7855c0e5c0d4cea933dcf2827f3 (patch) | |
tree | 3b7b196f88f5b7cba4c885bcc39623b35e53e55f /PluginCommandInterfaceDbus | |
parent | 26b122e62777dddff469fa53058ab26fe212d4cf (diff) | |
download | audiomanager-bec7e4f38620d7855c0e5c0d4cea933dcf2827f3.tar.gz |
* [ GAM-4 ] Change Database Obsever notification implementation working, test are not ready yet. This implies that the Sockethandler is mandatory so I removed the cmake options.
Diffstat (limited to 'PluginCommandInterfaceDbus')
-rw-r--r-- | PluginCommandInterfaceDbus/src/DBusCommandSender.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp b/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp index 57dc56f..3bebdde 100644 --- a/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp +++ b/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp @@ -136,25 +136,32 @@ void DbusCommandSender::cbNumberOfSinksChanged() mCommandReceiveInterface->getListMainSinks(newListSinks); std::sort(newListSinks.begin(), newListSinks.end(), sortBySinkID()); std::set_symmetric_difference(newListSinks.begin(), newListSinks.end(), mlistSinks.begin(), mlistSinks.end(), std::back_inserter(diffList), sortBySinkID()); - assert(diffList.size()==1); if (mReady) { if (newListSinks.size() > mlistSinks.size()) { - mDBUSMessageHandler.initSignal(std::string(MY_NODE), "SinkAdded"); - mDBUSMessageHandler.append(diffList[0]); - - log(&commandDbus, DLT_LOG_INFO, "send signal SinkAdded"); - + std::vector<am_SinkType_s>::iterator iter(diffList.begin()); + for (;iter!=diffList.end();++iter) + { + mDBUSMessageHandler.initSignal(std::string(MY_NODE), "SinkAdded"); + mDBUSMessageHandler.append(*iter); + + log(&commandDbus, DLT_LOG_INFO, "send signal SinkAdded"); + mDBUSMessageHandler.sendMessage(); + } } else { - mDBUSMessageHandler.initSignal(std::string(MY_NODE), "SinkRemoved"); - mDBUSMessageHandler.append(diffList.begin()->sinkID); - - log(&commandDbus, DLT_LOG_INFO, "send signal SinkRemoved"); + std::vector<am_SinkType_s>::iterator iter(diffList.begin()); + for (;iter!=diffList.end();++iter) + { + mDBUSMessageHandler.initSignal(std::string(MY_NODE), "SinkAdded"); + mDBUSMessageHandler.append(*iter); + + log(&commandDbus, DLT_LOG_INFO, "send signal SinkAdded"); + mDBUSMessageHandler.sendMessage(); + } } - mDBUSMessageHandler.sendMessage(); } mlistSinks = newListSinks; |