summaryrefslogtreecommitdiff
path: root/PluginCommandInterfaceDbus/src
diff options
context:
space:
mode:
authorChristian Mueller <christian@lmuc329619u.(none)>2011-12-18 16:33:52 +0100
committerChristian Mueller <christian@lmuc329619u.(none)>2011-12-18 16:33:52 +0100
commit18b59afe6cda90607ad0b193088000d4f9749a97 (patch)
treecd25bd8fd2b3b9d1e71e1e7df7059f9c0afc2df0 /PluginCommandInterfaceDbus/src
parent392d090c63dcb03df8a044abbc6cc84807e341e5 (diff)
downloadaudiomanager-18b59afe6cda90607ad0b193088000d4f9749a97.tar.gz
- added comments in XML description
- fixed bug in Dbus signal sending - corrected namespace usage
Diffstat (limited to 'PluginCommandInterfaceDbus/src')
-rw-r--r--PluginCommandInterfaceDbus/src/CommandReceiverShadow.cpp10
-rw-r--r--PluginCommandInterfaceDbus/src/DBusCommandSender.cpp21
-rw-r--r--PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp31
3 files changed, 40 insertions, 22 deletions
diff --git a/PluginCommandInterfaceDbus/src/CommandReceiverShadow.cpp b/PluginCommandInterfaceDbus/src/CommandReceiverShadow.cpp
index b53fb52..c7885a3 100644
--- a/PluginCommandInterfaceDbus/src/CommandReceiverShadow.cpp
+++ b/PluginCommandInterfaceDbus/src/CommandReceiverShadow.cpp
@@ -24,14 +24,16 @@
*/
-#include "CommandReceiverShadow.h"
-#include "DBusCommandSender.h"
-#include "DBusWrapper.h"
#include <audiomanagertypes.h>
-
#include <string>
#include <fstream>
#include <assert.h>
+#include "CommandReceiverShadow.h"
+#include "DBusCommandSender.h"
+
+using namespace am;
+
+DLT_IMPORT_CONTEXT(DLT_CONTEXT)
/**
* static ObjectPathTable is needed for DBus Callback handling
diff --git a/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp b/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp
index 462e794..09d204f 100644
--- a/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp
+++ b/PluginCommandInterfaceDbus/src/DBusCommandSender.cpp
@@ -26,7 +26,7 @@
#include "DBusCommandSender.h"
#include "DBusMessageHandler.h"
#include "DBusWrapper.h"
-
+#include "command/CommandReceiveInterface.h"
#include <dlt/dlt.h>
#include <algorithm>
#include <string>
@@ -34,7 +34,10 @@
#include <assert.h>
#include <set>
-DLT_DECLARE_CONTEXT(DBusCommandPlugin)
+using namespace am;
+
+DLT_DECLARE_CONTEXT(DLT_CONTEXT)
+//DLT_IMPORT_CONTEXT(DLT_CONTEXT);
/**
* factory for plugin loading
@@ -59,14 +62,14 @@ DbusCommandSender::DbusCommandSender()
mDBusWrapper(NULL),
mCommandReceiveInterface(NULL)
{
- DLT_REGISTER_CONTEXT(DBusCommandPlugin,"DBP","DBus Plugin");
+ DLT_REGISTER_CONTEXT(DLT_CONTEXT,"DBP","DBus Plugin");
DLT_LOG(DLT_CONTEXT,DLT_LOG_INFO, DLT_STRING("DbusCommandSender constructed"));
}
DbusCommandSender::~DbusCommandSender()
{
DLT_LOG(DLT_CONTEXT,DLT_LOG_INFO, DLT_STRING("DbusCommandSender destructed"));
- DLT_UNREGISTER_CONTEXT(DBusCommandPlugin);
+ DLT_UNREGISTER_CONTEXT(DLT_CONTEXT);
}
am_Error_e DbusCommandSender::startupInterface(CommandReceiveInterface* commandreceiveinterface)
@@ -99,6 +102,7 @@ am_Error_e DbusCommandSender::cbCommunicationReady()
/**
* todo: implement DbusCommandSender::cbCommunicationReady()
*/
+ return E_NOT_USED;
}
@@ -109,6 +113,7 @@ am_Error_e DbusCommandSender::cbCommunicationRundown()
/**
* todo: implement DbusCommandSender::cbCommunicationRundown()
*/
+ return E_NOT_USED;
}
@@ -131,12 +136,12 @@ void DbusCommandSender::cbNumberOfSinksChanged()
std::vector<am_SinkType_s> diffList;
mCommandReceiveInterface->getListMainSinks(newListSinks);
std::sort(newListSinks.begin(),newListSinks.end(),sortBySinkID());
- std::set_difference(newListSinks.begin(),newListSinks.end(),mlistSinks.begin(),mlistSinks.end(),std::back_inserter(diffList), sortBySinkID());
+ std::set_symmetric_difference(newListSinks.begin(),newListSinks.end(),mlistSinks.begin(),mlistSinks.end(),std::back_inserter(diffList), sortBySinkID());
assert(diffList.size()==1);
if (newListSinks.size()>mlistSinks.size())
{
mDBUSMessageHandler.initSignal(std::string(MY_NODE),"SinkAdded");
- mDBUSMessageHandler.append(&diffList.at(0));
+ mDBUSMessageHandler.append(diffList[0]);
DLT_LOG(DLT_CONTEXT,DLT_LOG_INFO, DLT_STRING("send signal SinkAdded"));
}
@@ -162,12 +167,12 @@ void DbusCommandSender::cbNumberOfSourcesChanged()
std::vector<am_SourceType_s> diffList;
mCommandReceiveInterface->getListMainSources(newlistSources);
std::sort(newlistSources.begin(),newlistSources.end(),sortBySourceID());
- std::set_difference(newlistSources.begin(),newlistSources.end(),mlistSources.begin(),mlistSources.end(),std::back_inserter(diffList), sortBySourceID());
+ std::set_symmetric_difference(newlistSources.begin(),newlistSources.end(),mlistSources.begin(),mlistSources.end(),std::back_inserter(diffList), sortBySourceID());
assert(diffList.size()==1);
if (newlistSources.size()>mlistSources.size())
{
mDBUSMessageHandler.initSignal(std::string(MY_NODE),"SourceAdded");
- mDBUSMessageHandler.append(&diffList.at(0));
+ mDBUSMessageHandler.append(diffList[0]);
DLT_LOG(DLT_CONTEXT,DLT_LOG_INFO, DLT_STRING("send signal SourceAdded"));
}
diff --git a/PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp b/PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp
index 315a51e..33b0191 100644
--- a/PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp
+++ b/PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp
@@ -30,6 +30,9 @@
#include <assert.h>
#include <vector>
+using namespace am;
+
+DLT_IMPORT_CONTEXT(DLT_CONTEXT)
DBusMessageHandler::DBusMessageHandler()
: mDBusMessageIter(),
@@ -84,12 +87,20 @@ void DBusMessageHandler::initSignal(std::string path, std::string signalName)
{
DLT_LOG(DLT_CONTEXT,DLT_LOG_ERROR, DLT_STRING("DBusMessageHandler::initSignal Cannot allocate DBus message!"));
}
+ dbus_message_iter_init_append(mDbusMessage, &mDBusMessageIter);
}
void DBusMessageHandler::sendMessage()
{
assert(mDBusConnection!=NULL);
- mSerial=dbus_message_get_serial(mReveiveMessage);
+ if(mReveiveMessage!=0)
+ {
+ mSerial=dbus_message_get_serial(mReveiveMessage);
+ }
+ else
+ {
+ mSerial=1;
+ }
if (!mErrorName.empty()) {
mDbusMessage = dbus_message_new_error(mReveiveMessage, mErrorName.c_str(), mErrorMsg.c_str());
}
@@ -292,14 +303,14 @@ void DBusMessageHandler::append(const am::am_SinkType_s& sinkType)
DBusMessageIter structIter;
DBusMessageIter structAvailIter;
dbus_bool_t success=true;
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "us(ii)iiu", &structIter);
+ success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, NULL, &structIter);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_UINT16, &sinkType.sinkID);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_STRING, &sinkType.name);
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "(ii)", &structAvailIter);
+ success=success && dbus_message_iter_open_container(&structIter, DBUS_TYPE_STRUCT, NULL, &structAvailIter);
success=success && dbus_message_iter_append_basic(&structAvailIter, DBUS_TYPE_INT16, &sinkType.availability.availability);
success=success && dbus_message_iter_append_basic(&structAvailIter, DBUS_TYPE_INT16, &sinkType.availability.availabilityReason);
- success=success && dbus_message_iter_close_container(&mDBusMessageIter, &structAvailIter);
+ success=success && dbus_message_iter_close_container(&structIter, &structAvailIter);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_INT16, &sinkType.volume);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_INT16, &sinkType.muteState);
@@ -319,14 +330,14 @@ void DBusMessageHandler::append(const am::am_SourceType_s & sourceType)
DBusMessageIter structIter;
DBusMessageIter structAvailIter;
dbus_bool_t success=true;
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "us(ii)u", &structIter);
+ success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, NULL, &structIter);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_UINT16, &sourceType.sourceID);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_STRING, &sourceType.name);
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "(ii)", &structAvailIter);
+ success=success && dbus_message_iter_open_container(&structIter, DBUS_TYPE_STRUCT, NULL, &structAvailIter);
success=success && dbus_message_iter_append_basic(&structAvailIter, DBUS_TYPE_INT16, &sourceType.availability.availability);
success=success && dbus_message_iter_append_basic(&structAvailIter, DBUS_TYPE_INT16, &sourceType.availability.availabilityReason);
- success=success && dbus_message_iter_close_container(&mDBusMessageIter, &structAvailIter);
+ success=success && dbus_message_iter_close_container(&structIter, &structAvailIter);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_UINT16, &sourceType.sourceClassID);
success=success && dbus_message_iter_close_container(&mDBusMessageIter, &structIter);
@@ -343,7 +354,7 @@ void DBusMessageHandler::append(const am::am_MainSoundProperty_s mainSoundProper
{
DBusMessageIter structIter;
dbus_bool_t success=true;
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "(ii)", &structIter);
+ success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, NULL, &structIter);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_INT16, &mainSoundProperty.type);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_INT16, &mainSoundProperty.value);
success=success && dbus_message_iter_close_container(&mDBusMessageIter, &structIter);
@@ -360,7 +371,7 @@ void DBusMessageHandler::append(const am::am_Availability_s & availability)
{
DBusMessageIter structAvailIter;
dbus_bool_t success=true;
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "(ii)", &structAvailIter);
+ success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT,NULL, &structAvailIter);
success=success && dbus_message_iter_append_basic(&structAvailIter, DBUS_TYPE_INT16, &availability.availability);
success=success && dbus_message_iter_append_basic(&structAvailIter, DBUS_TYPE_INT16, &availability.availabilityReason);
success=success && dbus_message_iter_close_container(&mDBusMessageIter, &structAvailIter);
@@ -377,7 +388,7 @@ void DBusMessageHandler::append(const am::am_SystemProperty_s & SystemProperty)
{
DBusMessageIter structIter;
dbus_bool_t success=true;
- success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, "(ii)", &structIter);
+ success=success && dbus_message_iter_open_container(&mDBusMessageIter, DBUS_TYPE_STRUCT, NULL, &structIter);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_INT16, &SystemProperty.type);
success=success && dbus_message_iter_append_basic(&structIter, DBUS_TYPE_INT16, &SystemProperty.value);
success=success && dbus_message_iter_close_container(&mDBusMessageIter, &structIter);