Method
GioDBusConnectionsend_message_with_reply
since: 2.26
Declaration
void
g_dbus_connection_send_message_with_reply (
GDBusConnection* connection,
GDBusMessage* message,
GDBusSendMessageFlags flags,
gint timeout_msec,
volatile guint32* out_serial,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
)
Description
Asynchronously sends message to the peer represented by connection.
Unless flags contain the
G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
will be assigned by connection and set on message via
g_dbus_message_set_serial(). If out_serial is not NULL, then the
serial number used will be written to this location prior to
submitting the message to the underlying transport. While it has a volatile
qualifier, this is a historical artifact and the argument passed to it should
not be volatile.
If connection is closed then the operation will fail with
G_IO_ERROR_CLOSED. If cancellable is canceled, the operation will
fail with G_IO_ERROR_CANCELLED. If message is not well-formed,
the operation fails with G_IO_ERROR_INVALID_ARGUMENT.
This is an asynchronous method. When the operation is finished, callback
will be invoked in the
[thread-default main context][g-main-context-push-thread-default]
of the thread you are calling this method from. You can then call
g_dbus_connection_send_message_with_reply_finish() to get the result of the operation.
See g_dbus_connection_send_message_with_reply_sync() for the synchronous version.
Note that message must be unlocked, unless flags contain the
G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
See this [server][gdbus-server] and [client][gdbus-unix-fd-client] for an example of how to use this low-level API to send and receive UNIX file descriptors.
Available since: 2.26
Parameters
message-
Type:
GDBusMessageA
GDBusMessage.The data is owned by the caller of the method. flags-
Type:
GDBusSendMessageFlagsFlags affecting how the message is sent.
timeout_msec-
Type:
gintThe timeout in milliseconds, -1 to use the default timeout or
G_MAXINTfor no timeout. out_serial-
Type:
volatile guint32*Return location for serial number assigned to
messagewhen sending it orNULL.The argument will be set by the function. The argument can be NULL. cancellable-
Type:
GCancellableA
GCancellableorNULL.The argument can be NULL.The data is owned by the caller of the method. callback-
Type:
GAsyncReadyCallbackA
GAsyncReadyCallbackto call when the request is satisfied orNULLif you don’t care about the result.The argument can be NULL. user_data-
Type:
gpointerThe data to pass to
callback.The argument can be NULL.The data is owned by the caller of the method.