Method
GioDBusConnectionsend_message_with_reply_sync
since: 2.26
Declaration
GDBusMessage*
g_dbus_connection_send_message_with_reply_sync (
GDBusConnection* connection,
GDBusMessage* message,
GDBusSendMessageFlags flags,
gint timeout_msec,
volatile guint32* out_serial,
GCancellable* cancellable,
GError** error
)
Description
Synchronously sends message to the peer represented by connection
and blocks the calling thread until a reply is received or the
timeout is reached. See g_dbus_connection_send_message_with_reply()
for the asynchronous version of this method.
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.
Note that error is only set if a local in-process error
occurred. That is to say that the returned GDBusMessage object may
be of type G_DBUS_MESSAGE_TYPE_ERROR. Use
g_dbus_message_to_gerror() to transcode this to a GError.
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.
Note that message must be unlocked, unless flags contain the
G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
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. error-
Type:
GError **The return location for a recoverable error.
The argument can be NULL.If the return location is not NULL, then you must initialize it to aNULLGError*.The argument will be left initialized to NULLby the method if there are no errors.In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.
Return value
Type: GDBusMessage
A locked GDBusMessage that is the reply
to message or NULL if error is set.
| The caller of the method takes ownership of the data, and is responsible for freeing it. |