summaryrefslogtreecommitdiff
path: root/PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp
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 /PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp
parente4107bd0ed54194a5cfef60c322fee63bbeeabb2 (diff)
downloadaudiomanager-c0fd43259ab0e269dd0918231c162d19d2dea593.tar.gz
* some adoptins in the routinginterface
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp')
-rw-r--r--PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp27
1 files changed, 24 insertions, 3 deletions
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);
+
+}
+
}