方法

GioDBus连接register_object_with_closures

自:2.46

声明 [源]

guint
g_dbus_connection_register_object_with_closures (
  GDBusConnection* connection,
  const gchar* object_path,
  GDBusInterfaceInfo* interface_info,
  GClosure* method_call_closure,
  GClosure* get_property_closure,
  GClosure* set_property_closure,
  GError** error
)

描述 [源]

使用闭包而不是GDBusInterfaceVTable的版本,简化在其他语言中的绑定。

注意,由代码method_call_closure包裹的函数的引用计数语义与GDBusInterfaceMethodCallFunc相同:对GDBusMethodInvocation的引用所有权移交给函数。

自:2.46

此方法在语言绑定中已重命名为g_dbus_connection_register_object

参数

object_path

类型: const gchar*

要注册的对象路径。

数据由方法的调用者拥有。
值是null终止的UTF-8字符串。
interface_info

类型: GDBusInterfaceInfo

接口的反思数据。

数据由方法的调用者拥有。
method_call_closure

类型: GClosure

GClosure 用于处理传入的方法调用。

参数可以是 NULL
数据由方法的调用者拥有。
get_property_closure

类型: GClosure

GClosure 用于获取一个属性。

参数可以是 NULL
数据由方法的调用者拥有。
set_property_closure

类型: GClosure

GClosure 用于设置一个属性。

参数可以是 NULL
数据由方法的调用者拥有。
error

类型: GError **

用于恢复错误的位置。

参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULLGError*
如果没有错误,方法将初始化参数为 NULL
在发生错误的情况下,参数将被设置为一个新的 GError;调用者将接管数据的使用,并负责释放它。

返回值

类型: guint

如果设置了 error,则为 0,否则为可用于 g_dbus_connection_unregister_object() 的注册 ID(从不为 0)。