disconnect_matched


Description:

[ CCode ( cname = "g_signal_handlers_disconnect_matched" ) ]
public uint disconnect_matched (void* instance, SignalMatchType mask, uint signal_id, Quark detail, Closure? closure, void* func, void* data)

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

The criteria mask is passed as a combination of SignalMatchType 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.

signal_id

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).

data

The closure data of the handlers' closures.

Returns:

The number of handlers that matched.


Namespace: GLib.SignalHandler
Package: gobject-2.0