new_class_handler
Description:
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.
Parameters:
signal_name |
the name for the signal |
itype |
the type this signal pertains to. It will also pertain to types which are derived from this type. |
signal_flags |
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. |
class_handler |
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. |
accumulator |
the accumulator for this signal; may be null. |
c_marshaller |
the function to translate arrays of parameter values to signal emissions into C language callback invocations or null. |
return_type |
the type of return value, or g_type_none for a signal without a return value. |
n_params |
the number of parameter types to follow. |
... |
a list of types, one for each parameter. |
accu_data |
user data for the |
Returns:
the signal id |