Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
genums.h File Reference
#include <gobject/gtype.h>

Go to the source code of this file.

Data Structures

struct  _GEnumClass
 
struct  _GFlagsClass
 
struct  _GEnumValue
 
struct  _GFlagsValue
 

Macros

#define G_TYPE_IS_ENUM(type)   (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
 
#define G_ENUM_CLASS(class)   (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
 
#define G_IS_ENUM_CLASS(class)   (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
 
#define G_ENUM_CLASS_TYPE(class)   (G_TYPE_FROM_CLASS (class))
 
#define G_ENUM_CLASS_TYPE_NAME(class)   (g_type_name (G_ENUM_CLASS_TYPE (class)))
 
#define G_TYPE_IS_FLAGS(type)   (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
 
#define G_FLAGS_CLASS(class)   (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
 
#define G_IS_FLAGS_CLASS(class)   (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
 
#define G_FLAGS_CLASS_TYPE(class)   (G_TYPE_FROM_CLASS (class))
 
#define G_FLAGS_CLASS_TYPE_NAME(class)   (g_type_name (G_FLAGS_CLASS_TYPE (class)))
 
#define G_VALUE_HOLDS_ENUM(value)   (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM))
 
#define G_VALUE_HOLDS_FLAGS(value)   (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS))
 
#define G_DEFINE_ENUM_VALUE(EnumValue, EnumNick)
 
#define G_DEFINE_ENUM_TYPE(TypeName, type_name, ...)
 
#define G_DEFINE_FLAGS_TYPE(TypeName, type_name, ...)
 

Typedefs

typedef struct _GEnumClass GEnumClass
 
typedef struct _GFlagsClass GFlagsClass
 
typedef struct _GEnumValue GEnumValue
 
typedef struct _GFlagsValue GFlagsValue
 

Functions

GOBJECT_AVAILABLE_IN_ALL GEnumValueg_enum_get_value (GEnumClass *enum_class, gint value)
 
GOBJECT_AVAILABLE_IN_ALL GEnumValueg_enum_get_value_by_name (GEnumClass *enum_class, const gchar *name)
 
GOBJECT_AVAILABLE_IN_ALL GEnumValueg_enum_get_value_by_nick (GEnumClass *enum_class, const gchar *nick)
 
GOBJECT_AVAILABLE_IN_ALL GFlagsValueg_flags_get_first_value (GFlagsClass *flags_class, guint value)
 
GOBJECT_AVAILABLE_IN_ALL GFlagsValueg_flags_get_value_by_name (GFlagsClass *flags_class, const gchar *name)
 
GOBJECT_AVAILABLE_IN_ALL GFlagsValueg_flags_get_value_by_nick (GFlagsClass *flags_class, const gchar *nick)
 
GOBJECT_AVAILABLE_IN_2_54 gcharg_enum_to_string (GType g_enum_type, gint value)
 
GOBJECT_AVAILABLE_IN_2_54 gcharg_flags_to_string (GType flags_type, guint value)
 
GOBJECT_AVAILABLE_IN_ALL void g_value_set_enum (GValue *value, gint v_enum)
 
GOBJECT_AVAILABLE_IN_ALL gint g_value_get_enum (const GValue *value)
 
GOBJECT_AVAILABLE_IN_ALL void g_value_set_flags (GValue *value, guint v_flags)
 
GOBJECT_AVAILABLE_IN_ALL guint g_value_get_flags (const GValue *value)
 
GOBJECT_AVAILABLE_IN_ALL GType g_enum_register_static (const gchar *name, const GEnumValue *const_static_values)
 
GOBJECT_AVAILABLE_IN_ALL GType g_flags_register_static (const gchar *name, const GFlagsValue *const_static_values)
 
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)
 

Macro Definition Documentation

◆ G_DEFINE_ENUM_TYPE

#define G_DEFINE_ENUM_TYPE ( TypeName,
type_name,
... )
Value:
GType \
type_name ## _get_type (void) { \
static _g_type_once_init_type g_define_type__static = 0; \
if (_g_type_once_init_enter (&g_define_type__static)) { \
static const GEnumValue enum_values[] = { \
__VA_ARGS__ , \
{ 0, NULL, NULL }, \
}; \
GType g_define_type = g_enum_register_static (g_intern_static_string (#TypeName), enum_values); \
_g_type_once_init_leave (&g_define_type__static, g_define_type); \
} \
return g_define_type__static; \
} \
GOBJECT_AVAILABLE_IN_ALL GType g_enum_register_static(const gchar *name, const GEnumValue *const_static_values)
#define NULL
Definition gmacros.h:924
#define GOBJECT_AVAILABLE_MACRO_IN_2_74
GLIB_AVAILABLE_IN_ALL const gchar * g_intern_static_string(const gchar *string)
gsize GType
Definition gtype.h:427
#define _g_type_once_init_enter
Definition gtype.h:2272
#define _g_type_once_init_type
Definition gtype.h:2271

G_DEFINE_ENUM_TYPE: @TypeName: the enumeration type, in CamelCase @type_name: the enumeration type prefixed, in snake_case ...: a list of enumeration values, defined using G_DEFINE_ENUM_VALUE()

A convenience macro for defining enumeration types.

This macro will generate a *_get_type() function for the given @TypeName, using @type_name as the function prefix.

|[ G_DEFINE_ENUM_TYPE (GtkOrientation, gtk_orientation, G_DEFINE_ENUM_VALUE (GTK_ORIENTATION_HORIZONTAL, "horizontal"), G_DEFINE_ENUM_VALUE (GTK_ORIENTATION_VERTICAL, "vertical")) ]|

For projects that have multiple enumeration types, or enumeration types with many values, you should consider using glib-mkenums to generate the type function.

Since: 2.74

Definition at line 320 of file genums.h.

320#define G_DEFINE_ENUM_TYPE(TypeName, type_name, ...) \
321GType \
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[] = { \
326 __VA_ARGS__ , \
327 { 0, NULL, NULL }, \
328 }; \
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); \
331 } \
332 return g_define_type__static; \
333} \
334 GOBJECT_AVAILABLE_MACRO_IN_2_74

◆ G_DEFINE_ENUM_VALUE

#define G_DEFINE_ENUM_VALUE ( EnumValue,
EnumNick )
Value:
{ EnumValue, #EnumValue, EnumNick } \

G_DEFINE_ENUM_VALUE: @EnumValue: an enumeration value @EnumNick: a short string representing the enumeration value

Defines an enumeration value, and maps it to a "nickname".

This macro can only be used with G_DEFINE_ENUM_TYPE() and G_DEFINE_FLAGS_TYPE().

Since: 2.74

Definition at line 293 of file genums.h.

293#define G_DEFINE_ENUM_VALUE(EnumValue, EnumNick) \
294 { EnumValue, #EnumValue, EnumNick } \
295 GOBJECT_AVAILABLE_MACRO_IN_2_74

◆ G_DEFINE_FLAGS_TYPE

#define G_DEFINE_FLAGS_TYPE ( TypeName,
type_name,
... )
Value:
GType \
type_name ## _get_type (void) { \
static _g_type_once_init_type g_define_type__static = 0; \
if (_g_type_once_init_enter (&g_define_type__static)) { \
static const GFlagsValue flags_values[] = { \
__VA_ARGS__ , \
{ 0, NULL, NULL }, \
}; \
GType g_define_type = g_flags_register_static (g_intern_static_string (#TypeName), flags_values); \
_g_type_once_init_leave (&g_define_type__static, g_define_type); \
} \
return g_define_type__static; \
} \
GOBJECT_AVAILABLE_IN_ALL GType g_flags_register_static(const gchar *name, const GFlagsValue *const_static_values)

G_DEFINE_FLAGS_TYPE: @TypeName: the enumeration type, in CamelCase @type_name: the enumeration type prefixed, in snake_case ...: a list of enumeration values, defined using G_DEFINE_ENUM_VALUE()

A convenience macro for defining flag types.

This macro will generate a *_get_type() function for the given @TypeName, using @type_name as the function prefix.

|[ G_DEFINE_FLAGS_TYPE (GSettingsBindFlags, g_settings_bind_flags, G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_DEFAULT, "default"), G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_GET, "get"), G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_SET, "set"), G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_NO_SENSITIVITY, "no-sensitivity"), G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_GET_NO_CHANGES, "get-no-changes"), G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_INVERT_BOOLEAN, "invert-boolean")) ]|

For projects that have multiple enumeration types, or enumeration types with many values, you should consider using glib-mkenums to generate the type function.

Since: 2.74

Definition at line 363 of file genums.h.

363#define G_DEFINE_FLAGS_TYPE(TypeName, type_name, ...) \
364GType \
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[] = { \
369 __VA_ARGS__ , \
370 { 0, NULL, NULL }, \
371 }; \
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); \
374 } \
375 return g_define_type__static; \
376} \
377 GOBJECT_AVAILABLE_MACRO_IN_2_74

◆ G_ENUM_CLASS

#define G_ENUM_CLASS ( class)    (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))

Definition at line 46 of file genums.h.

◆ G_ENUM_CLASS_TYPE

#define G_ENUM_CLASS_TYPE ( class)    (G_TYPE_FROM_CLASS (class))

Definition at line 63 of file genums.h.

◆ G_ENUM_CLASS_TYPE_NAME

#define G_ENUM_CLASS_TYPE_NAME ( class)    (g_type_name (G_ENUM_CLASS_TYPE (class)))

Definition at line 72 of file genums.h.

◆ G_FLAGS_CLASS

#define G_FLAGS_CLASS ( class)    (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))

Definition at line 90 of file genums.h.

◆ G_FLAGS_CLASS_TYPE

#define G_FLAGS_CLASS_TYPE ( class)    (G_TYPE_FROM_CLASS (class))

Definition at line 107 of file genums.h.

◆ G_FLAGS_CLASS_TYPE_NAME

#define G_FLAGS_CLASS_TYPE_NAME ( class)    (g_type_name (G_FLAGS_CLASS_TYPE (class)))

Definition at line 116 of file genums.h.

◆ G_IS_ENUM_CLASS

#define G_IS_ENUM_CLASS ( class)    (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))

Definition at line 54 of file genums.h.

◆ G_IS_FLAGS_CLASS

#define G_IS_FLAGS_CLASS ( class)    (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))

Definition at line 98 of file genums.h.

◆ G_TYPE_IS_ENUM

#define G_TYPE_IS_ENUM ( type)    (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)

G_TYPE_IS_ENUM: @type: a GType ID.

Checks whether @type "is a" G_TYPE_ENUM.

Returns: TRUE if @type "is a" G_TYPE_ENUM.

Definition at line 39 of file genums.h.

◆ G_TYPE_IS_FLAGS

#define G_TYPE_IS_FLAGS ( type)    (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)

G_TYPE_IS_FLAGS: @type: a GType ID.

Checks whether @type "is a" G_TYPE_FLAGS.

Returns: TRUE if @type "is a" G_TYPE_FLAGS.

Definition at line 83 of file genums.h.

◆ G_VALUE_HOLDS_ENUM

#define G_VALUE_HOLDS_ENUM ( value)    (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM))

G_VALUE_HOLDS_ENUM: @value: a valid GValue structure

Checks whether the given GValue can hold values derived from type G_TYPE_ENUM.

Returns: TRUE on success.

Definition at line 127 of file genums.h.

◆ G_VALUE_HOLDS_FLAGS

#define G_VALUE_HOLDS_FLAGS ( value)    (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS))

G_VALUE_HOLDS_FLAGS: @value: a valid GValue structure

Checks whether the given GValue can hold values derived from type G_TYPE_FLAGS.

Returns: TRUE on success.

Definition at line 136 of file genums.h.

Typedef Documentation

◆ GEnumClass

typedef struct _GEnumClass GEnumClass

Definition at line 140 of file genums.h.

◆ GEnumValue

typedef struct _GEnumValue GEnumValue

Definition at line 142 of file genums.h.

◆ GFlagsClass

typedef struct _GFlagsClass GFlagsClass

Definition at line 141 of file genums.h.

◆ GFlagsValue

typedef struct _GFlagsValue GFlagsValue

Definition at line 143 of file genums.h.

Function Documentation

◆ g_enum_complete_type_info()

GOBJECT_AVAILABLE_IN_ALL void g_enum_complete_type_info ( GType g_enum_type,
GTypeInfo * info,
const GEnumValue * const_values )

◆ g_enum_get_value()

GOBJECT_AVAILABLE_IN_ALL GEnumValue * g_enum_get_value ( GEnumClass * enum_class,
gint value )

◆ g_enum_get_value_by_name()

GOBJECT_AVAILABLE_IN_ALL GEnumValue * g_enum_get_value_by_name ( GEnumClass * enum_class,
const gchar * name )

◆ g_enum_get_value_by_nick()

GOBJECT_AVAILABLE_IN_ALL GEnumValue * g_enum_get_value_by_nick ( GEnumClass * enum_class,
const gchar * nick )

◆ g_enum_register_static()

GOBJECT_AVAILABLE_IN_ALL GType g_enum_register_static ( const gchar * name,
const GEnumValue * const_static_values )

◆ g_enum_to_string()

GOBJECT_AVAILABLE_IN_2_54 gchar * g_enum_to_string ( GType g_enum_type,
gint value )

◆ g_flags_complete_type_info()

GOBJECT_AVAILABLE_IN_ALL void g_flags_complete_type_info ( GType g_flags_type,
GTypeInfo * info,
const GFlagsValue * const_values )

◆ g_flags_get_first_value()

GOBJECT_AVAILABLE_IN_ALL GFlagsValue * g_flags_get_first_value ( GFlagsClass * flags_class,
guint value )

◆ g_flags_get_value_by_name()

GOBJECT_AVAILABLE_IN_ALL GFlagsValue * g_flags_get_value_by_name ( GFlagsClass * flags_class,
const gchar * name )

◆ g_flags_get_value_by_nick()

GOBJECT_AVAILABLE_IN_ALL GFlagsValue * g_flags_get_value_by_nick ( GFlagsClass * flags_class,
const gchar * nick )

◆ g_flags_register_static()

GOBJECT_AVAILABLE_IN_ALL GType g_flags_register_static ( const gchar * name,
const GFlagsValue * const_static_values )

◆ g_flags_to_string()

GOBJECT_AVAILABLE_IN_2_54 gchar * g_flags_to_string ( GType flags_type,
guint value )

◆ g_value_get_enum()

GOBJECT_AVAILABLE_IN_ALL gint g_value_get_enum ( const GValue * value)

◆ g_value_get_flags()

GOBJECT_AVAILABLE_IN_ALL guint g_value_get_flags ( const GValue * value)

◆ g_value_set_enum()

GOBJECT_AVAILABLE_IN_ALL void g_value_set_enum ( GValue * value,
gint v_enum )

◆ g_value_set_flags()

GOBJECT_AVAILABLE_IN_ALL void g_value_set_flags ( GValue * value,
guint v_flags )