函数

GObjectsignal_connect_object

声明 [源代码]

gulong
g_signal_connect_object (
  GObjectTypeInstance* instance,
  const gchar* detailed_signal,
  GCallback c_handler,
  GObject* gobject,
  GConnectFlags connect_flags
)

描述 [源代码]

这与g_signal_connect_data()类似,但使用闭包确保在调用c_handler期间通过暂时增加gobject的引用计数来保持gobject存活。

gobject被销毁时,信号处理器将自动断开连接。注意,这目前不是线程安全的(即,在另一个线程销毁gobject时发出信号不是安全的)。

此函数不会失败。如果给定的信号名不存在,则发出关键警告。在指定detailed_signal时,对“详细内容”字符串不进行验证,除了非空检查。

有关详细说明,请参阅信号文档

此函数无法直接提供给语言绑定。

参数

instance

类型: GTypeInstance

要连接的实例。

数据是函数调用者拥有的。
detailed_signal

类型: const gchar*

字符串形式为“signal-name::detail”。

数据是函数调用者拥有的。
值是一个以NUL终止的UTF-8字符串。
c_handler

类型: GCallback

要连接的GCallback

gobject

类型: GObject

传递给c_handler的数据对象。

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

类型: GConnectFlags

GConnectFlags的组合。

返回值

类型: gulong

处理器id。