SignalAccumulator

typealias SignalAccumulator = (ihint: SignalInvocationHint, returnAccu: Value, handlerReturn: Value) -> Boolean

The signal accumulator is a special callback function that can be used to collect return values of the various callbacks that are called during a signal emission.

The signal accumulator is specified at signal creation time, if it is left null, no accumulation of callback return values is performed. The return value of signal emissions is then the value returned by the last callback.

  • param ihint Signal invocation hint, see #GSignalInvocationHint.

  • param returnAccu Accumulator to collect callback return values in, this is the return value of the current signal emission.

  • param handlerReturn A #GValue holding the return value of the signal handler.

  • return The accumulator function returns whether the signal emission should be aborted. Returning true will continue with the signal emission. Returning false will abort the current emission. Since 2.62, returning false will skip to the CLEANUP stage. In this case, emission will occur as normal in the CLEANUP stage and the handler's return value will be accumulated.