22#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
23#error "Only <glib-object.h> can be included directly."
39#define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
46#define G_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
54#define G_IS_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
63#define G_ENUM_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
72#define G_ENUM_CLASS_TYPE_NAME(class) (g_type_name (G_ENUM_CLASS_TYPE (class)))
83#define G_TYPE_IS_FLAGS(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
90#define G_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
98#define G_IS_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
107#define G_FLAGS_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
116#define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_CLASS_TYPE (class)))
127#define G_VALUE_HOLDS_ENUM(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM))
136#define G_VALUE_HOLDS_FLAGS(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS))
293#define G_DEFINE_ENUM_VALUE(EnumValue, EnumNick) \
294 { EnumValue, #EnumValue, EnumNick } \
295 GOBJECT_AVAILABLE_MACRO_IN_2_74
320#define G_DEFINE_ENUM_TYPE(TypeName, type_name, ...) \
322type_name ## _get_type (void) { \
323 static _g_type_once_init_type g_define_type__static = 0; \
324 if (_g_type_once_init_enter (&g_define_type__static)) { \
325 static const GEnumValue enum_values[] = { \
329 GType g_define_type = g_enum_register_static (g_intern_static_string (#TypeName), enum_values); \
330 _g_type_once_init_leave (&g_define_type__static, g_define_type); \
332 return g_define_type__static; \
334 GOBJECT_AVAILABLE_MACRO_IN_2_74
363#define G_DEFINE_FLAGS_TYPE(TypeName, type_name, ...) \
365type_name ## _get_type (void) { \
366 static _g_type_once_init_type g_define_type__static = 0; \
367 if (_g_type_once_init_enter (&g_define_type__static)) { \
368 static const GFlagsValue flags_values[] = { \
372 GType g_define_type = g_flags_register_static (g_intern_static_string (#TypeName), flags_values); \
373 _g_type_once_init_leave (&g_define_type__static, g_define_type); \
375 return g_define_type__static; \
377 GOBJECT_AVAILABLE_MACRO_IN_2_74
GOBJECT_AVAILABLE_IN_ALL void g_enum_complete_type_info(GType g_enum_type, GTypeInfo *info, const GEnumValue *const_values)
GOBJECT_AVAILABLE_IN_ALL void g_flags_complete_type_info(GType g_flags_type, GTypeInfo *info, const GFlagsValue *const_values)
GOBJECT_AVAILABLE_IN_ALL GEnumValue * g_enum_get_value_by_name(GEnumClass *enum_class, const gchar *name)
GOBJECT_AVAILABLE_IN_2_54 gchar * g_flags_to_string(GType flags_type, guint value)
GOBJECT_AVAILABLE_IN_ALL void g_value_set_flags(GValue *value, guint v_flags)
GOBJECT_AVAILABLE_IN_ALL void g_value_set_enum(GValue *value, gint v_enum)
GOBJECT_AVAILABLE_IN_ALL GEnumValue * g_enum_get_value_by_nick(GEnumClass *enum_class, const gchar *nick)
GOBJECT_AVAILABLE_IN_ALL GFlagsValue * g_flags_get_value_by_nick(GFlagsClass *flags_class, const gchar *nick)
GOBJECT_AVAILABLE_IN_ALL GType g_flags_register_static(const gchar *name, const GFlagsValue *const_static_values)
GOBJECT_AVAILABLE_IN_ALL GFlagsValue * g_flags_get_first_value(GFlagsClass *flags_class, guint value)
GOBJECT_AVAILABLE_IN_ALL GFlagsValue * g_flags_get_value_by_name(GFlagsClass *flags_class, const gchar *name)
GOBJECT_AVAILABLE_IN_ALL GType g_enum_register_static(const gchar *name, const GEnumValue *const_static_values)
GOBJECT_AVAILABLE_IN_ALL guint g_value_get_flags(const GValue *value)
GOBJECT_AVAILABLE_IN_ALL gint g_value_get_enum(const GValue *value)
GOBJECT_AVAILABLE_IN_ALL GEnumValue * g_enum_get_value(GEnumClass *enum_class, gint value)
GOBJECT_AVAILABLE_IN_2_54 gchar * g_enum_to_string(GType g_enum_type, gint value)
#define GOBJECT_AVAILABLE_IN_2_54
#define GOBJECT_AVAILABLE_IN_ALL
G_BEGIN_DECLS typedef char gchar