GTypeInfo

This structure is used to provide the type system with the information required to initialize and destruct (finalize) a type's class and its instances. The initialized structure is passed to the g_type_register_static() function (or is copied into the provided GTypeInfo structure in the g_type_plugin_complete_type_info()). The type system will perform a deep copy of this structure, so its memory does not need to be persistent across invocation of g_type_register_static(). guint16 class_size; Size of the class structure (required for interface, classed and instantiatable types). GBaseInitFunc base_init; Location of the base initialization function (optional). GBaseFinalizeFunc base_finalize; Location of the base finalization function (optional). GClassInitFunc class_init; Location of the class initialization function for classed and instantiatable types. Location of the default vtable inititalization function for interface types. (optional) This function is used both to fill in virtual functions in the class or default vtable, and to do type-specific setup such as registering signals and object properties. GClassFinalizeFunc class_finalize; Location of the class finalization function for classed and instantiatable types. Location fo the default vtable finalization function for interface types. (optional) gconstpointer class_data; User-supplied data passed to the class init/finalize functions. guint16 instance_size; Size of the instance (object) structure (required for instantiatable types only). guint16 n_preallocs; Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the slice allocator now. GInstanceInitFunc instance_init; Location of the instance initialization function (optional, for instantiatable types only). const GTypeValueTable *value_table; A GTypeValueTable function table for generic handling of GValues of this type (usually only useful for fundamental types).

Members

Variables

baseFinalize
GBaseFinalizeFunc baseFinalize;
Undocumented in source.
baseInit
GBaseInitFunc baseInit;
Undocumented in source.
classData
void* classData;
Undocumented in source.
classFinalize
GClassFinalizeFunc classFinalize;
Undocumented in source.
classInit
GClassInitFunc classInit;
Undocumented in source.
classSize
ushort classSize;
Undocumented in source.
instanceInit
GInstanceInitFunc instanceInit;
Undocumented in source.
instanceSize
ushort instanceSize;
Undocumented in source.
nPreallocs
ushort nPreallocs;
Undocumented in source.
valueTable
GTypeValueTable* valueTable;
Undocumented in source.

Meta