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