signalHandlersDisconnectMatched
fn
uint 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
instance | The instance to remove handlers from. |
mask | Mask indicating which of signal_id, detail, closure, func and/or data the handlers have to match. |
signalId | Signal the handlers have to be connected to. |
detail | Signal detail the handlers have to be connected to. |
closure | The closure the handlers will invoke. |
func | The C closure callback of the handlers (useless for non-C closures). |
Returns
The number of handlers that matched.