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

a #GDBusMessage

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 #GCancellable 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