[ Version ( since = "2.18" ) ]
public static Signal new_class_handler (string signal_name, Type itype, SignalFlags signal_flags, Callback? class_handler, SignalAccumulator? accumulator, void* accu_data, SignalCMarshaller? c_marshaller, Type return_type, uint n_params, ...)

Creates a new signal.

(This is usually done in the class initializer.)

This is a variant of @new that takes a C callback instead of a class offset for the signal's class handler. This function doesn't need a function pointer exposed in the class structure of an object definition, instead the function pointer is passed directly and can be overridden by derived classes with override_class_closure or override_class_handler and chained to with chain_from_overridden or chain_from_overridden_handler.

See @new for information about signal names.

If c_marshaller is null, g_cclosure_marshal_generic will be used as the marshaller for this signal.



the name for the signal


the type this signal pertains to. It will also pertain to types which are derived from this type.


a combination of SignalFlags specifying detail of when the default handler is to be invoked. You should at least specify g_signal_run_first or g_signal_run_last.


a ObjectConstructorFunc which acts as class implementation of this signal. Used to invoke a class method generically. Pass null to not associate a class method with this signal.


the accumulator for this signal; may be null.


the function to translate arrays of parameter values to signal emissions into C language callback invocations or null.


the type of return value, or g_type_none for a signal without a return value.


the number of parameter types to follow.


a list of types, one for each parameter.


user data for the accumulator.


the signal id