功能
GObjectsignal_handlers_disconnect_matched
声明 [src]
guint
g_signal_handlers_disconnect_matched (
GObject* instance,
GSignalMatchType mask,
guint signal_id,
GQuark detail,
GClosure* closure,
gpointer func,
gpointer data
)
说明 [src]
断开与实例上匹配某一特定选择标准的所有处理程序。
条件掩码以 GSignalMatchType
标志的组合方式传递,条件值以自变量的方式传递。处理程序必须与 mask
中设置的所有标志匹配(即匹配为合取)。
必须传递至少一个 G_SIGNAL_MATCH_ID
、G_SIGNAL_MATCH_CLOSURE
、G_SIGNAL_MATCH_FUNC
或 G_SIGNAL_MATCH_DATA
匹配标志以实现匹配。如果没有找到处理程序,则返回 0,否则返回断开连接的处理程序数。
对于 G_SIGNAL_MATCH_ID
的支持已在 GLib 2.78 中添加。
参数
instance
-
类型:
GObject
要从中删除处理程序的实例。
数据归调用该函数的调用方所有。 mask
-
类型:
GSignalMatchType
掩码指示处理程序必须匹配哪些
signal_id
、detail
、closure
、func
和/或data
。 signal_id
-
类型:
guint
处理程序必须连接到的信号。
detail
-
类型:
GQuark
处理程序必须连接到的信号详情。
closure
-
类型:
GClosure
处理程序将调用的闭包。
自变量可以为 NULL
。数据归调用该函数的调用方所有。 func
-
类型:
gpointer
处理程序的 C 闭包回调(对非 C 闭包无用)。
自变量可以为 NULL
。数据归调用该函数的调用方所有。 data
-
类型:
gpointer
处理程序闭包的闭包数据。
自变量可以为 NULL
。数据归调用该函数的调用方所有。