22#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
23#error "Only <glib-object.h> can be included directly."
77 const GValue *param_values,
105 const GValue *handler_return,
157#define G_SIGNAL_FLAGS_MASK 0x1ff
203#define G_SIGNAL_MATCH_MASK 0x3f
224#define G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT)
347 const gchar *detailed_signal,
379 const gchar *detailed_signal);
405 const gchar *detailed_signal,
410 const gchar *detailed_signal,
464#define g_clear_signal_handler(handler_id_ptr, instance) \
466 gpointer const _instance = (instance); \
467 gulong *const _handler_id_ptr = (handler_id_ptr); \
468 const gulong _handler_id = *_handler_id_ptr; \
470 if (_handler_id > 0) \
472 *_handler_id_ptr = 0; \
473 g_signal_handler_disconnect (_instance, _handler_id); \
476 GOBJECT_AVAILABLE_MACRO_IN_2_62
518#define g_signal_connect(instance, detailed_signal, c_handler, data) \
519 g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
536#define g_signal_connect_after(instance, detailed_signal, c_handler, data) \
537 g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_AFTER)
577#define g_signal_connect_swapped(instance, detailed_signal, c_handler, data) \
578 g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_SWAPPED)
589#define g_signal_handlers_disconnect_by_func(instance, func, data) \
590 g_signal_handlers_disconnect_matched ((instance), \
591 (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), \
592 0, 0, NULL, (func), (data))
605#define g_signal_handlers_disconnect_by_data(instance, data) \
606 g_signal_handlers_disconnect_matched ((instance), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, (data))
618#define g_signal_handlers_block_by_func(instance, func, data) \
619 g_signal_handlers_block_matched ((instance), \
620 (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), \
621 0, 0, NULL, (func), (data))
632#define g_signal_handlers_unblock_by_func(instance, func, data) \
633 g_signal_handlers_unblock_matched ((instance), \
634 (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), \
635 0, 0, NULL, (func), (data))
641 const GValue *handler_return,
647 const GValue *handler_return,
void(* GClosureNotify)(gpointer data, GClosure *closure)
void(* GVaClosureMarshal)(GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types)
void(* GClosureMarshal)(GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data)
#define GOBJECT_AVAILABLE_IN_2_62
#define GOBJECT_AVAILABLE_IN_ALL
#define GOBJECT_AVAILABLE_IN_2_66
G_BEGIN_DECLS typedef guint32 GQuark
GOBJECT_AVAILABLE_IN_ALL guint * g_signal_list_ids(GType itype, guint *n_ids)
GOBJECT_AVAILABLE_IN_ALL void g_signal_chain_from_overridden_handler(gpointer instance,...)
GOBJECT_AVAILABLE_IN_ALL void g_signal_chain_from_overridden(const GValue *instance_and_params, GValue *return_value)
GOBJECT_AVAILABLE_IN_ALL gboolean g_signal_accumulator_true_handled(GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy)
GOBJECT_AVAILABLE_IN_ALL guint g_signal_handlers_disconnect_matched(gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data)
GOBJECT_AVAILABLE_IN_ALL void g_signal_stop_emission(gpointer instance, guint signal_id, GQuark detail)
GOBJECT_AVAILABLE_IN_ALL const gchar * g_signal_name(guint signal_id)
GOBJECT_AVAILABLE_IN_ALL void g_signal_set_va_marshaller(guint signal_id, GType instance_type, GSignalCVaMarshaller va_marshaller)
#define g_clear_signal_handler(handler_id_ptr, instance)
GOBJECT_AVAILABLE_IN_ALL gulong g_signal_handler_find(gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data)
GOBJECT_AVAILABLE_IN_2_66 gboolean g_signal_is_valid_name(const gchar *name)
GOBJECT_AVAILABLE_IN_ALL void g_signal_emit_by_name(gpointer instance, const gchar *detailed_signal,...)
GOBJECT_AVAILABLE_IN_ALL GSignalInvocationHint * g_signal_get_invocation_hint(gpointer instance)
GOBJECT_AVAILABLE_IN_ALL void g_signal_override_class_handler(const gchar *signal_name, GType instance_type, GCallback class_handler)
GOBJECT_AVAILABLE_IN_ALL guint g_signal_handlers_unblock_matched(gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data)
@ G_SIGNAL_MATCH_UNBLOCKED
GOBJECT_AVAILABLE_IN_ALL guint g_signal_lookup(const gchar *name, GType itype)
GOBJECT_AVAILABLE_IN_ALL void g_signal_handler_block(gpointer instance, gulong handler_id)
GOBJECT_AVAILABLE_IN_ALL void g_signal_emit_valist(gpointer instance, guint signal_id, GQuark detail, va_list var_args)
void _g_signals_destroy(GType itype)
GOBJECT_AVAILABLE_IN_ALL gulong g_signal_connect_closure_by_id(gpointer instance, guint signal_id, GQuark detail, GClosure *closure, gboolean after)
typedefG_BEGIN_DECLS struct _GSignalQuery GSignalQuery
GOBJECT_AVAILABLE_IN_ALL gulong g_signal_connect_data(gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags)
GOBJECT_AVAILABLE_IN_ALL gboolean g_signal_parse_name(const gchar *detailed_signal, GType itype, guint *signal_id_p, GQuark *detail_p, gboolean force_detail_quark)
GOBJECT_AVAILABLE_IN_ALL void g_signal_handler_disconnect(gpointer instance, gulong handler_id)
GOBJECT_AVAILABLE_IN_ALL guint g_signal_newv(const gchar *signal_name, GType itype, GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params, GType *param_types)
gboolean(* GSignalEmissionHook)(GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer data)
GOBJECT_AVAILABLE_IN_ALL guint g_signal_new_class_handler(const gchar *signal_name, GType itype, GSignalFlags signal_flags, GCallback class_handler, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params,...)
GOBJECT_AVAILABLE_IN_ALL void g_signal_stop_emission_by_name(gpointer instance, const gchar *detailed_signal)
GClosureMarshal GSignalCMarshaller
GOBJECT_AVAILABLE_IN_ALL guint g_signal_new_valist(const gchar *signal_name, GType itype, GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params, va_list args)
@ G_SIGNAL_ACCUMULATOR_FIRST_RUN
gboolean(* GSignalAccumulator)(GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer data)
GOBJECT_AVAILABLE_IN_ALL void g_signal_override_class_closure(guint signal_id, GType instance_type, GClosure *class_closure)
GOBJECT_AVAILABLE_IN_ALL gboolean g_signal_handler_is_connected(gpointer instance, gulong handler_id)
GOBJECT_AVAILABLE_IN_ALL void g_signal_remove_emission_hook(guint signal_id, gulong hook_id)
GOBJECT_AVAILABLE_IN_ALL void g_signal_emit(gpointer instance, guint signal_id, GQuark detail,...)
GOBJECT_AVAILABLE_IN_ALL gboolean g_signal_accumulator_first_wins(GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy)
GOBJECT_AVAILABLE_IN_ALL gboolean g_signal_has_handler_pending(gpointer instance, guint signal_id, GQuark detail, gboolean may_be_blocked)
GOBJECT_AVAILABLE_IN_ALL gulong g_signal_connect_closure(gpointer instance, const gchar *detailed_signal, GClosure *closure, gboolean after)
GOBJECT_AVAILABLE_IN_ALL 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,...)
GVaClosureMarshal GSignalCVaMarshaller
GOBJECT_AVAILABLE_IN_ALL void g_signal_handlers_destroy(gpointer instance)
@ GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74
GOBJECT_AVAILABLE_IN_ALL gulong g_signal_add_emission_hook(guint signal_id, GQuark detail, GSignalEmissionHook hook_func, gpointer hook_data, GDestroyNotify data_destroy)
GOBJECT_AVAILABLE_IN_ALL void g_signal_handler_unblock(gpointer instance, gulong handler_id)
GOBJECT_AVAILABLE_IN_ALL guint g_signal_handlers_block_matched(gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data)
GOBJECT_AVAILABLE_IN_ALL void g_signal_query(guint signal_id, GSignalQuery *query)
GOBJECT_AVAILABLE_IN_ALL void g_signal_emitv(const GValue *instance_and_params, guint signal_id, GQuark detail, GValue *return_value)
G_BEGIN_DECLS typedef char gchar
void(* GDestroyNotify)(gpointer data)
GSignalFlags signal_flags
const gchar * signal_name
const GType * param_types