summaryrefslogtreecommitdiff
path: root/PluginRoutingInterfaceDbus/src/CAmDbusSend.cpp
diff options
context:
space:
mode:
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);
+
+}
+
}