GType

Name

GType -- 

Synopsis


#include <gobject.h>


typedef     GType;
#define     G_TYPE_FUNDAMENTAL              (type)
#define     G_TYPE_FUNDAMENTAL_MAX
#define     G_TYPE_DERIVE_ID                (ptype, branch_seqno)
#define     G_TYPE_BRANCH_SEQNO             (type)
#define     G_TYPE_FUNDAMENTAL_LAST
enum        GTypeFundamentals;
#define     G_TYPE_IS_CLASSED               (type)
#define     G_TYPE_IS_INSTANTIATABLE        (type)
#define     G_TYPE_IS_DERIVABLE             (type)
#define     G_TYPE_IS_DEEP_DERIVABLE        (type)
#define     G_TYPE_IS_INTERFACE             (type)
struct      GTypeInterface;
struct      GTypeInstance;
struct      GTypeInfo;
struct      GTypeFundamentalInfo;
struct      GInterfaceInfo;
struct      GTypeValueTable;
#define     G_TYPE_CHECK_INSTANCE_CAST      (instance, g_type, c_type)
#define     G_TYPE_CHECK_CLASS_CAST         (g_class, g_type, c_type)
#define     G_TYPE_CHECK_INSTANCE_TYPE      (instance, g_type)
#define     G_TYPE_CHECK_CLASS_TYPE         (g_class, g_type)
#define     G_TYPE_INSTANCE_GET_CLASS       (instance, g_type, c_type)
#define     G_TYPE_FROM_INSTANCE            (instance)
#define     G_TYPE_FROM_CLASS               (g_class)
#define     G_TYPE_FROM_INTERFACE           (g_iface)
void        g_type_init                     (void);
gchar*      g_type_name                     (GType type);
GQuark      g_type_qname                    (GType type);
GType       g_type_from_name                (const gchar *name);
GType       g_type_parent                   (GType type);
GType       g_type_next_base                (GType type,
                                             GType base_type);
gboolean    g_type_is_a                     (GType type,
                                             GType is_a_type);
gboolean    g_type_conforms_to              (GType type,
                                             GType iface_type);
guint       g_type_fundamental_branch_last  (GType type);
gpointer    g_type_class_ref                (GType type);
gpointer    g_type_class_peek               (GType type);
void        g_type_class_unref              (gpointer g_class);
gpointer    g_type_class_peek_parent        (gpointer g_class);
gpointer    g_type_interface_peek           (gpointer instance_class,
                                             GType iface_type);
GType*      g_type_children                 (GType type,
                                             guint *n_children);
GType*      g_type_interfaces               (GType type,
                                             guint *n_interfaces);
void        g_type_set_qdata                (GType type,
                                             GQuark quark,
                                             gpointer data);
gpointer    g_type_get_qdata                (GType type,
                                             GQuark quark);
void        (*GBaseInitFunc)                (gpointer g_class);
void        (*GBaseFinalizeFunc)            (gpointer g_class);
void        (*GClassInitFunc)               (gpointer g_class,
                                             gpointer class_data);
void        (*GClassFinalizeFunc)           (gpointer g_class,
                                             gpointer class_data);
void        (*GInstanceInitFunc)            (GTypeInstance *instance,
                                             gpointer g_class);
void        (*GInterfaceInitFunc)           (gpointer g_iface,
                                             gpointer iface_data);
void        (*GInterfaceFinalizeFunc)       (gpointer g_iface,
                                             gpointer iface_data);
gboolean    (*GTypeClassCacheFunc)          (gpointer cache_data,
                                             GTypeClass *g_class);
enum        GTypeFlags;
GType       g_type_register_static          (GType parent_type,
                                             const gchar *type_name,
                                             const GTypeInfo *info,
                                             GTypeFlags flags);
GType       g_type_register_dynamic         (GType parent_type,
                                             const gchar *type_name,
                                             GTypePlugin *plugin,
                                             GTypeFlags flags);
GType       g_type_register_fundamental     (GType type_id,
                                             const gchar *type_name,
                                             const GTypeInfo *info,
                                             const GTypeFundamentalInfo *finfo,
                                             GTypeFlags flags);
void        g_type_add_interface_static     (GType instance_type,
                                             GType interface_type,
                                             const GInterfaceInfo *info);
void        g_type_add_interface_dynamic    (GType instance_type,
                                             GType interface_type,
                                             GTypePlugin *plugin);
gboolean    g_type_class_is_a               (GTypeClass *g_class,
                                             GType is_a_type);
GTypeClass* g_type_check_class_cast         (GTypeClass *g_class,
                                             GType is_a_type);
GTypeInstance* g_type_check_instance_cast   (GTypeInstance *instance,
                                             GType iface_type);
gboolean    g_type_instance_conforms_to     (GTypeInstance *instance,
                                             GType iface_type);
gboolean    g_type_check_flags              (GType type,
                                             guint flags);
GTypeInstance* g_type_create_instance       (GType type);
void        g_type_free_instance            (GTypeInstance *instance);
GTypeValueTable* g_type_value_table_peek    (GType type);
void        g_type_add_class_cache_func     (gpointer cache_data,
                                             GTypeClassCacheFunc cache_func);
void        g_type_remove_class_cache_func  (gpointer cache_data,
                                             GTypeClassCacheFunc cache_func);
void        g_type_class_unref_uncached     (gpointer g_class);
GTypePlugin* g_type_get_plugin              (GType type);
GType       g_type_fundamental_last         (void);
gboolean    g_type_check_instance           (GTypeInstance *instance);
gboolean    g_type_check_value              (GValue *value);
gboolean    g_type_value_conforms_to        (GValue *value,
                                             GType type);

Description

Details

GType

typedef guint32                         GType;


G_TYPE_FUNDAMENTAL()

#define G_TYPE_FUNDAMENTAL(type)                ((type) & 0xff)

type : 


G_TYPE_FUNDAMENTAL_MAX

#define	G_TYPE_FUNDAMENTAL_MAX			(0xff)


G_TYPE_DERIVE_ID()

#define G_TYPE_DERIVE_ID(ptype, branch_seqno)   (G_TYPE_FUNDAMENTAL (ptype) | ((branch_seqno) << 8))

ptype : 
branch_seqno : 


G_TYPE_BRANCH_SEQNO()

#define G_TYPE_BRANCH_SEQNO(type)               ((type) >> 8)

type : 


G_TYPE_FUNDAMENTAL_LAST

#define G_TYPE_FUNDAMENTAL_LAST                 ((GType) g_type_fundamental_last ())


enum GTypeFundamentals

typedef enum    /*< skip >*/
{
  /* standard types, introduced by g_type_init() */
  G_TYPE_INVALID,
  G_TYPE_NONE,
  G_TYPE_INTERFACE,

  /* GLib type ids */
  G_TYPE_CHAR,
  G_TYPE_UCHAR,
  G_TYPE_BOOLEAN,
  G_TYPE_INT,
  G_TYPE_UINT,
  G_TYPE_LONG,
  G_TYPE_ULONG,
  G_TYPE_ENUM,
  G_TYPE_FLAGS,
  G_TYPE_FLOAT,
  G_TYPE_DOUBLE,
  G_TYPE_STRING,
  G_TYPE_PARAM,
  G_TYPE_BOXED,
  G_TYPE_POINTER,
  G_TYPE_OBJECT,

  /* the following reserved ids should vanish soon */
  G_TYPE_GTK_SIGNAL,

  /* reserved fundamental type ids,
   * mail gtk-devel-list@redhat.com for reservations
   */
  G_TYPE_BSE_PROCEDURE,
  G_TYPE_BSE_TIME,
  G_TYPE_BSE_NOTE,
  G_TYPE_BSE_DOTS,
  G_TYPE_GLE_GOBJECT,

  G_TYPE_LAST_RESERVED_FUNDAMENTAL,

  /* derived type ids */
  /* FIXME: G_TYPE_PARAM_INTERFACE */
  G_TYPE_PARAM_CHAR             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 1),
  G_TYPE_PARAM_UCHAR            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 2),
  G_TYPE_PARAM_BOOLEAN          = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 3),
  G_TYPE_PARAM_INT              = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 4),
  G_TYPE_PARAM_UINT             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 5),
  G_TYPE_PARAM_LONG             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 6),
  G_TYPE_PARAM_ULONG            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 7),
  G_TYPE_PARAM_ENUM             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 8),
  G_TYPE_PARAM_FLAGS            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 9),
  G_TYPE_PARAM_FLOAT            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 10),
  G_TYPE_PARAM_DOUBLE           = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 11),
  G_TYPE_PARAM_STRING           = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 12),
  /* FIXME: G_TYPE_PARAM_PARAM */
  G_TYPE_PARAM_OBJECT           = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 13)
} GTypeFundamentals;


G_TYPE_IS_CLASSED()

#define G_TYPE_IS_CLASSED(type)                 (g_type_check_flags ((type), G_TYPE_FLAG_CLASSED))

type : 


G_TYPE_IS_INSTANTIATABLE()

#define G_TYPE_IS_INSTANTIATABLE(type)          (g_type_check_flags ((type), G_TYPE_FLAG_INSTANTIATABLE))

type : 


G_TYPE_IS_DERIVABLE()

#define G_TYPE_IS_DERIVABLE(type)               (g_type_check_flags ((type), G_TYPE_FLAG_DERIVABLE))

type : 


G_TYPE_IS_DEEP_DERIVABLE()

#define G_TYPE_IS_DEEP_DERIVABLE(type)          (g_type_check_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE))

type : 


G_TYPE_IS_INTERFACE()

#define G_TYPE_IS_INTERFACE(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)

type : 


struct GTypeInterface

struct GTypeInterface
{
  /*< private >*/
  GType g_type;         /* iface type */
  GType g_instance_type;
};


struct GTypeInstance

struct GTypeInstance
{
  /*< private >*/
  GTypeClass *g_class;
};


struct GTypeInfo

struct GTypeInfo
{
  /* interface types, classed types, instantiated types */
  guint16                class_size;

  GBaseInitFunc          base_init;
  GBaseFinalizeFunc      base_finalize;

  /* classed types, instantiated types */
  GClassInitFunc         class_init;
  GClassFinalizeFunc     class_finalize;
  gconstpointer          class_data;

  /* instantiated types */
  guint16                instance_size;
  guint16                n_preallocs;
  GInstanceInitFunc      instance_init;

  /* value handling */
  const GTypeValueTable	*value_table;
};


struct GTypeFundamentalInfo

struct GTypeFundamentalInfo
{
  GTypeFundamentalFlags  type_flags;
};


struct GInterfaceInfo

struct GInterfaceInfo
{
  GInterfaceInitFunc     interface_init;
  GInterfaceFinalizeFunc interface_finalize;
  gpointer               interface_data;
};


struct GTypeValueTable

struct GTypeValueTable
{
  void     (*value_init)         (GValue       *value);
  void     (*value_free)         (GValue       *value);
  void     (*value_copy)         (const GValue *src_value,
				  GValue       *dest_value);
  /* varargs functionality (optional) */
  gpointer (*value_peek_pointer) (const GValue *value);
  guint      collect_type;
  gchar*   (*collect_value)      (GValue       *value,
				  guint         nth_value,
				  GType        *collect_type,
				  GTypeCValue  *collect_value);
  guint      lcopy_type;
  gchar*   (*lcopy_value)        (const GValue *value,
				  guint         nth_value,
				  GType        *collect_type,
				  GTypeCValue  *collect_value);
};


G_TYPE_CHECK_INSTANCE_CAST()

#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))

instance : 
g_type : 
c_type : 


G_TYPE_CHECK_CLASS_CAST()

#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))

g_class : 
g_type : 
c_type : 


G_TYPE_CHECK_INSTANCE_TYPE()

#define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT ((instance), (g_type)))

instance : 
g_type : 


G_TYPE_CHECK_CLASS_TYPE()

#define G_TYPE_CHECK_CLASS_TYPE(g_class, g_type)                (_G_TYPE_CCT ((g_class), (g_type)))

g_class : 
g_type : 


G_TYPE_INSTANCE_GET_CLASS()

#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))

instance : 
g_type : 
c_type : 


G_TYPE_FROM_INSTANCE()

#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))

instance : 


G_TYPE_FROM_CLASS()

#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)

g_class : 


G_TYPE_FROM_INTERFACE()

#define G_TYPE_FROM_INTERFACE(g_iface)                          (((GTypeInterface*) (g_iface))->g_type)

g_iface : 


g_type_init ()

void        g_type_init                     (void);


g_type_name ()

gchar*      g_type_name                     (GType type);

type : 
Returns : 


g_type_qname ()

GQuark      g_type_qname                    (GType type);

type : 
Returns : 


g_type_from_name ()

GType       g_type_from_name                (const gchar *name);

name : 
Returns : 


g_type_parent ()

GType       g_type_parent                   (GType type);

type : 
Returns : 


g_type_next_base ()

GType       g_type_next_base                (GType type,
                                             GType base_type);

type : 
base_type : 
Returns : 


g_type_is_a ()

gboolean    g_type_is_a                     (GType type,
                                             GType is_a_type);

type : 
is_a_type : 
Returns : 


g_type_conforms_to ()

gboolean    g_type_conforms_to              (GType type,
                                             GType iface_type);

type : 
iface_type : 
Returns : 


g_type_fundamental_branch_last ()

guint       g_type_fundamental_branch_last  (GType type);

type : 
Returns : 


g_type_class_ref ()

gpointer    g_type_class_ref                (GType type);

type : 
Returns : 


g_type_class_peek ()

gpointer    g_type_class_peek               (GType type);

type : 
Returns : 


g_type_class_unref ()

void        g_type_class_unref              (gpointer g_class);

g_class : 


g_type_class_peek_parent ()

gpointer    g_type_class_peek_parent        (gpointer g_class);

g_class : 
Returns : 


g_type_interface_peek ()

gpointer    g_type_interface_peek           (gpointer instance_class,
                                             GType iface_type);

instance_class : 
iface_type : 
Returns : 


g_type_children ()

GType*      g_type_children                 (GType type,
                                             guint *n_children);

type : 
n_children : 
Returns : 


g_type_interfaces ()

GType*      g_type_interfaces               (GType type,
                                             guint *n_interfaces);

type : 
n_interfaces : 
Returns : 


g_type_set_qdata ()

void        g_type_set_qdata                (GType type,
                                             GQuark quark,
                                             gpointer data);

type : 
quark : 
data : 


g_type_get_qdata ()

gpointer    g_type_get_qdata                (GType type,
                                             GQuark quark);

type : 
quark : 
Returns : 


GBaseInitFunc ()

void        (*GBaseInitFunc)                (gpointer g_class);

g_class : 


GBaseFinalizeFunc ()

void        (*GBaseFinalizeFunc)            (gpointer g_class);

g_class : 


GClassInitFunc ()

void        (*GClassInitFunc)               (gpointer g_class,
                                             gpointer class_data);

g_class : 
class_data : 


GClassFinalizeFunc ()

void        (*GClassFinalizeFunc)           (gpointer g_class,
                                             gpointer class_data);

g_class : 
class_data : 


GInstanceInitFunc ()

void        (*GInstanceInitFunc)            (GTypeInstance *instance,
                                             gpointer g_class);

instance : 
g_class : 


GInterfaceInitFunc ()

void        (*GInterfaceInitFunc)           (gpointer g_iface,
                                             gpointer iface_data);

g_iface : 
iface_data : 


GInterfaceFinalizeFunc ()

void        (*GInterfaceFinalizeFunc)       (gpointer g_iface,
                                             gpointer iface_data);

g_iface : 
iface_data : 


GTypeClassCacheFunc ()

gboolean    (*GTypeClassCacheFunc)          (gpointer cache_data,
                                             GTypeClass *g_class);

cache_data : 
g_class : 
Returns : 


enum GTypeFlags

typedef enum    /*< skip >*/
{
  G_TYPE_FLAG_ABSTRACT          = (1 << 4)
} GTypeFlags;


g_type_register_static ()

GType       g_type_register_static          (GType parent_type,
                                             const gchar *type_name,
                                             const GTypeInfo *info,
                                             GTypeFlags flags);

parent_type : 
type_name : 
info : 
flags : 
Returns : 


g_type_register_dynamic ()

GType       g_type_register_dynamic         (GType parent_type,
                                             const gchar *type_name,
                                             GTypePlugin *plugin,
                                             GTypeFlags flags);

parent_type : 
type_name : 
plugin : 
flags : 
Returns : 


g_type_register_fundamental ()

GType       g_type_register_fundamental     (GType type_id,
                                             const gchar *type_name,
                                             const GTypeInfo *info,
                                             const GTypeFundamentalInfo *finfo,
                                             GTypeFlags flags);

type_id : 
type_name : 
info : 
finfo : 
flags : 
Returns : 


g_type_add_interface_static ()

void        g_type_add_interface_static     (GType instance_type,
                                             GType interface_type,
                                             const GInterfaceInfo *info);

instance_type : 
interface_type : 
info : 


g_type_add_interface_dynamic ()

void        g_type_add_interface_dynamic    (GType instance_type,
                                             GType interface_type,
                                             GTypePlugin *plugin);

instance_type : 
interface_type : 
plugin : 


g_type_class_is_a ()

gboolean    g_type_class_is_a               (GTypeClass *g_class,
                                             GType is_a_type);

g_class : 
is_a_type : 
Returns : 


g_type_check_class_cast ()

GTypeClass* g_type_check_class_cast         (GTypeClass *g_class,
                                             GType is_a_type);

g_class : 
is_a_type : 
Returns : 


g_type_check_instance_cast ()

GTypeInstance* g_type_check_instance_cast   (GTypeInstance *instance,
                                             GType iface_type);

instance : 
iface_type : 
Returns : 


g_type_instance_conforms_to ()

gboolean    g_type_instance_conforms_to     (GTypeInstance *instance,
                                             GType iface_type);

instance : 
iface_type : 
Returns : 


g_type_check_flags ()

gboolean    g_type_check_flags              (GType type,
                                             guint flags);

type : 
flags : 
Returns : 


g_type_create_instance ()

GTypeInstance* g_type_create_instance       (GType type);

type : 
Returns : 


g_type_free_instance ()

void        g_type_free_instance            (GTypeInstance *instance);

instance : 


g_type_value_table_peek ()

GTypeValueTable* g_type_value_table_peek    (GType type);

type : 
Returns : 


g_type_add_class_cache_func ()

void        g_type_add_class_cache_func     (gpointer cache_data,
                                             GTypeClassCacheFunc cache_func);

cache_data : 
cache_func : 


g_type_remove_class_cache_func ()

void        g_type_remove_class_cache_func  (gpointer cache_data,
                                             GTypeClassCacheFunc cache_func);

cache_data : 
cache_func : 


g_type_class_unref_uncached ()

void        g_type_class_unref_uncached     (gpointer g_class);

g_class : 


g_type_get_plugin ()

GTypePlugin* g_type_get_plugin              (GType type);

type : 
Returns : 


g_type_fundamental_last ()

GType       g_type_fundamental_last         (void);

Returns : 


g_type_check_instance ()

gboolean    g_type_check_instance           (GTypeInstance *instance);

instance : 
Returns : 


g_type_check_value ()

gboolean    g_type_check_value              (GValue *value);

value : 
Returns : 


g_type_value_conforms_to ()

gboolean    g_type_value_conforms_to        (GValue *value,
                                             GType type);

value : 
type : 
Returns :