方法
GioDBusProxycall_sync
自:2.26
声明 [src]
GVariant*
g_dbus_proxy_call_sync (
GDBusProxy* proxy,
const gchar* method_name,
GVariant* parameters,
GDBusCallFlags flags,
gint timeout_msec,
GCancellable* cancellable,
GError** error
)
描述 [src]
同步调用 proxy
上的 method_name
方法。
如果 method_name
包含任何点,则 name
被分割成接口和方法名部分。这允许使用 proxy
来调用其他接口的方法。
如果与 proxy
相关的 GDBusConnection
已断开连接,则操作将失败并返回 G_IO_ERROR_CLOSED
。如果 cancellable
被取消,则操作将失败并返回 G_IO_ERROR_CANCELLED
。如果 parameters
包含不与 D-Bus 协议兼容的值,则操作将失败并返回 G_IO_ERROR_INVALID_ARGUMENT
。
如果 parameters
的 GVariant
是浮动的,它将被消耗。这允许方便地使用 g_variant_new() 的内联使用,例如。
g_dbus_proxy_call_sync (proxy,
"TwoStrings",
g_variant_new ("(ss)",
"Thing One",
"Thing Two"),
G_DBUS_CALL_FLAGS_NONE,
-1,
NULL,
&error);
调用线程在收到回复之前被阻塞。关于此方法的异步版本,请参阅 g_dbus_proxy_call()
。
如果 proxy
有一个预期的接口(见 GDBusProxy:g-interface-info
)并且 method_name
被它引用,则返回值将与返回类型进行校验。
自:2.26
参数
method_name
-
类型:
const gchar*
要调用的方法的名字。
此数据归方法的调用者所有。 值是终止于 null 的 UTF-8 字符串。 parameters
-
类型:
GVariant
包含信号参数的
GVariant
元组,如果没有传递参数则是NULL
。此参数可以是 NULL
。此数据归方法的调用者所有。 flags
-
类型:
GDBusCallFlags
GDBusCallFlags
枚举中的标志。 timeout_msec
-
类型:
gint
以毫秒为单位的超时时间(
G_MAXINT
表示“无限”),或 -1 使用代理默认超时。 cancellable
-
类型:
GCancellable
一个
GCancellable
或NULL
。此参数可以是 NULL
。此数据归方法的调用者所有。 error
-
类型:
GError **
可恢复错误 的返回位置。
此参数可以是 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
的GError*
。如果没有错误,该方法将使参数初始化为 NULL
。如果发生错误,参数将被设置为一个新的 GError
;调用者将拥有数据,并负责释放它。
返回值
类型: GVariant
NULL
如果设置了 error
。否则是一个包含返回值的 GVariant
元组。使用 g_variant_unref() 释放。
方法的调用者将拥有返回的数据,并负责释放它。 |