函数

GObjectSignalAccumulator

声明

gboolean
(* GSignalAccumulator) (
  GSignalInvocationHint* ihint,
  GValue* return_accu,
  const GValue* handler_return,
  gpointer data
)

说明 [src]

信号累加器是一个特殊回调函数,它可用于收集在信号发射过程中调用的各种回调的返回值。

信号累加器在信号创建时指定,如果留空NULL,则不会累积回调返回值。然后,信号发射的返回值将是最后一个回调返回的值。

参数

ihint

类型: GSignalInvocationHint

信号调用提示,参见GSignalInvocationHint

数据归函数的调用者所有。
return_accu

类型: GValue

用于收集回调返回值的累加器,这是当前信号发射的返回值。

数据归函数的调用者所有。
handler_return

类型: GValue

保存信号处理程序的返回值的GValue

数据归函数的调用者所有。
data

类型: gpointer

在创建信号时指定的回调数据。

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

返回值

类型: gboolean

累加器函数返回是否应该中止信号发射。返回 TRUE 将继续进行信号发射。返回 FALSE 将中止当前发射。自 2.62 起,返回FALSE 将跳至CLEANUP阶段。在这种情况下,发射将在CLEANUP阶段正常进行,并且处理程序的返回值将被累计。