diff options
author | Aleksandar Donchev <Aleksander.Donchev@partner.bmw.de> | 2014-08-26 18:15:19 +0200 |
---|---|---|
committer | Christian Linke <christian.linke@bmw.de> | 2014-11-05 18:35:35 +0100 |
commit | 57c2f4ea0148287d0bcea913cb34ba716489df4b (patch) | |
tree | 0aa026a28c4f4f2d727da882b0bee03cc671cb28 /PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp | |
parent | afadaf4260e8d436b454289e61e85ac8c5bab071 (diff) | |
download | audiomanager-57c2f4ea0148287d0bcea913cb34ba716489df4b.tar.gz |
* Converter Implementation .6.2
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp')
-rw-r--r-- | PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp b/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp index e85012c..0426c10 100644 --- a/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp +++ b/PluginRoutingInterfaceDbus/src/CAmDbusMessageHandler.cpp @@ -574,6 +574,51 @@ am_Gateway_s CAmRoutingDbusMessageHandler::getGatewayData() return (gatewayData); } +am_Converter_s CAmRoutingDbusMessageHandler::getConverterData() +{ + am_Converter_s gatewayData; + DBusMessageIter gatewayDataIter, arrayIter; + am_CustomAvailabilityReason_t connectionFormat; + bool convertion; + if (DBUS_TYPE_STRUCT != dbus_message_iter_get_arg_type(&mDBusMessageIter)) + { + log(&routingDbus, DLT_LOG_ERROR, "CAmRoutingDbusMessageHandler::getDomainData DBUS handler argument is no struct!"); + mErrorName = std::string(DBUS_ERROR_INVALID_ARGS); + mErrorMsg = "DBus argument is no struct"; + } + else + { + dbus_message_iter_recurse(&mDBusMessageIter, &gatewayDataIter); + gatewayData.converterID = static_cast<am_gatewayID_t>(getUInt(gatewayDataIter, true)); + gatewayData.name = getString(gatewayDataIter, true); + gatewayData.sinkID = static_cast<am_sinkID_t>(getUInt(gatewayDataIter, true)); + gatewayData.sourceID = static_cast<am_sourceID_t>(getUInt(gatewayDataIter, true)); + gatewayData.domainID = static_cast<am_domainID_t>(getUInt(gatewayDataIter, true)); + dbus_message_iter_recurse(&gatewayDataIter, &arrayIter); + do + { + connectionFormat = static_cast<am_CustomAvailabilityReason_t>(getInt32(arrayIter, false)); + gatewayData.listSourceFormats.push_back(connectionFormat); + } while (dbus_message_iter_next(&arrayIter)); + dbus_message_iter_next(&gatewayDataIter); + dbus_message_iter_recurse(&gatewayDataIter, &arrayIter); + do + { + connectionFormat = static_cast<am_CustomAvailabilityReason_t>(getInt32(arrayIter, false)); + gatewayData.listSinkFormats.push_back(connectionFormat); + } while (dbus_message_iter_next(&arrayIter)); + dbus_message_iter_next(&gatewayDataIter); + dbus_message_iter_recurse(&gatewayDataIter, &arrayIter); + do + { + convertion = getBool(arrayIter, false); + gatewayData.convertionMatrix.push_back(convertion); + } while (dbus_message_iter_next(&arrayIter)); + dbus_message_iter_next(&mDBusMessageIter); + } + return (gatewayData); +} + am_Crossfader_s CAmRoutingDbusMessageHandler::getCrossfaderData() { am_Crossfader_s crossfaderData; |