DBusProxy.callSync

Synchronously 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 disconnected 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_sync (proxy, "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); ]|

The calling thread is blocked until a reply is received. See g_dbus_proxy_call() for the asynchronous version of this method.

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.

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.

Return Value

Type: Variant

%NULL if @error is set. Otherwise a #GVariant tuple with return values. Free with g_variant_unref().

Throws

GException on failure.

Meta

Since

2.26