函数
GObjectsignal_handlers_block_matched
声明 [src]
guint
g_signal_handlers_block_matched (
GObject* instance,
GSignalMatchType mask,
guint signal_id,
GQuark detail,
GClosure* closure,
gpointer func,
gpointer data
)
描述 [src]
阻止实例上与某个特定选择 条件匹配的所有事件处理程序。
条件掩码作为 GSignalMatchType
标志的组合传递,条件值作为参数传递。事件处理程序必须与 mask
中设置的所有标志匹配才能被阻止(即匹配是 conjunction)。
成功匹配,则需要传递至少一个 G_SIGNAL_MATCH_ID
、G_SIGNAL_MATCH_CLOSURE
、G_SIGNAL_MATCH_FUNC
或 G_SIGNAL_MATCH_DATA
匹配标志。如果没有找到事件处理程序,则返回值为 0,否则返回被阻止的事件处理程序数 。
在 GLib 2.78 中添加了对 G_SIGNAL_MATCH_ID
的支持。
参数
实例
-
类型:
GObject
阻止其中的事件处理程序的实例 。
数据归函数调用者所有。 掩码
-
类型:
GSignalMatchType
标志指示
signal_id
、detail
、closure
、func
和/或data
中的哪一个必须与事件处理程序 匹配。 signal_id
-
类型:
guint
事件处理程序必须 连接到的信号。
细节
-
类型:
GQuark
事件处理程序必须 连接到的信号详情。
闭包
-
类型:
GClosure
事件处理程序将 调用的闭包。
参数可以为 NULL
。数据归函数调用者所有。 函数
-
类型:
gpointer
事件处理程序的 C 闭包回调(对非 C 闭包无用)。
参数可以为 NULL
。数据归函数调用者所有。 数据
-
类型:
gpointer
事件处理程序 闭包的闭包数据。
参数可以为 NULL
。数据归函数调用者所有。