1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
7 <!-- ##### SECTION Long_Description ##### -->
12 <!-- ##### SECTION See_Also ##### -->
17 <!-- ##### TYPEDEF GType ##### -->
23 <!-- ##### MACRO G_TYPE_FUNDAMENTAL ##### -->
31 <!-- ##### MACRO G_TYPE_FUNDAMENTAL_MAX ##### -->
38 <!-- ##### MACRO G_TYPE_DERIVE_ID ##### -->
47 <!-- ##### MACRO G_TYPE_BRANCH_SEQNO ##### -->
55 <!-- ##### MACRO G_TYPE_FUNDAMENTAL_LAST ##### -->
62 <!-- ##### MACRO G_TYPE_IS_ABSTRACT ##### -->
70 <!-- ##### MACRO G_TYPE_IS_DERIVED ##### -->
78 <!-- ##### MACRO G_TYPE_IS_FUNDAMENTAL ##### -->
86 <!-- ##### MACRO G_TYPE_IS_VALUE_TYPE ##### -->
94 <!-- ##### MACRO G_TYPE_IS_CLASSED ##### -->
102 <!-- ##### MACRO G_TYPE_IS_INSTANTIATABLE ##### -->
110 <!-- ##### MACRO G_TYPE_IS_DERIVABLE ##### -->
118 <!-- ##### MACRO G_TYPE_IS_DEEP_DERIVABLE ##### -->
126 <!-- ##### MACRO G_TYPE_IS_INTERFACE ##### -->
134 <!-- ##### ENUM GTypeFundamentals ##### -->
160 @G_TYPE_BSE_PROCEDURE:
165 @G_TYPE_LAST_RESERVED_FUNDAMENTAL:
168 @G_TYPE_PARAM_BOOLEAN:
176 @G_TYPE_PARAM_DOUBLE:
177 @G_TYPE_PARAM_STRING:
179 @G_TYPE_PARAM_POINTER:
180 @G_TYPE_PARAM_CCALLBACK:
182 @G_TYPE_PARAM_OBJECT:
184 <!-- ##### STRUCT GTypeInterface ##### -->
190 <!-- ##### STRUCT GTypeInstance ##### -->
196 <!-- ##### STRUCT GTypeInfo ##### -->
212 <!-- ##### STRUCT GTypeFundamentalInfo ##### -->
219 <!-- ##### STRUCT GInterfaceInfo ##### -->
228 <!-- ##### STRUCT GTypeValueTable ##### -->
242 <!-- ##### MACRO G_TYPE_FROM_INSTANCE ##### -->
250 <!-- ##### MACRO G_TYPE_FROM_CLASS ##### -->
258 <!-- ##### MACRO G_TYPE_FROM_INTERFACE ##### -->
266 <!-- ##### MACRO G_TYPE_INSTANCE_GET_CLASS ##### -->
276 <!-- ##### MACRO G_TYPE_INSTANCE_GET_INTERFACE ##### -->
286 <!-- ##### MACRO G_TYPE_CHECK_INSTANCE ##### -->
294 <!-- ##### MACRO G_TYPE_CHECK_INSTANCE_CAST ##### -->
304 <!-- ##### MACRO G_TYPE_CHECK_INSTANCE_TYPE ##### -->
313 <!-- ##### MACRO G_TYPE_CHECK_CLASS_CAST ##### -->
323 <!-- ##### MACRO G_TYPE_CHECK_CLASS_TYPE ##### -->
332 <!-- ##### MACRO G_TYPE_CHECK_VALUE ##### -->
340 <!-- ##### MACRO G_TYPE_CHECK_VALUE_TYPE ##### -->
349 <!-- ##### FUNCTION g_type_init ##### -->
351 Prior to any use of the type system, g_type_init() has to be called to initialize
352 the type system and assorted other code portions (such as the various fundamental
353 type implementations or the signal system).
358 <!-- ##### FUNCTION g_type_name ##### -->
360 Return the unique name that is assigned to a type ID (this is the preferred method
361 to find out whether a specific type has been registered for the passed in ID yet).
364 @type: Type to return name for.
365 @Returns: Static type name or NULL.
368 <!-- ##### FUNCTION g_type_qname ##### -->
370 Return the corresponding quark of the type IDs name.
373 @type: Type to return quark of type name for.
374 @Returns: The type names quark or 0.
377 <!-- ##### FUNCTION g_type_from_name ##### -->
379 Lookup the type ID from a given type name, returns 0 if no type has been registered under this name
380 (this is the preferred method to find out by name whether a specific type has been registered yet).
383 @name: Type name to lookup.
384 @Returns: Corresponding type ID or 0.
387 <!-- ##### FUNCTION g_type_parent ##### -->
389 Return the direct parent type of the passed in type.
390 If the passed in type has no parent, i.e. is a fundamental type, 0 is returned.
393 @type: The derived type.
394 @Returns: The parent type.
397 <!-- ##### FUNCTION g_type_next_base ##### -->
399 Given a @type and a @base_type which is contained in its anchestry, return
400 the type that @base_type is the direct parent type for.
401 In other words, for a given type branch, e.g. Root-Derived1-Derived2-Leaf, specified
402 through @type=Leaf, return the nextmost child of @base_type. In this example, for
403 @base_type=Derived1, the returned value would be Derived2, for @base_type=Root, the
404 returned value would be Derived1.
407 @type: Descendant of @base_type and the type to be returned.
408 @base_type: Direct parent of the returned type.
409 @Returns: Immediate child of @base_type and anchestor of @type.
412 <!-- ##### FUNCTION g_type_is_a ##### -->
414 Check whether @type is a descendant of @is_a_type.
417 @type: Type to check anchestry for.
418 @is_a_type: Possible anchestor of @type.
419 @Returns: %TRUE if @type is_a @is_a_type holds true.
422 <!-- ##### FUNCTION g_type_fundamental_branch_last ##### -->
431 <!-- ##### FUNCTION g_type_class_ref ##### -->
440 <!-- ##### FUNCTION g_type_class_peek ##### -->
449 <!-- ##### FUNCTION g_type_class_unref ##### -->
457 <!-- ##### FUNCTION g_type_class_peek_parent ##### -->
466 <!-- ##### FUNCTION g_type_interface_peek ##### -->
476 <!-- ##### FUNCTION g_type_children ##### -->
478 Return a newly allocated and 0 terminated array of type IDs, listing the
479 child types of @type. The return value has to be g_free()ed after use.
482 @type: The parent type.
483 @n_children: Optional #guint pointer to contain the number of child types.
484 @Returns: Newly allocated and 0 terminated array of child types.
487 <!-- ##### FUNCTION g_type_interfaces ##### -->
489 Return a newly allocated and 0 terminated array of type IDs, listing the
490 interface types that @type conforms to. The return value has to be
491 g_free()ed after use.
494 @type: The type to list interface types for.
495 @n_interfaces: Optional #guint pointer to contain the number of interface types.
496 @Returns: Newly allocated and 0 terminated array of interface types.
499 <!-- ##### FUNCTION g_type_set_qdata ##### -->
509 <!-- ##### FUNCTION g_type_get_qdata ##### -->
519 <!-- ##### USER_FUNCTION GBaseInitFunc ##### -->
527 <!-- ##### USER_FUNCTION GBaseFinalizeFunc ##### -->
535 <!-- ##### USER_FUNCTION GClassInitFunc ##### -->
544 <!-- ##### USER_FUNCTION GClassFinalizeFunc ##### -->
553 <!-- ##### USER_FUNCTION GInstanceInitFunc ##### -->
562 <!-- ##### USER_FUNCTION GInterfaceInitFunc ##### -->
571 <!-- ##### USER_FUNCTION GInterfaceFinalizeFunc ##### -->
580 <!-- ##### USER_FUNCTION GTypeClassCacheFunc ##### -->
590 <!-- ##### ENUM GTypeFlags ##### -->
595 @G_TYPE_FLAG_ABSTRACT:
597 <!-- ##### ENUM GTypeFundamentalFlags ##### -->
602 @G_TYPE_FLAG_CLASSED:
603 @G_TYPE_FLAG_INSTANTIATABLE:
604 @G_TYPE_FLAG_DERIVABLE:
605 @G_TYPE_FLAG_DEEP_DERIVABLE:
607 <!-- ##### FUNCTION g_type_register_static ##### -->
619 <!-- ##### FUNCTION g_type_register_dynamic ##### -->
631 <!-- ##### FUNCTION g_type_register_fundamental ##### -->
644 <!-- ##### FUNCTION g_type_add_interface_static ##### -->
654 <!-- ##### FUNCTION g_type_add_interface_dynamic ##### -->
664 <!-- ##### FUNCTION g_type_get_plugin ##### -->
673 <!-- ##### FUNCTION g_type_interface_get_plugin ##### -->
679 @implementation_type:
683 <!-- ##### FUNCTION g_type_fundamental_last ##### -->
691 <!-- ##### FUNCTION g_type_check_flags ##### -->
701 <!-- ##### FUNCTION g_type_create_instance ##### -->
710 <!-- ##### FUNCTION g_type_free_instance ##### -->
718 <!-- ##### FUNCTION g_type_add_class_cache_func ##### -->
727 <!-- ##### FUNCTION g_type_remove_class_cache_func ##### -->
736 <!-- ##### FUNCTION g_type_class_unref_uncached ##### -->
744 <!-- ##### FUNCTION g_type_check_instance ##### -->
753 <!-- ##### FUNCTION g_type_check_instance_cast ##### -->
763 <!-- ##### FUNCTION g_type_instance_is_a ##### -->
773 <!-- ##### FUNCTION g_type_check_class_cast ##### -->
783 <!-- ##### FUNCTION g_type_class_is_a ##### -->
793 <!-- ##### FUNCTION g_type_check_value ##### -->
802 <!-- ##### FUNCTION g_type_value_is_a ##### -->
812 <!-- ##### FUNCTION g_type_value_table_peek ##### -->