summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Linke <christian.linke@bmw.de>2013-06-20 16:21:48 +0200
committerChristian Linke <christian.linke@bmw.de>2013-06-26 17:46:46 +0200
commitc0fd43259ab0e269dd0918231c162d19d2dea593 (patch)
tree4149743db66cdb55dbf823af3bb82f557d135f97
parente4107bd0ed54194a5cfef60c322fee63bbeeabb2 (diff)
downloadaudiomanager-c0fd43259ab0e269dd0918231c162d19d2dea593.tar.gz
* some adoptins in the routinginterface
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r--PluginRoutingInterfaceDbus/include/CAmDbusMessageHandler.h12
-rw-r--r--PluginRoutingInterfaceDbus/include/CAmDbusSend.h3
-rw-r--r--PluginRoutingInterfaceDbus/include/IAmRoutingReceiverShadow.h8
-rw-r--r--PluginRoutingInterfaceDbus/include/RoutingReceiver.xml54
-rw-r--r--PluginRoutingInterfaceDbus/include/RoutingSender.xml32
-rw-r--r--PluginRoutingInterfaceDbus/include/configRoutingDbus.h2
-rw-r--r--PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp252
-rw-r--r--PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp27
-rw-r--r--PluginRoutingInterfaceDbus/src/CAmRoutingSenderDbus.cpp14
-rw-r--r--PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp148
10 files changed, 488 insertions, 64 deletions
diff --git a/PluginRoutingInterfaceDbus/include/CAmDbusMessageHandler.h b/PluginRoutingInterfaceDbus/include/CAmDbusMessageHandler.h
index 62ad421..71b3078 100644
--- a/PluginRoutingInterfaceDbus/include/CAmDbusMessageHandler.h
+++ b/PluginRoutingInterfaceDbus/include/CAmDbusMessageHandler.h
@@ -79,6 +79,8 @@ public:
dbus_uint16_t getUInt(DBusMessageIter& iter, bool next);
dbus_int16_t getInt();
dbus_int16_t getInt(DBusMessageIter& iter, bool next);
+ dbus_int32_t getInt32();
+ dbus_int32_t getInt32(DBusMessageIter& iter, bool next);
dbus_bool_t getBool();
dbus_bool_t getBool(DBusMessageIter& iter, bool next);
char getByte();
@@ -87,14 +89,22 @@ public:
double getDouble(DBusMessageIter& iter, bool next);
char* getString();
char* getString(DBusMessageIter& iter, bool next);
- am::am_Availability_s getAvailability();
+ am_Availability_s getAvailability();
std::vector<am::am_EarlyData_s> getEarlyData();
am_Domain_s getDomainData();
am_Source_s getSourceData();
am_Sink_s getSinkData();
am_Gateway_s getGatewayData();
am_Crossfader_s getCrossfaderData();
+ am_SoundProperty_s getSoundProperty();
am_MainSoundProperty_s getMainSoundProperty();
+ std::vector<am_ConnectionFormat_e> getListconnectionFormats();
+ std::vector<bool> getListBool();
+ std::vector<am_SoundProperty_s> getListSoundProperties();
+ std::vector<am_MainSoundProperty_s> getListMainSoundProperties();
+ am_NotificationPayload_s getNotificationPayload();
+
+
/**
* the overloaded append function appends different datatypes to the dbusmessage
diff --git a/PluginRoutingInterfaceDbus/include/CAmDbusSend.h b/PluginRoutingInterfaceDbus/include/CAmDbusSend.h
index 3f8f0a5..b95c227 100644
--- a/PluginRoutingInterfaceDbus/include/CAmDbusSend.h
+++ b/PluginRoutingInterfaceDbus/include/CAmDbusSend.h
@@ -37,15 +37,18 @@ public:
void append(std::string string);
void append(uint16_t integer);
void append(int16_t integer);
+ void append(int integer);
void append(std::vector<am_SoundProperty_s> listSoundProperties);
void append(am_SoundProperty_s soundProperty);
am_Error_e send();
+ am_Error_e sendAsync();
private:
DBusMessage* mpDbusMessage;
DBusConnection* mpDbusConnection;
DBusMessageIter mDbusMessageIter;
DBusError mDBusError;
+ dbus_uint32_t mSerial;
};
}
diff --git a/PluginRoutingInterfaceDbus/include/IAmRoutingReceiverShadow.h b/PluginRoutingInterfaceDbus/include/IAmRoutingReceiverShadow.h
index 642ab6f..bc0cb5e 100644
--- a/PluginRoutingInterfaceDbus/include/IAmRoutingReceiverShadow.h
+++ b/PluginRoutingInterfaceDbus/include/IAmRoutingReceiverShadow.h
@@ -74,6 +74,14 @@ public:
void sendChangedData(DBusConnection *conn, DBusMessage *msg);
void confirmRoutingReady(DBusConnection *conn, DBusMessage *msg);
void confirmRoutingRundown(DBusConnection *conn, DBusMessage *msg);
+ void updateGateway(DBusConnection *conn, DBusMessage *msg);
+ void updateSink(DBusConnection *conn, DBusMessage *msg);
+ void updateSource(DBusConnection *conn, DBusMessage *msg);
+ void ackSetVolumes(DBusConnection *conn, DBusMessage *msg);
+ void ackSinkNotificationConfiguration(DBusConnection *conn, DBusMessage *msg);
+ void ackSourceNotificationConfiguration(DBusConnection *conn, DBusMessage *msg);
+ void hookSinkNotificationDataChange(DBusConnection *conn, DBusMessage *msg);
+ void hookSourceNotificationDataChange(DBusConnection *conn, DBusMessage *msg);
/**
* sets the pointer to the CommandReceiveInterface and registers Callback
diff --git a/PluginRoutingInterfaceDbus/include/RoutingReceiver.xml b/PluginRoutingInterfaceDbus/include/RoutingReceiver.xml
index 5fb390a..f8799c6 100644
--- a/PluginRoutingInterfaceDbus/include/RoutingReceiver.xml
+++ b/PluginRoutingInterfaceDbus/include/RoutingReceiver.xml
@@ -66,19 +66,21 @@
<arg name="error" type="q" direction="out" />
</method>
<method name="registerDomain">
- <arg name="domaindata" type="(qsssbbq)" direction="in" /> <!-- am_domainID_t domainID; std::string name; std::string busname; std::string nodename; bool early; bool complete; am_DomainState_e state; -->
+ <arg name="domaindata" type="(qsssbbn)" direction="in" /> <!-- am_domainID_t domainID; std::string name; std::string busname; std::string nodename; bool early; bool complete; am_DomainState_e state; -->
<arg name="returnBusname" type="s" direction="in" /> <!-- the busname for all communication to this domain -->
<arg name="returnPath" type="s" direction="in" /> <!-- the path for all communication to this domain -->
<arg name="returnInterface" type="s" direction="in" /> <!-- the interface for all communication to this domain -->
<arg name="domainid" type="q" direction="out" />
<arg name="error" type="q" direction="out" />
</method>
- <method name="deregisterDomain">
+ <method name="deregisterDomain">
+ <arg name="handle" type="q" direction="in" />
+ <arg name="error" type="q" direction="in" />
<arg name="domainid" type="q" direction="in" />
<arg name="error" type="q" direction="out" />
</method>
<method name="registerGateway">
- <arg name="gatewayData" type="(qsqqqqqa(q)a(q)a(b))" direction="in" /> <!-- am_gatewayID_t gatewayID; std::string name; am_sinkID_t sinkID; am_sourceID_t sourceID; am_domainID_t domainSinkID; am_domainID_t domainSourceID; am_domainID_t controlDomainID; std::vector<am_ConnectionFormat_e> listSourceFormats; std::vector<am_ConnectionFormat_e> listSinkFormats; std::vector<bool> convertionMatrix; -->
+ <arg name="gatewayData" type="(qsqqqqqaiaiab)" direction="in" /> <!-- am_gatewayID_t gatewayID; std::string name; am_sinkID_t sinkID; am_sourceID_t sourceID; am_domainID_t domainSinkID; am_domainID_t domainSourceID; am_domainID_t controlDomainID; std::vector<am_ConnectionFormat_e> listSourceFormats; std::vector<am_ConnectionFormat_e> listSinkFormats; std::vector<bool> convertionMatrix; -->
<arg name="gatewayID" type="q" direction="out" />
<arg name="error" type="q" direction="out" />
</method>
@@ -92,7 +94,7 @@
<arg name="error" type="q" direction="out" />
</method>
<method name="registerSink">
- <arg name="sinkData" type="(qsqqnb(nn)nna(nn)ana(nn))" direction="in" /> <!-- am_sinkID_t sinkID; std::string name; am_domainID_t domainID; am_sinkClass_t sinkClassID; am_volume_t volume; bool visible; am_Availability_s available; am_MuteState_e muteState;am_mainVolume_t mainVolume; std::vector<am_SoundProperty_s> listSoundProperties; std::vector<am_ConnectionFormat_e> listConnectionFormats; std::vector<am_MainSoundProperty_s> listMainSoundProperties; -->
+ <arg name="sinkData" type="(qsqinb(ii)nna(in)aia(in)a(iin)a(iin))" direction="in" /> <!-- am_sinkID_t sinkID; std::string name; am_domainID_t domainID; am_sinkClass_t sinkClassID; am_volume_t volume; bool visible; am_Availability_s available; am_MuteState_e muteState;am_mainVolume_t mainVolume; std::vector<am_SoundProperty_s> listSoundProperties; std::vector<am_ConnectionFormat_e> listConnectionFormats; std::vector<am_MainSoundProperty_s> listMainSoundProperties; -->
<arg name="sinkID" type="q" direction="out" />
<arg name="error" type="q" direction="out" />
</method>
@@ -106,7 +108,7 @@
<arg name="error" type="i" direction="out" />
</method>
<method name="registerSource">
- <arg name="sourceData" type="(qqsqqnb(nn)qa(nn)ana(nn))" direction="in" /> <!-- am_sourceID_t sourceID; am_domainID_t domainID; std::string name; am_sourceClass_t sourceClassID; am_SourceState_e sourceState; am_volume_t volume; bool visible; am_Availability_s available; am_InterruptState_e interruptState; std::vector<am_SoundProperty_s> listSoundProperties; std::vector<am_ConnectionFormat_e> listConnectionFormats; std::vector<am_MainSoundProperty_s> listMainSoundProperties; -->
+ <arg name="sourceData" type="(qqsqinb(ii)qa(in)aia(in)a(iin)a(iin))" direction="in" /> <!-- am_sourceID_t sourceID; am_domainID_t domainID; std::string name; am_sourceClass_t sourceClassID; am_SourceState_e sourceState; am_volume_t volume; bool visible; am_Availability_s available; am_InterruptState_e interruptState; std::vector<am_SoundProperty_s> listSoundProperties; std::vector<am_ConnectionFormat_e> listConnectionFormats; std::vector<am_MainSoundProperty_s> listMainSoundProperties; -->
<arg name="sourceID" type="q" direction="out" />
<arg name="error" type="i" direction="out" />
</method>
@@ -166,6 +168,48 @@
<method name="confirmRoutingRundown">
<arg name="domainID" type="q" direction="in" />
</method>
+ <method name="updateGateway">
+ <arg name="gatewayID" type="q" direction="in" />
+ <arg name="listSourceFormats" type="a(q)" direction="in" />
+ <arg name="listSinkFormats" type="a(q)" direction="in" />
+ <arg name="conversionMatrix" type="a(b)" direction="in" />
+ </method>
+ <method name="updateSink">
+ <arg name="sinkID" type="q" direction="in" />
+ <arg name="sinkClassID" type="q" direction="in" />
+ <arg name="listSoundProperties" type="a(nn)" direction="in" />
+ <arg name="listConnectionFormats" type="a(q)" direction="in" />
+ <arg name="listMainSoundProperties" type="a(nn)" direction="in" />
+ </method>
+ <method name="updateSource">
+ <arg name="sourceID" type="q" direction="in" />
+ <arg name="sourceClassID" type="q" direction="in" />
+ <arg name="listSoundProperties" type="a(nn)" direction="in" />
+ <arg name="listConnectionFormats" type="a(q)" direction="in" />
+ <arg name="listMainSoundProperties" type="a(nn)" direction="in" />
+ </method>
+ <method name="ackSetVolumes">
+ <arg name="handle" type="q" direction="in" />
+ <arg name="listvolumes" type="a(nqqnq)" direction="in" />
+ <arg name="error" type="q" direction="in" />
+ </method>
+ <method name="ackSinkNotificationConfiguration">
+ <arg name="handle" type="q" direction="in" />
+ <arg name="error" type="q" direction="in" />
+ </method>
+ <method name="ackSourceNotificationConfiguration">
+ <arg name="handle" type="q" direction="in" />
+ <arg name="error" type="q" direction="in" />
+ </method>
+ <method name="hookSinkNotificationDataChange">
+ <arg name="sinkID" type="q" direction="in" />
+ <arg name="payload" type="(nn)" direction="in" />
+ </method>
+ <method name="hookSourceNotificationDataChange">
+ <arg name="sourceID" type="q" direction="in" />
+ <arg name="payload" type="(nn)" direction="in" />
+ </method>
+
<signal name="setRoutingReady">
</signal>
<signal name="setRoutingRundown">
diff --git a/PluginRoutingInterfaceDbus/include/RoutingSender.xml b/PluginRoutingInterfaceDbus/include/RoutingSender.xml
index d6fb2ea..adfc5ad 100644
--- a/PluginRoutingInterfaceDbus/include/RoutingSender.xml
+++ b/PluginRoutingInterfaceDbus/include/RoutingSender.xml
@@ -14,72 +14,62 @@
<arg name='connectionID' type='q' direction='in' />
<arg name='sourceID' type='q' direction='in' />
<arg name='sinkID' type='q' direction='in' />
- <arg name='connectionFormat' type='n' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='connectionFormat' type='i' direction='in' />
</method>
<method name='asyncDisconnect'>
<arg name='handle' type='q' direction='in' />
- <arg name='connectionID' type='q' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='connectionID' type='q' direction='in' />
</method>
<method name='asyncSetSinkVolume'>
<arg name='handle' type='q' direction='in' />
<arg name='sinkID' type='q' direction='in' />
<arg name='volume' type='n' direction='in' />
<arg name='ramp' type='n' direction='in' />
- <arg name='time' type='q' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='time' type='q' direction='in' />
</method>
<method name='asyncSetSourceVolume'>
<arg name='handle' type='q' direction='in' />
<arg name='sourceID' type='q' direction='in' />
<arg name='volume' type='n' direction='in' />
<arg name='ramp' type='n' direction='in' />
- <arg name='time' type='q' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='time' type='q' direction='in' />
</method>
<method name='asyncSetSourceState'>
<arg name='handle' type='q' direction='in' />
<arg name='sourceID' type='q' direction='in' />
- <arg name='sourceState' type='n' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='sourceState' type='i' direction='in' />
</method>
<method name='asyncSetSinkSoundProperties'>
<arg name='handle' type='q' direction='in' />
<arg name='sinkID' type='q' direction='in' />
- <arg name='listSoundProperties' type='a(nn)' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='listSoundProperties' type='a(nn)' direction='in' />
</method>
<method name='asyncSetSinkSoundProperty'>
<arg name='handle' type='q' direction='in' />
<arg name='sinkID' type='q' direction='in' />
- <arg name='soundProperty' type='(nn)' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='soundProperty' type='(nn)' direction='in' />
</method>
<method name='asyncSetSourceSoundProperty'>
<arg name='handle' type='q' direction='in' />
<arg name='sourceID' type='q' direction='in' />
- <arg name='soundProperty' type='(nn)' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='soundProperty' type='(nn)' direction='in' />
</method>
<method name='asyncSetSourceSoundProperties'>
<arg name='handle' type='q' direction='in' />
<arg name='sourceID' type='q' direction='in' />
- <arg name='listSoundProperties' type='a(nn)' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='listSoundProperties' type='a(nn)' direction='in' />
</method>
<method name='asyncCrossFade'>
<arg name='handle' type='q' direction='in' />
<arg name='crossfaderID' type='q' direction='in' />
<arg name='hotSink' type='q' direction='in' />
<arg name='rampType' type='q' direction='in' />
- <arg name='time' type='q' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='time' type='q' direction='in' />
</method>
<method name='setDomainState'>
<arg name='domainID' type='q' direction='in' />
<arg name='domainState' type='q' direction='in' />
- <arg name='error' type='n' direction='out' />
+ <arg name='error' type='i' direction='out' />
</method>
</interface>
</node>
diff --git a/PluginRoutingInterfaceDbus/include/configRoutingDbus.h b/PluginRoutingInterfaceDbus/include/configRoutingDbus.h
index 2420184..aa95328 100644
--- a/PluginRoutingInterfaceDbus/include/configRoutingDbus.h
+++ b/PluginRoutingInterfaceDbus/include/configRoutingDbus.h
@@ -1,6 +1,6 @@
#ifndef _ROUTINGDBUS_CONFIG_H
#define _ROUTINGDBUS_CONFIG_H
-#define ROUTING_DBUS_INTROSPECTION_FILE "/home/christian/workspace/AudioManager/bin/RoutingReceiver.xml"
+#define ROUTING_DBUS_INTROSPECTION_FILE "/home/genius/workspace/workspace/AudioManager/bin/RoutingReceiver.xml"
#endif /* _ROUTINGDBUS_CONFIG_H */
diff --git a/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp b/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp
index 2591012..096dfbf 100644
--- a/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp
+++ b/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp
@@ -262,7 +262,7 @@ double CAmRoutingDbusMessageHandler::getDouble()
return (getDouble(mDBusMessageIter, true));
}
-am::am_Availability_s CAmRoutingDbusMessageHandler::getAvailability()
+am_Availability_s CAmRoutingDbusMessageHandler::getAvailability()
{
am::am_Availability_s availability;
availability.availability=A_UNKNOWN;
@@ -352,7 +352,7 @@ am_Domain_s CAmRoutingDbusMessageHandler::getDomainData()
domainData.nodename = getString(domainDataIter, true);
domainData.early = getBool(domainDataIter, true);
domainData.complete = getBool(domainDataIter, true);
- domainData.state = static_cast<am_DomainState_e>(getUInt(domainDataIter, false));
+ domainData.state = static_cast<am_DomainState_e>(getInt32(domainDataIter, false));
dbus_message_iter_next(&mDBusMessageIter);
}
return (domainData);
@@ -365,6 +365,8 @@ am_Source_s CAmRoutingDbusMessageHandler::getSourceData()
am_SoundProperty_s soundProperty;
am_ConnectionFormat_e connectionFormat;
am_MainSoundProperty_s mainSoundProperty;
+ am_NotificationConfiguration_s notificationConfiguration;
+ am_NotificationConfiguration_s MainnotificationConfiguration;
if (DBUS_TYPE_STRUCT != dbus_message_iter_get_arg_type(&mDBusMessageIter))
{
@@ -379,19 +381,19 @@ am_Source_s CAmRoutingDbusMessageHandler::getSourceData()
sourceData.domainID = static_cast<am_domainID_t>(getUInt(sourceDataIter, true));
sourceData.name = getString(sourceDataIter, true);
sourceData.sourceClassID = static_cast<am_sourceClass_t>(getUInt(sourceDataIter, true));
- sourceData.sourceState = static_cast<am_SourceState_e>(getUInt(sourceDataIter, true));
+ sourceData.sourceState = static_cast<am_SourceState_e>(getInt32(sourceDataIter, true));
sourceData.volume = static_cast<am_volume_t>(getInt(sourceDataIter, true));
sourceData.visible = getBool(sourceDataIter, true);
dbus_message_iter_recurse(&sourceDataIter, &availIter);
- sourceData.available.availability = static_cast<am_Availability_e>(getInt(availIter, true));
- sourceData.available.availabilityReason = static_cast<am_AvailabilityReason_e>(getInt(availIter, false));
+ sourceData.available.availability = static_cast<am_Availability_e>(getInt32(availIter, true));
+ sourceData.available.availabilityReason = static_cast<am_AvailabilityReason_e>(getInt32(availIter, false));
dbus_message_iter_next(&sourceDataIter);
- sourceData.interruptState = static_cast<am_InterruptState_e>(getUInt(sourceDataIter, true));
+ sourceData.interruptState = static_cast<am_InterruptState_e>(getInt32(sourceDataIter, true));
dbus_message_iter_recurse(&sourceDataIter, &arrayIter);
do
{
dbus_message_iter_recurse(&arrayIter, &structIter);
- soundProperty.type = static_cast<am_SoundPropertyType_e>(getInt(structIter, true));
+ soundProperty.type = static_cast<am_SoundPropertyType_e>(getInt32(structIter, true));
soundProperty.value = static_cast<int16_t>(getInt(structIter, false));
sourceData.listSoundProperties.push_back(soundProperty);
} while (dbus_message_iter_next(&arrayIter));
@@ -399,7 +401,7 @@ am_Source_s CAmRoutingDbusMessageHandler::getSourceData()
dbus_message_iter_recurse(&sourceDataIter, &arrayIter);
do
{
- connectionFormat = static_cast<am_ConnectionFormat_e>(getInt(arrayIter, false));
+ connectionFormat = static_cast<am_ConnectionFormat_e>(getInt32(arrayIter, false));
sourceData.listConnectionFormats.push_back(connectionFormat);
} while (dbus_message_iter_next(&arrayIter));
dbus_message_iter_next(&sourceDataIter);
@@ -408,10 +410,32 @@ am_Source_s CAmRoutingDbusMessageHandler::getSourceData()
do
{
dbus_message_iter_recurse(&arrayIter, &structIter);
- mainSoundProperty.type = static_cast<am_MainSoundPropertyType_e>(getInt(structIter, true));
+ mainSoundProperty.type = static_cast<am_MainSoundPropertyType_e>(getInt32(structIter, true));
mainSoundProperty.value = static_cast<int16_t>(getInt(structIter, false));
sourceData.listMainSoundProperties.push_back(mainSoundProperty);
} while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&sourceDataIter);
+
+ dbus_message_iter_recurse(&sourceDataIter, &arrayIter);
+ do
+ {
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ MainnotificationConfiguration.type = static_cast<am_NotificationType_e>(getInt32(structIter, true));
+ MainnotificationConfiguration.parameter = static_cast<int16_t>(getInt(structIter, false));
+ MainnotificationConfiguration.status = static_cast<am_NotificationStatus_e>(getInt32(structIter, true));
+ sourceData.listMainNotificationConfigurations.push_back(MainnotificationConfiguration);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&sourceDataIter);
+
+ dbus_message_iter_recurse(&sourceDataIter, &arrayIter);
+ do
+ {
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ notificationConfiguration.type = static_cast<am_NotificationType_e>(getInt32(structIter, true));
+ notificationConfiguration.parameter = static_cast<int16_t>(getInt(structIter, false));
+ notificationConfiguration.status = static_cast<am_NotificationStatus_e>(getInt32(structIter, true));
+ sourceData.listNotificationConfigurations.push_back(notificationConfiguration);
+ } while (dbus_message_iter_next(&arrayIter));
dbus_message_iter_next(&mDBusMessageIter);
}
return (sourceData);
@@ -424,6 +448,8 @@ am_Sink_s CAmRoutingDbusMessageHandler::getSinkData()
am_SoundProperty_s soundProperty;
am_ConnectionFormat_e connectionFormat;
am_MainSoundProperty_s mainSoundProperty;
+ am_NotificationConfiguration_s notificationConfiguration;
+ am_NotificationConfiguration_s MainnotificationConfiguration;
if (DBUS_TYPE_STRUCT != dbus_message_iter_get_arg_type(&mDBusMessageIter))
{
@@ -441,17 +467,17 @@ am_Sink_s CAmRoutingDbusMessageHandler::getSinkData()
sinkData.volume = static_cast<am_volume_t>(getInt(sinkDataIter, true));
sinkData.visible = getBool(sinkDataIter, true);
dbus_message_iter_recurse(&sinkDataIter, &availIter);
- sinkData.available.availability = static_cast<am_Availability_e>(getInt(availIter, true));
- sinkData.available.availabilityReason = static_cast<am_AvailabilityReason_e>(getInt(availIter, false));
+ sinkData.available.availability = static_cast<am_Availability_e>(getInt32(availIter, true));
+ sinkData.available.availabilityReason = static_cast<am_AvailabilityReason_e>(getInt32(availIter, false));
dbus_message_iter_next(&sinkDataIter);
- sinkData.muteState = static_cast<am_MuteState_e>(getInt(sinkDataIter, true));
+ sinkData.muteState = static_cast<am_MuteState_e>(getInt32(sinkDataIter, true));
sinkData.mainVolume = static_cast<am_mainVolume_t>(getInt(sinkDataIter, true));
dbus_message_iter_recurse(&sinkDataIter, &arrayIter);
do
{
dbus_message_iter_recurse(&arrayIter, &structIter);
- soundProperty.type = static_cast<am_SoundPropertyType_e>(getInt(structIter, true));
+ soundProperty.type = static_cast<am_SoundPropertyType_e>(getInt32(structIter, true));
soundProperty.value = static_cast<int16_t>(getInt(structIter, false));
sinkData.listSoundProperties.push_back(soundProperty);
} while (dbus_message_iter_next(&arrayIter));
@@ -461,19 +487,41 @@ am_Sink_s CAmRoutingDbusMessageHandler::getSinkData()
dbus_message_iter_recurse(&sinkDataIter, &arrayIter);
do
{
- connectionFormat = static_cast<am_ConnectionFormat_e>(getInt(arrayIter, false));
+ connectionFormat = static_cast<am_ConnectionFormat_e>(getInt32(arrayIter, false));
sinkData.listConnectionFormats.push_back(connectionFormat);
} while (dbus_message_iter_next(&arrayIter));
dbus_message_iter_next(&sinkDataIter);
- dbus_message_iter_recurse(&sinkDataIter, &arrayIter);
- do
- {
- dbus_message_iter_recurse(&arrayIter, &structIter);
- mainSoundProperty.type = static_cast<am_MainSoundPropertyType_e>(getInt(structIter, true));
- mainSoundProperty.value = static_cast<int16_t>(getInt(structIter, false));
- sinkData.listMainSoundProperties.push_back(mainSoundProperty);
- } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_recurse(&sinkDataIter, &arrayIter);
+ do
+ {
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ mainSoundProperty.type = static_cast<am_MainSoundPropertyType_e>(getInt32(structIter, true));
+ mainSoundProperty.value = static_cast<int16_t>(getInt(structIter, false));
+ sinkData.listMainSoundProperties.push_back(mainSoundProperty);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&sinkDataIter);
+
+ dbus_message_iter_recurse(&sinkDataIter, &arrayIter);
+ do
+ {
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ MainnotificationConfiguration.type = static_cast<am_NotificationType_e>(getInt32(structIter, true));
+ MainnotificationConfiguration.parameter = static_cast<int16_t>(getInt(structIter, false));
+ MainnotificationConfiguration.status = static_cast<am_NotificationStatus_e>(getInt32(structIter, true));
+ sinkData.listMainNotificationConfigurations.push_back(MainnotificationConfiguration);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&sinkDataIter);
+
+ dbus_message_iter_recurse(&sinkDataIter, &arrayIter);
+ do
+ {
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ notificationConfiguration.type = static_cast<am_NotificationType_e>(getInt32(structIter, true));
+ notificationConfiguration.parameter = static_cast<int16_t>(getInt(structIter, false));
+ notificationConfiguration.status = static_cast<am_NotificationStatus_e>(getInt32(structIter, true));
+ sinkData.listNotificationConfigurations.push_back(notificationConfiguration);
+ } while (dbus_message_iter_next(&arrayIter));
dbus_message_iter_next(&mDBusMessageIter);
}
return (sinkData);
@@ -504,14 +552,14 @@ am_Gateway_s CAmRoutingDbusMessageHandler::getGatewayData()
do
{
dbus_message_iter_recurse(&gatewayDataIter, &arrayIter);
- connectionFormat = static_cast<am_ConnectionFormat_e>(getUInt(arrayIter, false));
+ connectionFormat = static_cast<am_ConnectionFormat_e>(getInt32(arrayIter, false));
gatewayData.listSourceFormats.push_back(connectionFormat);
} while (dbus_message_iter_next(&arrayIter));
dbus_message_iter_next(&gatewayDataIter);
do
{
dbus_message_iter_recurse(&gatewayDataIter, &arrayIter);
- connectionFormat = static_cast<am_ConnectionFormat_e>(getUInt(arrayIter, false));
+ connectionFormat = static_cast<am_ConnectionFormat_e>(getInt32(arrayIter, false));
gatewayData.listSinkFormats.push_back(connectionFormat);
} while (dbus_message_iter_next(&arrayIter));
dbus_message_iter_next(&gatewayDataIter);
@@ -898,6 +946,160 @@ void CAmRoutingDbusMessageHandler::append(const std::vector<am::am_SinkClass_s>&
}
}
+std::vector<am_ConnectionFormat_e> CAmRoutingDbusMessageHandler::getListconnectionFormats()
+{
+ DBusMessageIter arrayIter;
+ std::vector<am_ConnectionFormat_e> listConnectionFormats;
+ if (DBUS_TYPE_ARRAY != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+ {
+ log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingDbusMessageHandler::getListconnectionFormats DBUS handler argument is no array!");
+ mErrorName = std::string(DBUS_ERROR_INVALID_ARGS);
+ mErrorMsg = "DBus argument is no array";
+ }
+ else
+ {
+ do
+ {
+ dbus_message_iter_recurse(&mDBusMessageIter, &arrayIter);
+ am_ConnectionFormat_e connectionformat(static_cast<am_ConnectionFormat_e>(getUInt(arrayIter, false)));
+ listConnectionFormats.push_back(connectionformat);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&mDBusMessageIter);
+ }
+ return (listConnectionFormats);
+
+}
+
+std::vector<bool> CAmRoutingDbusMessageHandler::getListBool()
+{
+ DBusMessageIter arrayIter;
+ std::vector<bool> listBools;
+ if (DBUS_TYPE_ARRAY != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+ {
+ log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingDbusMessageHandler::getListBool DBUS handler argument is no array!");
+ mErrorName = std::string(DBUS_ERROR_INVALID_ARGS);
+ mErrorMsg = "DBus argument is no array";
+ }
+ else
+ {
+ do
+ {
+ dbus_message_iter_recurse(&mDBusMessageIter, &arrayIter);
+ bool myBool(static_cast<bool>(getBool(arrayIter, false)));
+ listBools.push_back(myBool);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&mDBusMessageIter);
+ }
+ return (listBools);
+}
+
+am_SoundProperty_s CAmRoutingDbusMessageHandler::getSoundProperty()
+{
+ am_SoundProperty_s soundProperty;
+ DBusMessageIter structIter;
+
+ dbus_message_iter_recurse(&mDBusMessageIter, &structIter);
+ soundProperty.type = static_cast<am_SoundPropertyType_e>(getInt(structIter, true));
+ soundProperty.value = static_cast<int16_t>(getInt(structIter, false));
+ dbus_message_iter_next(&mDBusMessageIter);
+
+ return(soundProperty);
+}
+
+std::vector<am_SoundProperty_s> CAmRoutingDbusMessageHandler::getListSoundProperties()
+{
+ DBusMessageIter arrayIter;
+ DBusMessageIter structIter;
+ am_SoundProperty_s soundProperty;
+ std::vector<am_SoundProperty_s> listSoundProperties;
+ if (DBUS_TYPE_ARRAY != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+ {
+ log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingDbusMessageHandler::getListSoundProperties DBUS handler argument is no array!");
+ mErrorName = std::string(DBUS_ERROR_INVALID_ARGS);
+ mErrorMsg = "DBus argument is no array";
+ }
+ else
+ {
+ do
+ {
+ dbus_message_iter_recurse(&mDBusMessageIter, &arrayIter);
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ soundProperty.type = static_cast<am_SoundPropertyType_e>(getInt(structIter, true));
+ soundProperty.value = static_cast<int16_t>(getInt(structIter, false));
+ listSoundProperties.push_back(soundProperty);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&structIter);
+ }
+ return (listSoundProperties);
+}
+
+std::vector<am_MainSoundProperty_s> CAmRoutingDbusMessageHandler::getListMainSoundProperties()
+{
+ DBusMessageIter arrayIter;
+ DBusMessageIter structIter;
+ am_MainSoundProperty_s soundProperty;
+ std::vector<am_MainSoundProperty_s> listSoundProperties;
+ if (DBUS_TYPE_ARRAY != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+ {
+ log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingDbusMessageHandler::getListSoundProperties DBUS handler argument is no array!");
+ mErrorName = std::string(DBUS_ERROR_INVALID_ARGS);
+ mErrorMsg = "DBus argument is no array";
+ }
+ else
+ {
+ do
+ {
+ dbus_message_iter_recurse(&mDBusMessageIter, &arrayIter);
+ dbus_message_iter_recurse(&arrayIter, &structIter);
+ soundProperty.type = static_cast<am_MainSoundPropertyType_e>(getInt(structIter, true));
+ soundProperty.value = static_cast<int16_t>(getInt(structIter, false));
+ listSoundProperties.push_back(soundProperty);
+ } while (dbus_message_iter_next(&arrayIter));
+ dbus_message_iter_next(&structIter);
+ }
+ return (listSoundProperties);
+}
+
+am_NotificationPayload_s CAmRoutingDbusMessageHandler::getNotificationPayload()
+{
+ am_NotificationPayload_s notificationPayload;
+ DBusMessageIter structIter;
+
+ dbus_message_iter_recurse(&mDBusMessageIter, &structIter);
+ notificationPayload.type = static_cast<am_NotificationType_e>(getInt(structIter, true));
+ notificationPayload.value = static_cast<int16_t>(getInt(structIter, false));
+ dbus_message_iter_next(&mDBusMessageIter);
+
+ return (notificationPayload);
+}
+
+dbus_int32_t CAmRoutingDbusMessageHandler::getInt32()
+{
+ return (getInt32(mDBusMessageIter, true));
+}
+
+dbus_int32_t CAmRoutingDbusMessageHandler::getInt32(DBusMessageIter& iter, bool next)
+{
+ dbus_int32_t param(0);
+ #ifdef GLIB_DBUS_TYPES_TOLERANT
+ if (DBUS_TYPE_INT32 != dbus_message_iter_get_arg_type(&iter) && DBUS_TYPE_INT32 != dbus_message_iter_get_arg_type(&iter))
+ #else
+ if (DBUS_TYPE_INT32 != dbus_message_iter_get_arg_type(&iter))
+ #endif
+ {
+ log(&routingDbus, DLT_LOG_ERROR, "DBusMessageHandler::getInt DBUS handler argument is no int32_t!");
+ mErrorName = std::string(DBUS_ERROR_INVALID_ARGS);
+ mErrorMsg = "DBus argument is no int32_t";
+ }
+ else
+ {
+ dbus_message_iter_get_basic(&iter, &param);
+ if (next)
+ dbus_message_iter_next(&iter);
+ }
+ return (param);
+}
+
void CAmRoutingDbusMessageHandler::append(const std::vector<am::am_SystemProperty_s>& listSystemProperties)
{
DBusMessageIter arrayIter;
@@ -923,7 +1125,7 @@ void CAmRoutingDbusMessageHandler::append(const std::vector<am::am_SystemPropert
void CAmRoutingDbusMessageHandler::append(const am::am_Error_e error)
{
- if (!dbus_message_iter_append_basic(&mDBusMessageIter, DBUS_TYPE_UINT16, &error))
+ if (!dbus_message_iter_append_basic(&mDBusMessageIter, DBUS_TYPE_INT32, &error))
{
log(&routingDbus, DLT_LOG_ERROR, "DBusMessageHandler::append Cannot allocate DBus message!");
mErrorName = std::string(DBUS_ERROR_NO_MEMORY);
diff --git a/PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp b/PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp
index 765bc1d..e3bb371 100644
--- a/PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp
+++ b/PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp
@@ -29,7 +29,8 @@ CAmRoutingDbusSend::CAmRoutingDbusSend(DBusConnection* conn, std::string bus_nam
mpDbusMessage(NULL), //
mpDbusConnection(conn), //
mDbusMessageIter(), //
- mDBusError()
+ mDBusError(), //
+ mSerial(1)
{
dbus_error_init(&mDBusError);
mpDbusMessage = dbus_message_new_method_call(bus_name.c_str(), path.c_str(), interface.c_str(), method.c_str());
@@ -113,10 +114,20 @@ void CAmRoutingDbusSend::append(am_SoundProperty_s soundProperty)
}
}
+void CAmRoutingDbusSend::append(int integer)
+{
+ dbus_message_iter_init_append(mpDbusMessage, &mDbusMessageIter);
+ if (!dbus_message_iter_append_basic(&mDbusMessageIter, DBUS_TYPE_INT32, &integer))
+ {
+ log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingDbusSend::append no more memory");
+ this->~CAmRoutingDbusSend();
+ }
+}
+
am_Error_e CAmRoutingDbusSend::send()
{
- int16_t error;
+ int32_t error;
DBusMessage* reply(dbus_connection_send_with_reply_and_block(mpDbusConnection, mpDbusMessage, -1, &mDBusError));
if (!reply)
{
@@ -124,10 +135,20 @@ am_Error_e CAmRoutingDbusSend::send()
return (E_UNKNOWN);
}
if(!dbus_message_get_args(reply, &mDBusError, //
- DBUS_TYPE_INT16, &error, //
+ DBUS_TYPE_INT32, &error, //
DBUS_TYPE_INVALID))
return (E_UNKNOWN);
dbus_message_unref(reply);
return (static_cast<am_Error_e>(error));
}
+
+am_Error_e CAmRoutingDbusSend::sendAsync()
+{
+
+ dbus_connection_send(mpDbusConnection, mpDbusMessage, &mSerial);
+ mSerial++;
+ return (E_OK);
+
+}
+
}
diff --git a/PluginRoutingInterfaceDbus/src/CAmRoutingSenderDbus.cpp b/PluginRoutingInterfaceDbus/src/CAmRoutingSenderDbus.cpp
index 078f47a..706cbd6 100644
--- a/PluginRoutingInterfaceDbus/src/CAmRoutingSenderDbus.cpp
+++ b/PluginRoutingInterfaceDbus/src/CAmRoutingSenderDbus.cpp
@@ -116,10 +116,10 @@ am_Error_e CAmRoutingSenderDbus::asyncConnect(const am_Handle_s handle, const am
send.append(connectionID);
send.append(sourceID);
send.append(sinkID);
- send.append(static_cast<int16_t>(connectionFormat));
+ send.append(static_cast<int32_t>(connectionFormat));
mMapConnections.insert(std::make_pair(connectionID, (iter->second)));
mMapHandles.insert(std::make_pair(+handle.handle, iter->second));
- return (send.send());
+ return (send.sendAsync());
}
log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingSenderDbus::asyncConnect could not find interface");
return (E_UNKNOWN);
@@ -136,7 +136,7 @@ am_Error_e CAmRoutingSenderDbus::asyncDisconnect(const am_Handle_s handle, const
send.append(handle.handle);
send.append(connectionID);
mMapHandles.insert(std::make_pair(+handle.handle, iter->second));
- return (send.send());
+ return (send.sendAsync());
}
log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingSenderDbus::asyncDisconnect could not find interface");
return (E_UNKNOWN);
@@ -153,7 +153,7 @@ am_Error_e CAmRoutingSenderDbus::asyncSetSinkVolume(const am_Handle_s handle, co
send.append(handle.handle);
send.append(sinkID);
send.append(volume);
- send.append(static_cast<int16_t>(ramp));
+ send.append(static_cast<int32_t>(ramp));
send.append(time);
mMapHandles.insert(std::make_pair(+handle.handle, iter->second));
return (send.send());
@@ -192,9 +192,9 @@ am_Error_e CAmRoutingSenderDbus::asyncSetSourceState(const am_Handle_s handle, c
CAmRoutingDbusSend send(mpDBusConnection, iter->second.busname, iter->second.path, iter->second.interface, "asyncSetSourceState");
send.append(handle.handle);
send.append(sourceID);
- send.append(static_cast<int16_t>(state));
+ send.append(static_cast<int32_t>(state));
mMapHandles.insert(std::make_pair(+handle.handle, iter->second));
- return (send.send());
+ return (send.sendAsync());
}
log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingSenderDbus::asyncSetSourceState could not find interface");
return (E_UNKNOWN);
@@ -292,7 +292,7 @@ am_Error_e CAmRoutingSenderDbus::setDomainState(const am_domainID_t domainID, co
{
CAmRoutingDbusSend send(mpDBusConnection, iter->second.busname, iter->second.path, iter->second.interface, "setDomainState");
send.append(domainID);
- send.append(static_cast<int16_t>(domainState));
+ send.append(static_cast<int>(domainState));
return (send.send());
}
log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingSenderDbus::setDomainState could not find interface");
diff --git a/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp b/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp
index 5ba1c34..5f600be 100644
--- a/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp
+++ b/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp
@@ -704,7 +704,12 @@ void IAmRoutingReceiverShadowDbus::confirmRoutingRundown(DBusConnection* conn, D
mNumberDomains--;
if(mNumberDomains==0)
- mRoutingReceiveInterface->confirmRoutingReady(mHandle,E_OK);
+ {
+ logInfo("sending out");
+ mRoutingReceiveInterface->confirmRoutingRundown(mHandle,E_OK);
+ }
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.sendMessage();
}
void IAmRoutingReceiverShadowDbus::gotReady(int16_t numberDomains, uint16_t handle)
@@ -718,6 +723,142 @@ void IAmRoutingReceiverShadowDbus::gotRundown(int16_t numberDomains, uint16_t ha
mHandle=handle;
}
+void IAmRoutingReceiverShadowDbus::updateGateway(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ am_gatewayID_t gatewayID(mDBUSMessageHandler.getInt());
+ std::vector<am_ConnectionFormat_e> listSourceConnectionFormats(mDBUSMessageHandler.getListconnectionFormats());
+ std::vector<am_ConnectionFormat_e> listSinkConnectionFormats(mDBUSMessageHandler.getListconnectionFormats());
+ std::vector<bool> convertionMatrix(mDBUSMessageHandler.getListBool());
+
+ am_Error_e returnCode = mRoutingReceiveInterface->updateGateway(gatewayID,listSourceConnectionFormats,listSinkConnectionFormats,convertionMatrix);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.append(returnCode);
+ mDBUSMessageHandler.sendMessage();
+ if (returnCode != E_OK)
+ {
+ log(&routingDbus, DLT_LOG_INFO, "error updateGateway");
+ return;
+ }
+}
+
+void IAmRoutingReceiverShadowDbus::updateSink(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ am_sinkID_t sinkID(mDBUSMessageHandler.getInt());
+ am_sinkClass_t sinkClassID(mDBUSMessageHandler.getInt());
+ std::vector<am_SoundProperty_s> listSoundProperties(mDBUSMessageHandler.getListSoundProperties());
+ std::vector<am_ConnectionFormat_e> listSinkConnectionFormats(mDBUSMessageHandler.getListconnectionFormats());
+ std::vector<am_MainSoundProperty_s> listMainSoundProperties(mDBUSMessageHandler.getListMainSoundProperties());
+
+ am_Error_e returnCode = mRoutingReceiveInterface->updateSink(sinkID,sinkClassID,listSoundProperties,listSinkConnectionFormats,listMainSoundProperties);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.append(returnCode);
+ mDBUSMessageHandler.sendMessage();
+ if (returnCode != E_OK)
+ {
+ log(&routingDbus, DLT_LOG_INFO, "error updateSink");
+ return;
+ }
+}
+
+void IAmRoutingReceiverShadowDbus::updateSource(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ am_sourceID_t sourceID(mDBUSMessageHandler.getInt());
+ am_sourceClass_t sourceClassID(mDBUSMessageHandler.getInt());
+ std::vector<am_SoundProperty_s> listSoundProperties(mDBUSMessageHandler.getListSoundProperties());
+ std::vector<am_ConnectionFormat_e> listSinkConnectionFormats(mDBUSMessageHandler.getListconnectionFormats());
+ std::vector<am_MainSoundProperty_s> listMainSoundProperties(mDBUSMessageHandler.getListMainSoundProperties());
+
+ am_Error_e returnCode = mRoutingReceiveInterface->updateSource(sourceID,sourceClassID,listSoundProperties,listSinkConnectionFormats,listMainSoundProperties);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.append(returnCode);
+ mDBUSMessageHandler.sendMessage();
+ if (returnCode != E_OK)
+ {
+ log(&routingDbus, DLT_LOG_INFO, "error updateSink");
+ return;
+ }
+}
+
+void IAmRoutingReceiverShadowDbus::ackSetVolumes(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ am_Error_e returnCode(am_Error_e::E_NOT_USED);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.append(returnCode);
+ mDBUSMessageHandler.sendMessage();
+ log(&routingDbus, DLT_LOG_INFO, "error ackSetVolumes was called - not implemented yet");
+ return;
+}
+
+void IAmRoutingReceiverShadowDbus::ackSinkNotificationConfiguration(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ uint16_t handle(mDBUSMessageHandler.getUInt());
+ am_Error_e error((am_Error_e)((mDBUSMessageHandler.getUInt())));
+ log(&routingDbus, DLT_LOG_INFO, "IAmRoutingReceiverShadow::ackSinkNotificationConfiguration called, handle", handle, "error", error);
+ am_Handle_s myhandle;
+ myhandle.handleType = H_CONNECT;
+ myhandle.handle = handle;
+ mRoutingReceiveInterface->ackSinkNotificationConfiguration(myhandle, error);
+ mpRoutingSenderDbus->removeHandle(handle);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.sendMessage();
+}
+
+void IAmRoutingReceiverShadowDbus::ackSourceNotificationConfiguration(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ uint16_t handle(mDBUSMessageHandler.getUInt());
+ am_Error_e error((am_Error_e)((mDBUSMessageHandler.getUInt())));
+ log(&routingDbus, DLT_LOG_INFO, "IAmRoutingReceiverShadow::ackSourceNotificationConfiguration called, handle", handle, "error", error);
+ am_Handle_s myhandle;
+ myhandle.handleType = H_CONNECT;
+ myhandle.handle = handle;
+ mRoutingReceiveInterface->ackSourceNotificationConfiguration(myhandle, error);
+ mpRoutingSenderDbus->removeHandle(handle);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.sendMessage();
+}
+
+void IAmRoutingReceiverShadowDbus::hookSinkNotificationDataChange(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ am_sinkID_t sinkID(mDBUSMessageHandler.getUInt());
+ am_NotificationPayload_s payload(mDBUSMessageHandler.getNotificationPayload());
+ log(&routingDbus, DLT_LOG_INFO, "IAmRoutingReceiverShadow::hookSinkNotificationDataChange called, sinkID", sinkID);
+ mRoutingReceiveInterface->hookSinkNotificationDataChange(sinkID, payload);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.sendMessage();
+}
+
+void IAmRoutingReceiverShadowDbus::hookSourceNotificationDataChange(DBusConnection* conn, DBusMessage* msg)
+{
+ (void) ((conn));
+ assert(mRoutingReceiveInterface != NULL);
+ mDBUSMessageHandler.initReceive(msg);
+ am_sourceID_t sourceID(mDBUSMessageHandler.getUInt());
+ am_NotificationPayload_s payload(mDBUSMessageHandler.getNotificationPayload());
+ log(&routingDbus, DLT_LOG_INFO, "IAmRoutingReceiverShadow::hookSourceNotificationDataChange called, sourceID", sourceID);
+ mRoutingReceiveInterface->hookSourceNotificationDataChange(sourceID, payload);
+ mDBUSMessageHandler.initReply(msg);
+ mDBUSMessageHandler.sendMessage();
+}
+
IAmRoutingReceiverShadowDbus::functionMap_t IAmRoutingReceiverShadowDbus::createMap()
{
functionMap_t m;
@@ -757,6 +898,11 @@ IAmRoutingReceiverShadowDbus::functionMap_t IAmRoutingReceiverShadowDbus::create
m["sendChangedData"] = &IAmRoutingReceiverShadowDbus::sendChangedData;
m["confirmRoutingReady"] = &IAmRoutingReceiverShadowDbus::confirmRoutingReady;
m["confirmRoutingRundown"] = &IAmRoutingReceiverShadowDbus::confirmRoutingRundown;
+ m["ackSetVolumes"] = &IAmRoutingReceiverShadowDbus::ackSetVolumes;
+ m["ackSinkNotificationConfiguration"] = &IAmRoutingReceiverShadowDbus::ackSinkNotificationConfiguration;
+ m["ackSourceNotificationConfiguration"] = &IAmRoutingReceiverShadowDbus::ackSourceNotificationConfiguration;
+ m["hookSinkNotificationDataChange"] = &IAmRoutingReceiverShadowDbus::hookSinkNotificationDataChange;
+ m["hookSourceNotificationDataChange"] = &IAmRoutingReceiverShadowDbus::hookSourceNotificationDataChange;
return (m);
}
}