函数

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_IDG_SIGNAL_MATCH_CLOSUREG_SIGNAL_MATCH_FUNCG_SIGNAL_MATCH_DATA 匹配标志。如果没有找到事件处理程序,则返回值为 0,否则返回被阻止的事件处理程序数 。

在 GLib 2.78 中添加了对 G_SIGNAL_MATCH_ID 的支持。

参数

实例

类型: GObject

阻止其中的事件处理程序的实例 。

数据归函数调用者所有。
掩码

类型: GSignalMatchType

标志指示 signal_iddetailclosurefunc 和/或 data 中的哪一个必须与事件处理程序 匹配。

signal_id

类型: guint

事件处理程序必须 连接到的信号。

细节

类型: GQuark

事件处理程序必须 连接到的信号详情。

闭包

类型: GClosure

事件处理程序将 调用的闭包。

参数可以为 NULL
数据归函数调用者所有。
函数

类型: gpointer

事件处理程序的 C 闭包回调(对非 C 闭包无用)。

参数可以为 NULL
数据归函数调用者所有。
数据

类型: gpointer

事件处理程序 闭包的闭包数据。

参数可以为 NULL
数据归函数调用者所有。

返回值

类型: guint

匹配的事件处理程序数 。