gdbus: Add g_dbus_send_message_with_reply
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 19 Aug 2013 12:25:57 +0000 (15:25 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 11 Sep 2013 02:07:28 +0000 (19:07 -0700)
g_dbus_send_message_with_reply flushes pending signals before calling
dbus_connection_send_with_reply so it does not alter the message order

gdbus/gdbus.h
gdbus/object.c

index 8b133939a0261a86e51f13bc68c9e1a4e6250590..9542109c3ec70eb69356fbd86cb1107fd9abac05 100644 (file)
@@ -250,6 +250,9 @@ DBusMessage *g_dbus_create_reply_valist(DBusMessage *message,
                                                int type, va_list args);
 
 gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message);
+gboolean g_dbus_send_message_with_reply(DBusConnection *connection,
+                                       DBusMessage *message,
+                                       DBusPendingCall **call, int timeout);
 gboolean g_dbus_send_error(DBusConnection *connection, DBusMessage *message,
                                const char *name, const char *format, ...)
                                         __attribute__((format(printf, 4, 5)));
index 83fc4e671f4df75d174e8ed1468b5a1ad5299c89..773128c13cd0810c6d4c6bfa89cec16d7f273f68 100644 (file)
@@ -1556,6 +1556,17 @@ out:
        return result;
 }
 
+gboolean g_dbus_send_message_with_reply(DBusConnection *connection,
+                                       DBusMessage *message,
+                                       DBusPendingCall **call, int timeout)
+{
+       /* Flush pending signal to guarantee message order */
+       g_dbus_flush(connection);
+
+       return dbus_connection_send_with_reply(connection, message, call,
+                                                               timeout);
+}
+
 gboolean g_dbus_send_error_valist(DBusConnection *connection,
                                        DBusMessage *message, const char *name,
                                        const char *format, va_list args)