Function
GObjectsignal_new
Declaration [src]
guint
g_signal_new (
const gchar* signal_name,
GType itype,
GSignalFlags signal_flags,
guint class_offset,
GSignalAccumulator accumulator,
gpointer accu_data,
GSignalCMarshaller c_marshaller,
GType return_type,
guint n_params,
...
)
Description [src]
Creates a new signal. (This is usually done in the class initializer.)
A signal name consists of segments consisting of ASCII letters and
digits, separated by either the - or _ character. The first
character of a signal name must be a letter. Names which violate these
rules lead to undefined behaviour. These are the same rules as for property
naming (see g_param_spec_internal()).
When registering a signal and looking up a signal, either separator can
be used, but they cannot be mixed. Using - is considerably more efficient. Using _ is discouraged.
If 0 is used for class_offset subclasses cannot override the class handler
in their class_init method by doing super_class->signal_handler = my_signal_handler.
Instead they will have to use g_signal_override_class_handler().
If c_marshaller is NULL, g_cclosure_marshal_generic() will be used as
the marshaller for this signal. In some simple cases, g_signal_new()
will use a more optimized c_marshaller and va_marshaller for the signal
instead of g_cclosure_marshal_generic().
If c_marshaller is non-NULL, you need to also specify a va_marshaller using g_signal_set_va_marshaller() or the generic va_marshaller will
be used.
This function is not directly available to language bindings.
Parameters
signal_name-
Type:
const gchar*The name for the signal.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. itype-
Type:
GTypeThe type this signal pertains to. It will also pertain to types which are derived from this type.
signal_flags-
Type:
GSignalFlagsA combination of
GSignalFlagsspecifying detail of when the default handler is to be invoked. You should at least specifyG_SIGNAL_RUN_FIRSTorG_SIGNAL_RUN_LAST. class_offset-
Type:
guintThe offset of the function pointer in the class structure for this type. Used to invoke a class method generically. Pass 0 to not associate a class method slot with this signal.
accumulator-
Type:
GSignalAccumulatorThe accumulator for this signal; may be
NULL.The argument can be NULL. accu_data-
Type:
gpointerUser data for the
accumulator.The argument can be NULL.The data is owned by the caller of the function. c_marshaller-
Type:
GSignalCMarshallerThe function to translate arrays of parameter values to signal emissions into C language callback invocations or
NULL.The argument can be NULL. return_type-
Type:
GTypeThe type of return value, or
G_TYPE_NONEfor a signal without a return value. n_params-
Type:
guintThe number of parameter types to follow.
...-
Type:
A list of types, one for each parameter.