signalHandlersDisconnectMatched

fnuint signalHandlersDisconnectMatched(gobject.object.ObjectWrap instance, gobject.types.SignalMatchType mask, uint signalId, glib.types.Quark detail, gobject.closure.Closure closure = null, void * func = null)

Disconnects all handlers on an instance that match a certain selection criteria.

The criteria mask is passed as a combination of #GSignalMatchType flags, and the criteria values are passed as arguments. A handler must match on all flags set in mask to be disconnected (i.e. the match is conjunctive).

Passing at least one of the G_SIGNAL_MATCH_ID, G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of disconnected handlers otherwise.

Support for G_SIGNAL_MATCH_ID was added in GLib 2.78.

Parameters

instanceThe instance to remove handlers from.
maskMask indicating which of signal_id, detail, closure, func and/or data the handlers have to match.
signalIdSignal the handlers have to be connected to.
detailSignal detail the handlers have to be connected to.
closureThe closure the handlers will invoke.
funcThe C closure callback of the handlers (useless for non-C closures).

Returns

The number of handlers that matched.