DBusConnection.sendMessageWithReply

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.

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.

Parameters

message DBusMessage
flags GDBusSendMessageFlags

flags affecting how the message is sent

timeoutMsec int

the timeout in milliseconds, -1 to use the default timeout or G_MAXINT for no timeout

outSerial uint

return location for serial number assigned to message when sending it or NULL

cancellable Cancellable

a gio.Cancellable or NULL

callback GAsyncReadyCallback

a GAsyncReadyCallback to call when the request is satisfied or NULL if you don't care about the result

userData void*

The data to pass to callback

Meta

Since

2.26