summaryrefslogtreecommitdiff
path: root/PluginCommandInterfaceDbus
diff options
context:
space:
mode:
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;