diff options
author | Christian Mueller <christian@lmuc329619u.(none)> | 2011-12-18 16:33:52 +0100 |
---|---|---|
committer | Christian Mueller <christian@lmuc329619u.(none)> | 2011-12-18 16:33:52 +0100 |
commit | 18b59afe6cda90607ad0b193088000d4f9749a97 (patch) | |
tree | cd25bd8fd2b3b9d1e71e1e7df7059f9c0afc2df0 /PluginCommandInterfaceDbus/src | |
parent | 392d090c63dcb03df8a044abbc6cc84807e341e5 (diff) | |
download | audiomanager-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.cpp | 10 | ||||
-rw-r--r-- | PluginCommandInterfaceDbus/src/DBusCommandSender.cpp | 21 | ||||
-rw-r--r-- | PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp | 31 |
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); |