方法
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-
类型:
GDBusCallFlagsGDBusCallFlags枚举中的标志。 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() 释放。
| 方法的调用者将拥有返回的数据,并负责释放它。 |