Synopsis
#include <glib-object.h>
GEnumClass;
GFlagsClass;
#define G_ENUM_CLASS_TYPE (class)
#define G_ENUM_CLASS_TYPE_NAME (class)
#define G_TYPE_IS_ENUM (type)
#define G_ENUM_CLASS (class)
#define G_IS_ENUM_CLASS (class)
#define G_TYPE_IS_FLAGS (type)
#define G_FLAGS_CLASS (class)
#define G_IS_FLAGS_CLASS (class)
#define G_FLAGS_CLASS_TYPE (class)
#define G_FLAGS_CLASS_TYPE_NAME (class)
GEnumValue;
GFlagsValue;
GEnumValue* g_enum_get_value (GEnumClass *enum_class,
gint value);
GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class,
const gchar *name);
GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class,
const gchar *nick);
GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class,
guint value);
GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class,
const gchar *name);
GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class,
const gchar *nick);
GType g_enum_register_static (const gchar *name,
const GEnumValue *const_static_values);
GType g_flags_register_static (const gchar *name,
const GFlagsValue *const_static_values);
void g_enum_complete_type_info (GType g_enum_type,
GTypeInfo *info,
const GEnumValue *const_values);
void g_flags_complete_type_info (GType g_flags_type,
GTypeInfo *info,
const GFlagsValue *const_values);
Description
glib-mkenums
The GLib type system provides fundamental types for enumeration and
flags types. (Flags types are like enumerations, but allow their
values to be combined by bitwise or). A registered enumeration or
flags type associates a name and a nickname with each allowed
value, and the methods GObject ships with a utility called glib-mkenums that can construct suitable type registration functions from C enumeration definitions.
DetailsGEnumClasstypedef struct {
GTypeClass g_type_class;
gint minimum;
gint maximum;
guint n_values;
GEnumValue *values;
} GEnumClass;
The class of an enumeration type holds information about its possible values.
GFlagsClasstypedef struct {
GTypeClass g_type_class;
guint mask;
guint n_values;
GFlagsValue *values;
} GFlagsClass;
The class of a flags type holds information about its possible values.
G_ENUM_CLASS_TYPE()#define G_ENUM_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) Get the type identifier from a given GEnumClass structure.
G_ENUM_CLASS_TYPE_NAME()#define G_ENUM_CLASS_TYPE_NAME(class) (g_type_name (G_ENUM_CLASS_TYPE (class))) Get the static type name from a given GEnumClass structure.
G_TYPE_IS_ENUM()#define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
Checks whether
G_ENUM_CLASS()#define G_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass)) Casts a derived GEnumClass structure into a GEnumClass structure.
G_IS_ENUM_CLASS()#define G_IS_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
Checks whether
G_TYPE_IS_FLAGS()#define G_TYPE_IS_FLAGS(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
Checks whether
G_FLAGS_CLASS()#define G_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass)) Casts a derived GFlagsClass structure into a GFlagsClass structure.
G_IS_FLAGS_CLASS()#define G_IS_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
Checks whether
G_FLAGS_CLASS_TYPE()#define G_FLAGS_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) Get the type identifier from a given GFlagsClass structure.
G_FLAGS_CLASS_TYPE_NAME()#define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_CLASS_TYPE (class))) Get the static type name from a given GFlagsClass structure.
GEnumValuetypedef struct {
gint value;
const gchar *value_name;
const gchar *value_nick;
} GEnumValue;
A structure which contains a single enum value, it's name, and it's nickname.
GFlagsValuetypedef struct {
guint value;
const gchar *value_name;
const gchar *value_nick;
} GFlagsValue;
A structure which contains a single flags value, it's name, and it's nickname.
g_enum_get_value ()GEnumValue* g_enum_get_value (GEnumClass *enum_class, gint value); Returns the GEnumValue for a value.
g_enum_get_value_by_name ()GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class, const gchar *name); Looks up a GEnumValue by name.
g_enum_get_value_by_nick ()GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class, const gchar *nick); Looks up a GEnumValue by nickname.
g_flags_get_first_value ()GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class, guint value);
Returns the first GFlagsValue which is set in
g_flags_get_value_by_name ()GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class, const gchar *name); Looks up a GFlagsValue by name.
g_flags_get_value_by_nick ()GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class, const gchar *nick); Looks up a GFlagsValue by nickname.
g_enum_register_static ()GType g_enum_register_static (const gchar *name, const GEnumValue *const_static_values);
Registers a new static enumeration type with the name
It is normally more convenient to let glib-mkenums generate a
g_flags_register_static ()GType g_flags_register_static (const gchar *name, const GFlagsValue *const_static_values);
Registers a new static flags type with the name
It is normally more convenient to let glib-mkenums generate a
g_enum_complete_type_info ()void g_enum_complete_type_info (GType g_enum_type, GTypeInfo *info, const GEnumValue *const_values);
This function is meant to be called from the
static void
my_enum_complete_type_info (GTypePlugin *plugin,
GType g_type,
GTypeInfo *info,
GTypeValueTable *value_table)
{
static const GEnumValue values[] = {
{ MY_ENUM_FOO, "MY_ENUM_FOO", "foo" },
{ MY_ENUM_BAR, "MY_ENUM_BAR", "bar" },
{ 0, NULL, NULL }
};
g_enum_complete_type_info (type, info, values);
}
g_flags_complete_type_info ()void g_flags_complete_type_info (GType g_flags_type, GTypeInfo *info, const GFlagsValue *const_values);
This function is meant to be called from the
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||