added support for a "default vtable" per interface, that interface vtables

Tue Sep  2 19:37:21 2003  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: added support for a "default vtable" per interface,
        that interface vtables are initialized from.
        the default vtable is initialized and finalized through class_init,
        class_finalize and class_data from the interfaces GTypeInfo struct.
        (type_data_last_unref_Wm): unload child plugin before unreffing
        parent type.

        testifaceinit.c: minor fixups. fixed up base_init() assertions, since
        with a default vtable, base_init() may be called multiple times.
        added default initializer to iface1.
This commit is contained in:
Tim Janik
2003-09-02 17:57:22 +00:00
committed by Tim Janik
parent de059b53bc
commit 558507bc5a
8 changed files with 233 additions and 75 deletions

View File

@@ -154,7 +154,7 @@ Looks up a #GEnumValue by name.
@enum_class: a #GEnumClass
@name: the name to look up
@Returns: the #GEnumValue with name @name, or %NULL if the enumeration doesn'
t have a member with that name
t have a member with that name
<!-- ##### FUNCTION g_enum_get_value_by_nick ##### -->
@@ -165,7 +165,7 @@ Looks up a #GEnumValue by nickname.
@enum_class: a #GEnumClass
@nick: the nickname to look up
@Returns: the #GEnumValue with nickname @nick, or %NULL if the enumeration doesn'
t have a member with that nickname
t have a member with that nickname
<!-- ##### FUNCTION g_flags_get_first_value ##### -->
@@ -174,7 +174,7 @@ Returns the first #GFlagsValue which is set in @value.
</para>
@flags_class: a #GFlagsClass
@value: the value
@value: the value
@Returns: the first #GFlagsValue which is set in @value, or %NULL if none is set
@@ -186,7 +186,7 @@ Looks up a #GFlagsValue by name.
@flags_class: a #GFlagsClass
@name: the name to look up
@Returns: the #GFlagsValue with name @name, or %NULL if there is no flag with
that name
that name
<!-- ##### FUNCTION g_flags_get_value_by_nick ##### -->
@@ -197,7 +197,7 @@ Looks up a #GFlagsValue by nickname.
@flags_class: a #GFlagsClass
@nick: the nickname to look up
@Returns: the #GFlagsValue with nickname @nick, or %NULL if there is no flag
with that nickname
with that nickname
<!-- ##### FUNCTION g_enum_register_static ##### -->

View File

@@ -473,6 +473,7 @@ class_init function with g_type_class_add_private().
@g_type: the type identifying which private data to retrieve.
@c_type: The C type for the private structure.
<!-- ##### MACRO G_TYPE_CHECK_INSTANCE ##### -->
<para>
@@ -746,6 +747,7 @@ my_object_get_some_field (MyObject *my_object)
@g_class: class structure for an instantiatable type
@private_size: size of private structure.
<!-- ##### FUNCTION g_type_interface_peek ##### -->
<para>
Returns the #GTypeInterface structure of an interface to which the passed in
@@ -1469,3 +1471,6 @@ mode: sgml
sgml-parent-document: ("../gobject-docs.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -914,7 +914,7 @@ See g_param_spec_internal() for details on property names.
@name: canonical name of the property specified
@nick: nick name for the property specified
@blurb: description of the property specified
@enum_type: a #GType derived from %G_TYPE_ENUM
@enum_type: a #GType derived from %G_TYPE_ENUM
@default_value: default value for the property specified
@flags: flags for the property specified
@Returns: a newly created parameter specification
@@ -979,7 +979,6 @@ properties.
@flags_class: the #GFlagsClass for the flags
@default_value: default value for the property specified
<!-- ##### FUNCTION g_param_spec_flags ##### -->
<para>
Creates a new #GParamSpecEnum instance specifying a %G_TYPE_FLAGS
@@ -992,7 +991,7 @@ See g_param_spec_internal() for details on property names.
@name: canonical name of the property specified
@nick: nick name for the property specified
@blurb: description of the property specified
@flags_type: a #GType derived from %G_TYPE_FLAGS
@flags_type: a #GType derived from %G_TYPE_FLAGS
@default_value: default value for the property specified
@flags: flags for the property specified
@Returns: a newly created parameter specification
@@ -1110,8 +1109,8 @@ This is an internal function introduced mainly for C marshallers.
@value: a valid #GValue of type %G_TYPE_STRING
@v_string: duplicated unowned string to be set
@value: a valid #GValue
<!-- # Unused Parameters # -->
@value: a valid #GValue
@v_string: string to be set
@@ -1172,7 +1171,6 @@ properties.
@parent_instance: private #GParamSpec portion
<!-- ##### FUNCTION g_param_spec_param ##### -->
<para>
Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM
@@ -1186,9 +1184,10 @@ See g_param_spec_internal() for details on property names.
@nick: nick name for the property specified
@blurb: description of the property specified
@param_type: a #GType derived from %G_TYPE_PARAM
@default_value: default value for the property specified
@flags: flags for the property specified
@Returns: a newly created parameter specification
<!-- # Unused Parameters # -->
@default_value: default value for the property specified
<!-- ##### FUNCTION g_value_set_param ##### -->
@@ -1257,6 +1256,7 @@ The #GType of #GParamSpecBoxed.
</para>
<!-- ##### STRUCT GParamSpecBoxed ##### -->
<para>
A #GParamSpec derived structure that contains the meta data for boxed properties.
@@ -1368,7 +1368,6 @@ A #GParamSpec derived structure that contains the meta data for pointer properti
@parent_instance: private #GParamSpec portion
<!-- ##### FUNCTION g_param_spec_pointer ##### -->
<para>
Creates a new #GParamSpecPoiner instance specifying a pointer property.
@@ -1440,7 +1439,6 @@ A #GParamSpec derived structure that contains the meta data for object propertie
@parent_instance: private #GParamSpec portion
<!-- ##### FUNCTION g_param_spec_object ##### -->
<para>
Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT