函数

GioDBusProxynew

自:2.26

声明 [源代码]

void
g_dbus_proxy_new (
  GDBusConnection* connection,
  GDBusProxyFlags flags,
  GDBusInterfaceInfo* info,
  const gchar* name,
  const gchar* object_path,
  const gchar* interface_name,
  GCancellable* cancellable,
  GAsyncReadyCallback callback,
  gpointer user_data
)

描述 [源代码]

为访问在远程对象 object_pathinterface_name 的接口创建代理,且该接口由 name 拥有,且位于 connection 上,除非使用了 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES 标志。连接到 GDBusProxy::g-properties-changed 信号以接收属性更改的通知。

如果未设置 G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS 标志,也会设置信号匹配规则。连接到 GDBusProxy::g-signal 信号以处理来自远程对象的信号。

如果同时设置了 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIESG_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS 标志,则此构造函数保证立即完成,而不会阻塞。

如果 name 是一个已知名称,并且未设置 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_STARTG_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION 标志,并且当前没有名称所有者,将请求消息总线启动该名称的所有者。

这是一个可失败的异步构造函数 - 当代理准备就绪时,将调用 callback,然后可以使用 g_dbus_proxy_new_finish() 获取结果。

请参阅 g_dbus_proxy_new_sync() 以获取此构造函数的同步版本。

在 [示例][gdbus-wellknown-proxy] 中使用了 GDBusProxy

自:2.26

此函数异步完成。请在 GAsyncReadyCallback 内部使用 g_dbus_proxy_new_finish() 获取操作的结果。

参数

connection

类型: GDBusConnection

一个 GDBusConnection

数据由函数的调用者拥有。
flags

类型: GDBusProxyFlags

在构建代理时使用的标志。

info

类型: GDBusInterfaceInfo

一个 GDBusInterfaceInfo,指定 proxy 符合的最小接口,或 NULL

参数可以是 NULL
数据由函数的调用者拥有。
name

类型: `const gchar*`

一个总线名称(已知或唯一)或如果 connection 不是一个消息总线连接,则为 NULL

参数可以是 NULL
数据由函数的调用者拥有。
值是一个以 NUL 结束的 UTF-8 字符串。
object_path

类型: `const gchar*`

一个对象路径。

数据由函数的调用者拥有。
值是一个以 NUL 结束的 UTF-8 字符串。
interface_name

类型: `const gchar*`

一个 D-Bus 接口名称。

数据由函数的调用者拥有。
值是一个以 NUL 结束的 UTF-8 字符串。
cancellable

类型: GCancellable

一个 GCancellableNULL

参数可以是 NULL
数据由函数的调用者拥有。
callback

类型: GAsyncReadyCallback

当代理准备好时调用的回调函数。

user_data

类型: gpointer

传递给 callback 的用户数据。

参数可以是 NULL
数据由函数的调用者拥有。