DBusProxy.call

Asynchronously invokes the @method_name method on @proxy.

If @method_name contains any dots, then @name is split into interface and method name parts. This allows using @proxy for invoking methods on other interfaces.

If the #GDBusConnection associated with @proxy 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 @parameters contains a value not compatible with the D-Bus protocol, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.

If the @parameters #GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new(), e.g.: |[<!-- language="C" --> g_dbus_proxy_call (proxy, "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, (GAsyncReadyCallback) two_strings_done, &data); ]|

If @proxy has an expected interface (see #GDBusProxy:g-interface-info) and @method_name is referenced by it, then the return value is checked against the return type.

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_proxy_call_finish() to get the result of the operation. See g_dbus_proxy_call_sync() for the synchronous version of this method.

If @callback is %NULL then the D-Bus method call message will be sent with the %G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED flag set.

Parameters

methodName string

Name of method to invoke.

parameters Variant

A #GVariant tuple with parameters for the signal or %NULL if not passing parameters.

flags GDBusCallFlags

Flags from the #GDBusCallFlags enumeration.

timeoutMsec int

The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout.

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 of the method invocation.

userData void*

The data to pass to @callback.

Meta

Since

2.26