From 5d954f922d8814114f603fd52bf61022a70224b1 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 1 Oct 2019 14:27:52 -0300 Subject: [PATCH] Refactoring D-Bus request. --- client/src/core/linux/request.cc | 5 +---- client/src/include/lib3270/ipc/request.h | 1 + client/src/session/remote/linux/request.cc | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/client/src/core/linux/request.cc b/client/src/core/linux/request.cc index 6d6f92b..9587d01 100644 --- a/client/src/core/linux/request.cc +++ b/client/src/core/linux/request.cc @@ -87,10 +87,7 @@ IPC::Request & IPC::Request::push(int type, const void *value) { - DBusMessageIter iter; - dbus_message_iter_init_append(request.msg, &iter); - - if (!dbus_message_iter_append_basic(&iter,type,value)) { + if (!dbus_message_iter_append_basic(&request.iter,type,value)) { throw std::runtime_error("Can't append value"); } diff --git a/client/src/include/lib3270/ipc/request.h b/client/src/include/lib3270/ipc/request.h index 49cd6f8..b8f2d10 100644 --- a/client/src/include/lib3270/ipc/request.h +++ b/client/src/include/lib3270/ipc/request.h @@ -114,6 +114,7 @@ /// @brief Message who will be sent to server. struct { DBusMessage * msg; + DBusMessageIter iter; } request; DBusConnection * conn; diff --git a/client/src/session/remote/linux/request.cc b/client/src/session/remote/linux/request.cc index 4337634..e7c2505 100644 --- a/client/src/session/remote/linux/request.cc +++ b/client/src/session/remote/linux/request.cc @@ -60,6 +60,8 @@ throw std::runtime_error("Can't create D-Bus Method Call"); } + dbus_message_iter_init_append(request.msg, &request.iter); + } IPC::Request::Request(const IPC::Session &session, bool isSet, const char *property) : Request(session.conn) { @@ -75,6 +77,8 @@ throw std::runtime_error("Can't create D-Bus Property Call"); } + dbus_message_iter_init_append(request.msg, &request.iter); + // // https://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties // org.freedesktop.DBus.Properties.Get (in STRING interface_name, -- libgit2 0.21.2