summaryrefslogtreecommitdiff
path: root/PluginCommandInterfaceDbus
diff options
context:
space:
mode:
authorchristian mueller <christian.ei.mueller@bmw.de>2012-02-23 17:25:23 +0100
committerchristian mueller <christian.ei.mueller@bmw.de>2012-02-23 17:25:23 +0100
commitbec7e4f38620d7855c0e5c0d4cea933dcf2827f3 (patch)
tree3b7b196f88f5b7cba4c885bcc39623b35e53e55f /PluginCommandInterfaceDbus
parent26b122e62777dddff469fa53058ab26fe212d4cf (diff)
downloadaudiomanager-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.cpp29
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;