DBusConnection.callSync

Synchronously invokes the method_name method on the interface_name D-Bus interface on the remote object at object_path owned by bus_name.

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 parameters contains a value not compatible with the D-Bus protocol, the operation fails with G_IO_ERROR_INVALID_ARGUMENT.

If reply_type is non-NULL then the reply will be checked for having this type and an error will be raised if it does not match. Said another way, if you give a reply_type then any non-NULL return value will be of this type.

If the parameters glib.Variant is floating, it is consumed. This allows convenient 'inline' use of Variant.new, e.g.:

g_dbus_connection_call_sync (connection,
"org.freedesktop.StringThings",
"/org/freedesktop/StringThings",
"org.freedesktop.StringThings",
"TwoStrings",
g_variant_new ("(ss)",
"Thing One",
"Thing Two"),
NULL,
G_DBUS_CALL_FLAGS_NONE,
-1,
NULL,
&error);

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

Parameters

busName string

a unique or well-known bus name or NULL if connection is not a message bus connection

objectPath string

path of remote object

interfaceName string

D-Bus interface to invoke method on

methodName string

the name of the method to invoke

parameters Variant

a glib.Variant tuple with parameters for the method or NULL if not passing parameters

replyType VariantType

the expected type of the reply, or NULL

flags GDBusCallFlags

flags from the GDBusCallFlags enumeration

timeoutMsec int

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

cancellable Cancellable

a gio.Cancellable or NULL

Return Value

Type: Variant

NULL if error is set. Otherwise a glib.Variant tuple with return values. Free with Variant.unref.

Throws

GException on failure.

Meta

Since

2.26