Method
GioDBusConnectioncall_sync
since: 2.26
Declaration
GVariant*
g_dbus_connection_call_sync (
GDBusConnection* connection,
const gchar* bus_name,
const gchar* object_path,
const gchar* interface_name,
const gchar* method_name,
GVariant* parameters,
const GVariantType* reply_type,
GDBusCallFlags flags,
gint timeout_msec,
GCancellable* cancellable,
GError** error
)
Description
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 GVariant is floating, it is consumed.
This allows convenient ‘inline’ use of g_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.
Available since: 2.26
Parameters
bus_name-
Type:
const gchar*A unique or well-known bus name or
NULLifconnectionis not a message bus connection.The argument can be NULL.The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. object_path-
Type:
const gchar*Path of remote object.
The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. interface_name-
Type:
const gchar*D-Bus interface to invoke method on.
The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. method_name-
Type:
const gchar*The name of the method to invoke.
The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. parameters-
Type:
GVariantA
GVarianttuple with parameters for the method orNULLif not passing parameters.The argument can be NULL.The data is owned by the caller of the method. reply_type-
Type:
GVariantTypeThe expected type of the reply, or
NULL.The argument can be NULL.The data is owned by the caller of the method. flags-
Type:
GDBusCallFlagsFlags from the
GDBusCallFlagsenumeration. timeout_msec-
Type:
gintThe timeout in milliseconds, -1 to use the default timeout or
G_MAXINTfor no timeout. cancellable-
Type:
GCancellableA
GCancellableorNULL.The argument can be NULL.The data is owned by the caller of the method. error-
Type:
GError **The return location for a recoverable error.
The argument can be NULL.If the return location is not NULL, then you must initialize it to aNULLGError*.The argument will be left initialized to NULLby the method if there are no errors.In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.
Return value
Type: GVariant
NULL if error is set. Otherwise a non-floating
GVariant tuple with return values. Free with g_variant_unref().
| The caller of the method takes ownership of the returned data, and is responsible for freeing it. |