Method
GioDBusConnectionsend_message_with_reply_sync
since: 2.26
Declaration [src]
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 [src]
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:
GDBusMessage
A
GDBusMessage
.The data is owned by the caller of the method. flags
-
Type:
GDBusSendMessageFlags
Flags affecting how the message is sent.
timeout_msec
-
Type:
gint
The timeout in milliseconds, -1 to use the default timeout or
G_MAXINT
for no timeout. out_serial
-
Type:
volatile guint32*
Return location for serial number assigned to
message
when sending it orNULL
.The argument will be set by the function. The argument can be NULL
. cancellable
-
Type:
GCancellable
A
GCancellable
orNULL
.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 aNULL
GError*
.The argument will be left initialized to NULL
by 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 returned data, and is responsible for freeing it. |