函数
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
的组合。