~ubuntu-branches/debian/sid/glib2.0/sid

« back to all changes in this revision

Viewing changes to docs/reference/gobject/html/gobject-Type-Information.html

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2013-05-08 06:25:57 UTC
  • mfrom: (1.27.14) (3.1.181 experimental)
  • Revision ID: package-import@ubuntu.com-20130508062557-i7gbku66mls70gi2
Tags: 2.36.1-2
Merge experimental branch, upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
<link rel="up" href="rn01.html" title="API Reference">
9
9
<link rel="prev" href="rn01.html" title="API Reference">
10
10
<link rel="next" href="GTypePlugin.html" title="GTypePlugin">
11
 
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
</head>
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
95
95
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-init" title="g_type_init ()">g_type_init</a>                         (<em class="parameter"><code><span class="type">void</span></code></em>);
96
96
enum                <a class="link" href="gobject-Type-Information.html#GTypeDebugFlags" title="enum GTypeDebugFlags">GTypeDebugFlags</a>;
97
97
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-init-with-debug-flags" title="g_type_init_with_debug_flags ()">g_type_init_with_debug_flags</a>        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeDebugFlags" title="enum GTypeDebugFlags"><span class="type">GTypeDebugFlags</span></a> debug_flags</code></em>);
98
 
const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gobject-Type-Information.html#g-type-name" title="g_type_name ()">g_type_name</a>                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
99
 
<a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="gobject-Type-Information.html#g-type-qname" title="g_type_qname ()">g_type_qname</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
100
 
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-from-name" title="g_type_from_name ()">g_type_from_name</a>                    (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
 
98
const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gobject-Type-Information.html#g-type-name" title="g_type_name ()">g_type_name</a>                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
99
<a href="../glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="gobject-Type-Information.html#g-type-qname" title="g_type_qname ()">g_type_qname</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
100
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-from-name" title="g_type_from_name ()">g_type_from_name</a>                    (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
101
101
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-parent" title="g_type_parent ()">g_type_parent</a>                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
102
 
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-depth" title="g_type_depth ()">g_type_depth</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
102
<a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-depth" title="g_type_depth ()">g_type_depth</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
103
103
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-next-base" title="g_type_next_base ()">g_type_next_base</a>                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> leaf_type</code></em>,
104
104
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> root_type</code></em>);
105
 
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-is-a" title="g_type_is_a ()">g_type_is_a</a>                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
 
105
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-is-a" title="g_type_is_a ()">g_type_is_a</a>                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
106
106
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> is_a_type</code></em>);
107
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-ref" title="g_type_class_ref ()">g_type_class_ref</a>                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
108
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-peek" title="g_type_class_peek ()">g_type_class_peek</a>                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
109
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-peek-static" title="g_type_class_peek_static ()">g_type_class_peek_static</a>            (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
110
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-class-unref" title="g_type_class_unref ()">g_type_class_unref</a>                  (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
111
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-peek-parent" title="g_type_class_peek_parent ()">g_type_class_peek_parent</a>            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
112
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-class-add-private" title="g_type_class_add_private ()">g_type_class_add_private</a>            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
113
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);
 
107
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-ref" title="g_type_class_ref ()">g_type_class_ref</a>                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
108
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-peek" title="g_type_class_peek ()">g_type_class_peek</a>                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
109
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-peek-static" title="g_type_class_peek_static ()">g_type_class_peek_static</a>            (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
110
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-class-unref" title="g_type_class_unref ()">g_type_class_unref</a>                  (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
 
111
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-class-peek-parent" title="g_type_class_peek_parent ()">g_type_class_peek_parent</a>            (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
 
112
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-class-add-private" title="g_type_class_add_private ()">g_type_class_add_private</a>            (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
 
113
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);
114
114
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-add-class-private" title="g_type_add_class_private ()">g_type_add_class_private</a>            (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> class_type</code></em>,
115
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);
116
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-interface-peek" title="g_type_interface_peek ()">g_type_interface_peek</a>               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance_class</code></em>,
 
115
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);
 
116
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-interface-peek" title="g_type_interface_peek ()">g_type_interface_peek</a>               (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance_class</code></em>,
117
117
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> iface_type</code></em>);
118
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-interface-peek-parent" title="g_type_interface_peek_parent ()">g_type_interface_peek_parent</a>        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);
119
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()">g_type_default_interface_ref</a>        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);
120
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()">g_type_default_interface_peek</a>       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);
121
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-default-interface-unref" title="g_type_default_interface_unref ()">g_type_default_interface_unref</a>      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);
 
118
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-interface-peek-parent" title="g_type_interface_peek_parent ()">g_type_interface_peek_parent</a>        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);
 
119
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()">g_type_default_interface_ref</a>        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);
 
120
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()">g_type_default_interface_peek</a>       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);
 
121
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-default-interface-unref" title="g_type_default_interface_unref ()">g_type_default_interface_unref</a>      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);
122
122
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a> *             <a class="link" href="gobject-Type-Information.html#g-type-children" title="g_type_children ()">g_type_children</a>                     (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
123
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_children</code></em>);
 
123
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_children</code></em>);
124
124
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a> *             <a class="link" href="gobject-Type-Information.html#g-type-interfaces" title="g_type_interfaces ()">g_type_interfaces</a>                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
125
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_interfaces</code></em>);
 
125
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_interfaces</code></em>);
126
126
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a> *             <a class="link" href="gobject-Type-Information.html#g-type-interface-prerequisites" title="g_type_interface_prerequisites ()">g_type_interface_prerequisites</a>      (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> interface_type</code></em>,
127
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_prerequisites</code></em>);
 
127
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_prerequisites</code></em>);
128
128
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-set-qdata" title="g_type_set_qdata ()">g_type_set_qdata</a>                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
129
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
130
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
131
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-get-qdata" title="g_type_get_qdata ()">g_type_get_qdata</a>                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
132
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
 
129
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
130
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
131
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Type-Information.html#g-type-get-qdata" title="g_type_get_qdata ()">g_type_get_qdata</a>                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
 
132
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
133
133
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-query" title="g_type_query ()">g_type_query</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
134
134
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeQuery" title="struct GTypeQuery"><span class="type">GTypeQuery</span></a> *query</code></em>);
135
135
struct              <a class="link" href="gobject-Type-Information.html#GTypeQuery" title="struct GTypeQuery">GTypeQuery</a>;
136
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GBaseInitFunc" title="GBaseInitFunc ()">*GBaseInitFunc</a>)                    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
137
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GBaseFinalizeFunc" title="GBaseFinalizeFunc ()">*GBaseFinalizeFunc</a>)                (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
138
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GClassInitFunc" title="GClassInitFunc ()">*GClassInitFunc</a>)                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
139
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);
140
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GClassFinalizeFunc" title="GClassFinalizeFunc ()">*GClassFinalizeFunc</a>)               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
141
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);
 
136
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GBaseInitFunc" title="GBaseInitFunc ()">*GBaseInitFunc</a>)                    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
 
137
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GBaseFinalizeFunc" title="GBaseFinalizeFunc ()">*GBaseFinalizeFunc</a>)                (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
 
138
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GClassInitFunc" title="GClassInitFunc ()">*GClassInitFunc</a>)                   (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
 
139
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);
 
140
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GClassFinalizeFunc" title="GClassFinalizeFunc ()">*GClassFinalizeFunc</a>)               (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
 
141
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);
142
142
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GInstanceInitFunc" title="GInstanceInitFunc ()">*GInstanceInitFunc</a>)                (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInstance" title="struct GTypeInstance"><span class="type">GTypeInstance</span></a> *instance</code></em>,
143
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
144
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GInterfaceInitFunc" title="GInterfaceInitFunc ()">*GInterfaceInitFunc</a>)               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
145
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);
146
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GInterfaceFinalizeFunc" title="GInterfaceFinalizeFunc ()">*GInterfaceFinalizeFunc</a>)           (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
147
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);
148
 
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()">*GTypeClassCacheFunc</a>)              (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
 
143
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
 
144
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GInterfaceInitFunc" title="GInterfaceInitFunc ()">*GInterfaceInitFunc</a>)               (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
145
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);
 
146
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GInterfaceFinalizeFunc" title="GInterfaceFinalizeFunc ()">*GInterfaceFinalizeFunc</a>)           (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
147
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);
 
148
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()">*GTypeClassCacheFunc</a>)              (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
149
149
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> *g_class</code></em>);
150
150
enum                <a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags">GTypeFlags</a>;
151
151
enum                <a class="link" href="gobject-Type-Information.html#GTypeFundamentalFlags" title="enum GTypeFundamentalFlags">GTypeFundamentalFlags</a>;
152
152
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-register-static" title="g_type_register_static ()">g_type_register_static</a>              (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> parent_type</code></em>,
153
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
153
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
154
154
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="struct GTypeInfo"><span class="type">GTypeInfo</span></a> *info</code></em>,
155
155
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);
156
156
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-register-static-simple" title="g_type_register_static_simple ()">g_type_register_static_simple</a>       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> parent_type</code></em>,
157
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
158
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> class_size</code></em>,
 
157
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
158
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> class_size</code></em>,
159
159
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GClassInitFunc" title="GClassInitFunc ()"><span class="type">GClassInitFunc</span></a> class_init</code></em>,
160
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> instance_size</code></em>,
 
160
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> instance_size</code></em>,
161
161
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GInstanceInitFunc" title="GInstanceInitFunc ()"><span class="type">GInstanceInitFunc</span></a> instance_init</code></em>,
162
162
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);
163
163
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-register-dynamic" title="g_type_register_dynamic ()">g_type_register_dynamic</a>             (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> parent_type</code></em>,
164
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
164
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
165
165
                                                         <em class="parameter"><code><a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> *plugin</code></em>,
166
166
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);
167
167
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-register-fundamental" title="g_type_register_fundamental ()">g_type_register_fundamental</a>         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type_id</code></em>,
168
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
168
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
169
169
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="struct GTypeInfo"><span class="type">GTypeInfo</span></a> *info</code></em>,
170
170
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Type-Information.html#GTypeFundamentalInfo" title="struct GTypeFundamentalInfo"><span class="type">GTypeFundamentalInfo</span></a> *finfo</code></em>,
171
171
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);
184
184
<a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-fundamental" title="g_type_fundamental ()">g_type_fundamental</a>                  (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type_id</code></em>);
185
185
<a class="link" href="gobject-Type-Information.html#GTypeInstance" title="struct GTypeInstance"><span class="returnvalue">GTypeInstance</span></a> *     <a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()">g_type_create_instance</a>              (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
186
186
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-free-instance" title="g_type_free_instance ()">g_type_free_instance</a>                (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInstance" title="struct GTypeInstance"><span class="type">GTypeInstance</span></a> *instance</code></em>);
187
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-add-class-cache-func" title="g_type_add_class_cache_func ()">g_type_add_class_cache_func</a>         (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
188
 
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> cache_func</code></em>);
189
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-remove-class-cache-func" title="g_type_remove_class_cache_func ()">g_type_remove_class_cache_func</a>      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
190
 
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> cache_func</code></em>);
191
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-class-unref-uncached" title="g_type_class_unref_uncached ()">g_type_class_unref_uncached</a>         (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
192
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-add-interface-check" title="g_type_add_interface_check ()">g_type_add_interface_check</a>          (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
193
 
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()"><span class="type">GTypeInterfaceCheckFunc</span></a> check_func</code></em>);
194
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-remove-interface-check" title="g_type_remove_interface_check ()">g_type_remove_interface_check</a>       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
195
 
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()"><span class="type">GTypeInterfaceCheckFunc</span></a> check_func</code></em>);
196
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()">*GTypeInterfaceCheckFunc</a>)          (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
197
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);
 
187
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-add-class-cache-func" title="g_type_add_class_cache_func ()">g_type_add_class_cache_func</a>         (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
 
188
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> cache_func</code></em>);
 
189
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-remove-class-cache-func" title="g_type_remove_class_cache_func ()">g_type_remove_class_cache_func</a>      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
 
190
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> cache_func</code></em>);
 
191
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-class-unref-uncached" title="g_type_class_unref_uncached ()">g_type_class_unref_uncached</a>         (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);
 
192
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-add-interface-check" title="g_type_add_interface_check ()">g_type_add_interface_check</a>          (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
 
193
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()"><span class="type">GTypeInterfaceCheckFunc</span></a> check_func</code></em>);
 
194
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-remove-interface-check" title="g_type_remove_interface_check ()">g_type_remove_interface_check</a>       (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
 
195
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()"><span class="type">GTypeInterfaceCheckFunc</span></a> check_func</code></em>);
 
196
<span class="returnvalue">void</span>                (<a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()">*GTypeInterfaceCheckFunc</a>)          (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
 
197
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);
198
198
<a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="struct GTypeValueTable"><span class="returnvalue">GTypeValueTable</span></a> *   <a class="link" href="gobject-Type-Information.html#g-type-value-table-peek" title="g_type_value_table_peek ()">g_type_value_table_peek</a>             (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
199
<span class="returnvalue">void</span>                <a class="link" href="gobject-Type-Information.html#g-type-ensure" title="g_type_ensure ()">g_type_ensure</a>                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);
 
200
<a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Type-Information.html#g-type-get-type-registration-serial" title="g_type_get_type_registration_serial ()">g_type_get_type_registration_serial</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
199
201
#define             <a class="link" href="gobject-Type-Information.html#G-DEFINE-TYPE:CAPS" title="G_DEFINE_TYPE()">G_DEFINE_TYPE</a>                       (TN,
200
202
                                                         t_n,
201
203
                                                         T_P)
276
278
<p>
277
279
The GType API is the foundation of the GObject system.  It provides the
278
280
facilities for registering and managing all fundamental data types,
279
 
user-defined object and interface types.  Before using any GType
280
 
or GObject functions, <a class="link" href="gobject-Type-Information.html#g-type-init" title="g_type_init ()"><code class="function">g_type_init()</code></a> must be called to initialize the
281
 
type system.
 
281
user-defined object and interface types.
282
282
</p>
283
283
<p>
284
284
For type creation and registration purposes, all types fall into one of
305
305
including all parent types. Similarly, type instances' private data
306
306
(as created by <a class="link" href="gobject-Type-Information.html#g-type-class-add-private" title="g_type_class_add_private ()"><code class="function">g_type_class_add_private()</code></a>) are limited to a total of
307
307
64 KiB. If a type instance needs a large static buffer, allocate it
308
 
separately (typically by using <a href="./../glib/glib/glib-Arrays.html#GArray"><span class="type">GArray</span></a> or <a href="./../glib/glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a>) and put a pointer
 
308
separately (typically by using <a href="../glib/glib-Arrays.html#GArray"><span class="type">GArray</span></a> or <a href="../glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a>) and put a pointer
309
309
to the buffer in the structure.
310
310
</p>
311
311
<p>
406
406
<tr>
407
407
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
408
408
<td>
409
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
409
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
410
410
</tr>
411
411
</tbody>
412
412
</table></div>
434
434
<tr>
435
435
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
436
436
<td>
437
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
437
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
438
438
</tr>
439
439
</tbody>
440
440
</table></div>
460
460
<tr>
461
461
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
462
462
<td>
463
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
463
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
464
464
</tr>
465
465
</tbody>
466
466
</table></div>
486
486
<tr>
487
487
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
488
488
<td>
489
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
489
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
490
490
</tr>
491
491
</tbody>
492
492
</table></div>
512
512
<tr>
513
513
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
514
514
<td>
515
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
515
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
516
516
</tr>
517
517
</tbody>
518
518
</table></div>
538
538
<tr>
539
539
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
540
540
<td>
541
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
541
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
542
542
</tr>
543
543
</tbody>
544
544
</table></div>
565
565
<tr>
566
566
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
567
567
<td>
568
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
568
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
569
569
</tr>
570
570
</tbody>
571
571
</table></div>
592
592
<tr>
593
593
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
594
594
<td>
595
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
595
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
596
596
</tr>
597
597
</tbody>
598
598
</table></div>
619
619
<tr>
620
620
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
621
621
<td>
622
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
622
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
623
623
</tr>
624
624
</tbody>
625
625
</table></div>
651
651
<tr>
652
652
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
653
653
<td>
654
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
654
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
655
655
</tr>
656
656
</tbody>
657
657
</table></div>
727
727
</colgroup>
728
728
<tbody>
729
729
<tr>
730
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GTypeInfo.class-size"></a>class_size</code></em>;</span></p></td>
 
730
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GTypeInfo.class-size"></a>class_size</code></em>;</span></p></td>
731
731
<td>Size of the class structure (required for interface, classed and instantiatable types).</td>
732
732
</tr>
733
733
<tr>
754
754
finalization function for interface types. (optional)</td>
755
755
</tr>
756
756
<tr>
757
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> <em class="structfield"><code><a name="GTypeInfo.class-data"></a>class_data</code></em>;</span></p></td>
 
757
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> <em class="structfield"><code><a name="GTypeInfo.class-data"></a>class_data</code></em>;</span></p></td>
758
758
<td>User-supplied data passed to the class init/finalize functions.</td>
759
759
</tr>
760
760
<tr>
761
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GTypeInfo.instance-size"></a>instance_size</code></em>;</span></p></td>
 
761
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GTypeInfo.instance-size"></a>instance_size</code></em>;</span></p></td>
762
762
<td>Size of the instance (object) structure (required for instantiatable types only).</td>
763
763
</tr>
764
764
<tr>
765
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GTypeInfo.n-preallocs"></a>n_preallocs</code></em>;</span></p></td>
766
 
<td>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 <a href="./../glib/glib/glib-Memory-Slices.html">slice allocator</a> now.</td>
 
765
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GTypeInfo.n-preallocs"></a>n_preallocs</code></em>;</span></p></td>
 
766
<td>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 <a href="../glib/glib-Memory-Slices.html">slice allocator</a> now.</td>
767
767
</tr>
768
768
<tr>
769
769
<td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GInstanceInitFunc" title="GInstanceInitFunc ()"><span class="type">GInstanceInitFunc</span></a> <em class="structfield"><code><a name="GTypeInfo.instance-init"></a>instance_init</code></em>;</span></p></td>
828
828
<td>location of the interface finalization function</td>
829
829
</tr>
830
830
<tr>
831
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GInterfaceInfo.interface-data"></a>interface_data</code></em>;</span></p></td>
 
831
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GInterfaceInfo.interface-data"></a>interface_data</code></em>;</span></p></td>
832
832
<td>user-supplied data passed to the interface init/finalize functions</td>
833
833
</tr>
834
834
</tbody>
856
856
                                  guint         collect_flags);
857
857
};
858
858
</pre>
859
 
<p>
860
 
The <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="struct GTypeValueTable"><span class="type">GTypeValueTable</span></a> provides the functions required by the <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> implementation,
861
 
to serve as a container for values of a type.
862
 
</p>
863
859
<div class="variablelist"><table border="0" class="variablelist">
864
860
<colgroup>
865
861
<col align="left" valign="top">
874
870
with <code class="function"><code class="function">memset()</code></code>, so no care has to
875
871
be taken to free any
876
872
old contents. E.g. for the implementation of a string
877
 
value that may never be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the implementation might
 
873
value that may never be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the implementation might
878
874
look like:
879
875
<div class="informalexample">
880
876
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
881
877
    <tbody>
882
878
      <tr>
883
879
        <td class="listing_lines" align="right"><pre>1</pre></td>
884
 
        <td class="listing_code"><pre class="programlisting"><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">""</span><span class="symbol">);</span></pre></td>
 
880
        <td class="listing_code"><pre class="programlisting"><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">""</span><span class="symbol">);</span></pre></td>
885
881
      </tr>
886
882
    </tbody>
887
883
  </table>
904
900
3</pre></td>
905
901
        <td class="listing_code"><pre class="programlisting"><span class="comment">// only free strings without a specific flag for static storage</span>
906
902
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!(</span><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">1</span><span class="symbol">].</span><span class="normal">v_uint </span><span class="symbol">&amp;</span><span class="normal"> G_VALUE_NOCOPY_CONTENTS</span><span class="symbol">))</span>
907
 
<span class="function"><a href="./../glib/glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span></pre></td>
 
903
<span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span></pre></td>
908
904
      </tr>
909
905
    </tbody>
910
906
  </table>
927
923
    <tbody>
928
924
      <tr>
929
925
        <td class="listing_lines" align="right"><pre>1</pre></td>
930
 
        <td class="listing_code"><pre class="programlisting"><span class="normal">dest_value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">src_value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span></pre></td>
 
926
        <td class="listing_code"><pre class="programlisting"><span class="normal">dest_value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">src_value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span></pre></td>
931
927
      </tr>
932
928
    </tbody>
933
929
  </table>
954
950
</td>
955
951
</tr>
956
952
<tr>
957
 
<td><p><span class="term">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTypeValueTable.collect-format"></a>collect_format</code></em>;</span></p></td>
 
953
<td><p><span class="term">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTypeValueTable.collect-format"></a>collect_format</code></em>;</span></p></td>
958
954
<td>A string format describing how to collect the contents of
959
955
this value bit-by-bit. Each character in the format represents
960
956
an argument to be collected, and the characters themselves indicate
1002
998
values collected from a variable argument list into contents
1003
999
suitable for storage in a GValue. This function should setup
1004
1000
<em class="parameter"><code>value</code></em> similar to <code class="function">value_init()</code>; e.g. for a string value that
1005
 
does not allow <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointers, it needs to either spew an error,
 
1001
does not allow <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointers, it needs to either spew an error,
1006
1002
or do an implicit conversion by storing an empty string.
1007
1003
The <em class="parameter"><code>value</code></em> passed in to this function has a zero-filled data
1008
1004
array, so just like for <code class="function">value_init()</code> it is guaranteed to not
1034
1030
10
1035
1031
11</pre></td>
1036
1032
        <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">)</span>
1037
 
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">""</span><span class="symbol">);</span>
 
1033
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">""</span><span class="symbol">);</span>
1038
1034
<span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">collect_flags </span><span class="symbol">&amp;</span><span class="normal"> G_VALUE_NOCOPY_CONTENTS</span><span class="symbol">)</span>
1039
1035
<span class="cbracket">{</span>
1040
1036
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">;</span>
1042
1038
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">1</span><span class="symbol">].</span><span class="normal">v_uint </span><span class="symbol">=</span><span class="normal"> G_VALUE_NOCOPY_CONTENTS</span><span class="symbol">;</span>
1043
1039
<span class="cbracket">}</span>
1044
1040
<span class="keyword">else</span>
1045
 
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span>
1046
 
<span class="keyword">return</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span></pre></td>
 
1041
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span>
 
1042
<span class="keyword">return</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span></pre></td>
1047
1043
      </tr>
1048
1044
    </tbody>
1049
1045
  </table>
1076
1072
<span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span>
1077
1073
<span class="comment">// never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types</span>
1078
1074
<span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
1079
 
<span class="keyword">return</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
 
1075
<span class="keyword">return</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
1080
1076
<span class="cbracket">}</span>
1081
1077
<span class="keyword">else</span>
1082
 
<span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup-printf">g_strdup_printf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Object passed as invalid NULL pointer"</span><span class="symbol">);</span>
 
1078
<span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup-printf">g_strdup_printf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Object passed as invalid NULL pointer"</span><span class="symbol">);</span>
1083
1079
<span class="cbracket">}</span></pre></td>
1084
1080
      </tr>
1085
1081
    </tbody>
1087
1083
</div>
1088
1084
 
1089
1085
The reference count for valid objects is always incremented,
1090
 
regardless of <em class="parameter"><code>collect_flags</code></em>. For invalid objects, the example
1091
 
returns a newly allocated string without altering <em class="parameter"><code>value</code></em>.
1092
 
Upon success, <code class="function">collect_value()</code> needs to return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If, however,
1093
 
an error condition occurred, <code class="function">collect_value()</code> may spew an
1094
 
error by returning a newly allocated non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> string, giving
1095
 
a suitable description of the error condition.
1096
 
The calling code makes no assumptions about the <em class="parameter"><code>value</code></em>
1097
 
contents being valid upon error returns, <em class="parameter"><code>value</code></em>
1098
 
is simply thrown away without further freeing. As such, it is
1099
 
a good idea to not allocate <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> contents, prior to returning
1100
 
an error, however, <code class="function">collect_values()</code> is not obliged to return
1101
 
a correctly setup <em class="parameter"><code>value</code></em> for error returns, simply because
1102
 
any non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> return is considered a fatal condition so further
1103
 
program behaviour is undefined.</td>
 
1086
regardless of <em class="parameter"><code>collect_flags</code></em>. For invalid objects, the example</td>
1104
1087
</tr>
1105
1088
<tr>
1106
 
<td><p><span class="term">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTypeValueTable.lcopy-format"></a>lcopy_format</code></em>;</span></p></td>
1107
 
<td>Format description of the arguments to collect for <em class="parameter"><code>lcopy_value</code></em>,
1108
 
analogous to <em class="parameter"><code>collect_format</code></em>. Usually, <em class="parameter"><code>lcopy_format</code></em> string consists
1109
 
only of 'p's to provide <code class="function">lcopy_value()</code> with pointers to storage locations.</td>
 
1089
<td><p><span class="term">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTypeValueTable.lcopy-format"></a>lcopy_format</code></em>;</span></p></td>
 
1090
<td></td>
1110
1091
</tr>
1111
1092
<tr>
1112
1093
<td><p><span class="term"><em class="structfield"><code><a name="GTypeValueTable.lcopy-value"></a>lcopy_value</code></em> ()</span></p></td>
1113
 
<td>This function is responsible for storing the <em class="parameter"><code>value</code></em> contents into
1114
 
arguments passed through a variable argument list which got
1115
 
collected into <em class="parameter"><code>collect_values</code></em> according to <em class="parameter"><code>lcopy_format</code></em>.
1116
 
<em class="parameter"><code>n_collect_values</code></em> equals the string length of <em class="parameter"><code>lcopy_format</code></em>,
1117
 
and <em class="parameter"><code>collect_flags</code></em> may contain <code class="literal">G_VALUE_NOCOPY_CONTENTS</code>.
1118
 
In contrast to <code class="function">collect_value()</code>, <code class="function">lcopy_value()</code> is obliged to
1119
 
always properly support <code class="literal">G_VALUE_NOCOPY_CONTENTS</code>.
1120
 
Similar to <code class="function">collect_value()</code> the function may prematurely abort
1121
 
by returning a newly allocated string describing an error condition.
1122
 
To complete the string example:
1123
 
<div class="informalexample">
1124
 
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1125
 
    <tbody>
1126
 
      <tr>
1127
 
        <td class="listing_lines" align="right"><pre>1
1128
 
2
1129
 
3
1130
 
4
1131
 
5
1132
 
6
1133
 
7</pre></td>
1134
 
        <td class="listing_code"><pre class="programlisting"><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">string_p </span><span class="symbol">=</span><span class="normal"> collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">;</span>
1135
 
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">string_p</span><span class="symbol">)</span>
1136
 
<span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup-printf">g_strdup_printf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"string location passed as NULL"</span><span class="symbol">);</span>
1137
 
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">collect_flags </span><span class="symbol">&amp;</span><span class="normal"> G_VALUE_NOCOPY_CONTENTS</span><span class="symbol">)</span>
1138
 
<span class="symbol">*</span><span class="normal">string_p </span><span class="symbol">=</span><span class="normal"> value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">;</span>
1139
 
<span class="keyword">else</span>
1140
 
<span class="symbol">*</span><span class="normal">string_p </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span></pre></td>
1141
 
      </tr>
1142
 
    </tbody>
1143
 
  </table>
1144
 
</div>
1145
 
 
1146
 
And an illustrative version of <code class="function">lcopy_value()</code> for
1147
 
reference-counted types:
1148
 
<div class="informalexample">
1149
 
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1150
 
    <tbody>
1151
 
      <tr>
1152
 
        <td class="listing_lines" align="right"><pre>1
1153
 
2
1154
 
3
1155
 
4
1156
 
5
1157
 
6
1158
 
7
1159
 
8
1160
 
9
1161
 
10</pre></td>
1162
 
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">object_p </span><span class="symbol">=</span><span class="normal"> collect_values</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">;</span>
1163
 
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">object_p</span><span class="symbol">)</span>
1164
 
<span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup-printf">g_strdup_printf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"object location passed as NULL"</span><span class="symbol">);</span>
1165
 
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">)</span>
1166
 
<span class="symbol">*</span><span class="normal">object_p </span><span class="symbol">=</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
1167
 
<span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">collect_flags </span><span class="symbol">&amp;</span><span class="normal"> G_VALUE_NOCOPY_CONTENTS</span><span class="symbol">)</span><span class="normal"> </span><span class="comment">/* always honour */</span>
1168
 
<span class="symbol">*</span><span class="normal">object_p </span><span class="symbol">=</span><span class="normal"> value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">;</span>
1169
 
<span class="keyword">else</span>
1170
 
<span class="symbol">*</span><span class="normal">object_p </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">[</span><span class="number">0</span><span class="symbol">].</span><span class="normal">v_pointer</span><span class="symbol">);</span>
1171
 
<span class="keyword">return</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span></pre></td>
1172
 
      </tr>
1173
 
    </tbody>
1174
 
  </table>
1175
 
</div>
1176
 
 
1177
 
</td>
 
1094
<td></td>
1178
1095
</tr>
1179
1096
</tbody>
1180
1097
</table></div>
1428
1345
</pre>
1429
1346
<p>
1430
1347
Checks if <em class="parameter"><code>instance</code></em> is a valid <a class="link" href="gobject-Type-Information.html#GTypeInstance" title="struct GTypeInstance"><span class="type">GTypeInstance</span></a> structure,
1431
 
otherwise issues a warning and returns <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.
 
1348
otherwise issues a warning and returns <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.
1432
1349
</p>
1433
1350
<p>
1434
1351
This macro should only be used in type implementations.
1446
1363
<tr>
1447
1364
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1448
1365
<td>
1449
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
1366
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
1450
1367
</tr>
1451
1368
</tbody>
1452
1369
</table></div>
1513
1430
<tr>
1514
1431
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1515
1432
<td>
1516
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
1433
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
1517
1434
</tr>
1518
1435
</tbody>
1519
1436
</table></div>
1581
1498
<tr>
1582
1499
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1583
1500
<td>
1584
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
1501
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
1585
1502
</tr>
1586
1503
</tbody>
1587
1504
</table></div>
1612
1529
<tr>
1613
1530
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1614
1531
<td>
1615
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
1532
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
1616
1533
</tr>
1617
1534
</tbody>
1618
1535
</table></div>
1647
1564
<tr>
1648
1565
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1649
1566
<td>
1650
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
 
1567
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
1651
1568
</tr>
1652
1569
</tbody>
1653
1570
</table></div>
1665
1582
<div class="refsect2">
1666
1583
<a name="g-type-init"></a><h3>g_type_init ()</h3>
1667
1584
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_init                         (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1668
 
<p>
1669
 
Prior to any use of the type system, <a class="link" href="gobject-Type-Information.html#g-type-init" title="g_type_init ()"><code class="function">g_type_init()</code></a> has to be called
1670
 
to initialize the type system and assorted other code portions
1671
 
(such as the various fundamental type implementations or the signal
1672
 
system).
1673
 
</p>
1674
 
<p>
1675
 
This function is idempotent.
1676
 
</p>
1677
 
<p>
1678
 
Since version 2.24 this also initializes the thread system
 
1585
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1586
<h3 class="title">Warning</h3>
 
1587
<p><code class="literal">g_type_init</code> has been deprecated since version 2.36 and should not be used in newly-written code. the type system is now initialised automatically</p>
 
1588
</div>
 
1589
<p>
 
1590
This function used to initialise the type system.  Since GLib 2.36,
 
1591
the type system is initialised automatically and this function does
 
1592
nothing.
1679
1593
</p>
1680
1594
</div>
1681
1595
<hr>
1688
1602
  G_TYPE_DEBUG_MASK = 0x03
1689
1603
} GTypeDebugFlags;
1690
1604
</pre>
1691
 
<p>
1692
 
The <span class="type">GTypeDebugFlags</span> enumeration values can be passed to
1693
 
<a class="link" href="gobject-Type-Information.html#g-type-init-with-debug-flags" title="g_type_init_with_debug_flags ()"><code class="function">g_type_init_with_debug_flags()</code></a> to trigger debugging messages during runtime.
1694
 
Note that the messages can also be triggered by setting the
1695
 
<code class="envar">GOBJECT_DEBUG</code> environment variable to a ':'-separated list of 
1696
 
"objects" and "signals".
 
1605
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1606
<h3 class="title">Warning</h3>
 
1607
<p><code class="literal">GTypeDebugFlags</code> has been deprecated since version 2.36 and should not be used in newly-written code. <a class="link" href="gobject-Type-Information.html#g-type-init" title="g_type_init ()"><code class="function">g_type_init()</code></a> is now done automatically</p>
 
1608
</div>
 
1609
<p>
 
1610
These flags used to be passed to <a class="link" href="gobject-Type-Information.html#g-type-init-with-debug-flags" title="g_type_init_with_debug_flags ()"><code class="function">g_type_init_with_debug_flags()</code></a> which
 
1611
is now deprecated.
 
1612
</p>
 
1613
<p>
 
1614
If you need to enable debugging features, use the GOBJECT_DEBUG
 
1615
environment variable.
1697
1616
</p>
1698
1617
<div class="variablelist"><table border="0" class="variablelist">
1699
1618
<colgroup>
1728
1647
<div class="refsect2">
1729
1648
<a name="g-type-init-with-debug-flags"></a><h3>g_type_init_with_debug_flags ()</h3>
1730
1649
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_init_with_debug_flags        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeDebugFlags" title="enum GTypeDebugFlags"><span class="type">GTypeDebugFlags</span></a> debug_flags</code></em>);</pre>
 
1650
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1651
<h3 class="title">Warning</h3>
 
1652
<p><code class="literal">g_type_init_with_debug_flags</code> has been deprecated since version 2.36 and should not be used in newly-written code. the type system is now initialised automatically</p>
 
1653
</div>
1731
1654
<p>
1732
 
Similar to <a class="link" href="gobject-Type-Information.html#g-type-init" title="g_type_init ()"><code class="function">g_type_init()</code></a>, but additionally sets debug flags.
 
1655
This function used to initialise the type system with debugging
 
1656
flags.  Since GLib 2.36, the type system is initialised automatically
 
1657
and this function does nothing.
1733
1658
</p>
1734
1659
<p>
1735
 
This function is idempotent.
 
1660
If you need to enable debugging features, use the GOBJECT_DEBUG
 
1661
environment variable.
1736
1662
</p>
1737
1663
<div class="variablelist"><table border="0" class="variablelist">
1738
1664
<colgroup>
1749
1675
<hr>
1750
1676
<div class="refsect2">
1751
1677
<a name="g-type-name"></a><h3>g_type_name ()</h3>
1752
 
<pre class="programlisting">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       g_type_name                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
1678
<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       g_type_name                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
1753
1679
<p>
1754
1680
Get the unique name that is assigned to a type ID.  Note that this
1755
1681
function (like all other GType API) cannot cope with invalid type
1769
1695
</tr>
1770
1696
<tr>
1771
1697
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1772
 
<td>Static type name or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
 
1698
<td>Static type name or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
1773
1699
</tr>
1774
1700
</tbody>
1775
1701
</table></div>
1777
1703
<hr>
1778
1704
<div class="refsect2">
1779
1705
<a name="g-type-qname"></a><h3>g_type_qname ()</h3>
1780
 
<pre class="programlisting"><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              g_type_qname                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
1706
<pre class="programlisting"><a href="../glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              g_type_qname                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
1781
1707
<p>
1782
1708
Get the corresponding quark of the type IDs name.
1783
1709
</p>
1801
1727
<hr>
1802
1728
<div class="refsect2">
1803
1729
<a name="g-type-from-name"></a><h3>g_type_from_name ()</h3>
1804
 
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_type_from_name                    (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 
1730
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_type_from_name                    (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
1805
1731
<p>
1806
1732
Lookup the type ID from a given type name, returning 0 if no type
1807
1733
has been registered under this name (this is the preferred method
1853
1779
<hr>
1854
1780
<div class="refsect2">
1855
1781
<a name="g-type-depth"></a><h3>g_type_depth ()</h3>
1856
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_type_depth                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
1782
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_type_depth                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
1857
1783
<p>
1858
1784
Returns the length of the ancestry of the passed in type. This
1859
1785
includes the type itself, so that e.g. a fundamental type has depth 1.
1913
1839
<hr>
1914
1840
<div class="refsect2">
1915
1841
<a name="g-type-is-a"></a><h3>g_type_is_a ()</h3>
1916
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_type_is_a                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
 
1842
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_type_is_a                         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
1917
1843
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> is_a_type</code></em>);</pre>
1918
1844
<p>
1919
1845
If <em class="parameter"><code>is_a_type</code></em> is a derivable type, check whether <em class="parameter"><code>type</code></em> is a
1937
1863
<tr>
1938
1864
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1939
1865
<td>
1940
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>type</code></em> is_a <em class="parameter"><code>is_a_type</code></em> holds true.</td>
 
1866
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>type</code></em> is_a <em class="parameter"><code>is_a_type</code></em> holds true.</td>
1941
1867
</tr>
1942
1868
</tbody>
1943
1869
</table></div>
1945
1871
<hr>
1946
1872
<div class="refsect2">
1947
1873
<a name="g-type-class-ref"></a><h3>g_type_class_ref ()</h3>
1948
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_ref                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
1874
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_ref                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
1949
1875
<p>
1950
1876
Increments the reference count of the class structure belonging to
1951
1877
<em class="parameter"><code>type</code></em>. This function will demand-create the class if it doesn't
1964
1890
<tr>
1965
1891
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1966
1892
<td>The <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a>
1967
 
structure for the given type ID. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
1893
structure for the given type ID. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1968
1894
</td>
1969
1895
</tr>
1970
1896
</tbody>
1973
1899
<hr>
1974
1900
<div class="refsect2">
1975
1901
<a name="g-type-class-peek"></a><h3>g_type_class_peek ()</h3>
1976
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_peek                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
1902
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_peek                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
1977
1903
<p>
1978
1904
This function is essentially the same as <a class="link" href="gobject-Type-Information.html#g-type-class-ref" title="g_type_class_ref ()"><code class="function">g_type_class_ref()</code></a>, except that
1979
1905
the classes reference count isn't incremented. As a consequence, this function
1980
 
may return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class of the type passed in does not currently
 
1906
may return <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class of the type passed in does not currently
1981
1907
exist (hasn't been referenced before).
1982
1908
</p>
1983
1909
<div class="variablelist"><table border="0" class="variablelist">
1993
1919
<tr>
1994
1920
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1995
1921
<td>The <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a>
1996
 
structure for the given type ID or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class does not
1997
 
currently exist. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
1922
structure for the given type ID or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class does not
 
1923
currently exist. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1998
1924
</td>
1999
1925
</tr>
2000
1926
</tbody>
2003
1929
<hr>
2004
1930
<div class="refsect2">
2005
1931
<a name="g-type-class-peek-static"></a><h3>g_type_class_peek_static ()</h3>
2006
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_peek_static            (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
1932
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_peek_static            (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
2007
1933
<p>
2008
1934
A more efficient version of <a class="link" href="gobject-Type-Information.html#g-type-class-peek" title="g_type_class_peek ()"><code class="function">g_type_class_peek()</code></a> which works only for
2009
1935
static types.
2021
1947
<tr>
2022
1948
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2023
1949
<td>The <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a>
2024
 
structure for the given type ID or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class does not
2025
 
currently exist or is dynamically loaded. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
1950
structure for the given type ID or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class does not
 
1951
currently exist or is dynamically loaded. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2026
1952
</td>
2027
1953
</tr>
2028
1954
</tbody>
2032
1958
<hr>
2033
1959
<div class="refsect2">
2034
1960
<a name="g-type-class-unref"></a><h3>g_type_class_unref ()</h3>
2035
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_class_unref                  (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
 
1961
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_class_unref                  (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
2036
1962
<p>
2037
1963
Decrements the reference count of the class structure being passed in.
2038
1964
Once the last reference count of a class has been released, classes
2047
1973
<tbody><tr>
2048
1974
<td><p><span class="term"><em class="parameter"><code>g_class</code></em> :</span></p></td>
2049
1975
<td>The <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> structure to
2050
 
unreference. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
 
1976
unreference. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
2051
1977
</td>
2052
1978
</tr></tbody>
2053
1979
</table></div>
2055
1981
<hr>
2056
1982
<div class="refsect2">
2057
1983
<a name="g-type-class-peek-parent"></a><h3>g_type_class_peek_parent ()</h3>
2058
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_peek_parent            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
 
1984
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_class_peek_parent            (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
2059
1985
<p>
2060
1986
This is a convenience function often needed in class initializers.
2061
1987
It returns the class structure of the immediate parent type of the
2080
2006
<tr>
2081
2007
<td><p><span class="term"><em class="parameter"><code>g_class</code></em> :</span></p></td>
2082
2008
<td>The <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> structure to
2083
 
retrieve the parent class for. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
 
2009
retrieve the parent class for. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
2084
2010
</td>
2085
2011
</tr>
2086
2012
<tr>
2087
2013
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2088
2014
<td>The parent class
2089
 
of <em class="parameter"><code>g_class</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2015
of <em class="parameter"><code>g_class</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2090
2016
</td>
2091
2017
</tr>
2092
2018
</tbody>
2095
2021
<hr>
2096
2022
<div class="refsect2">
2097
2023
<a name="g-type-class-add-private"></a><h3>g_type_class_add_private ()</h3>
2098
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_class_add_private            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
2099
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);</pre>
 
2024
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_class_add_private            (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
 
2025
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);</pre>
2100
2026
<p>
2101
2027
Registers a private structure for an instantiatable type.
2102
2028
</p>
2108
2034
</p>
2109
2035
<p>
2110
2036
Note that the accumulated size of the private structures of
2111
 
a type and all its parent types cannot excced 64 KiB.
 
2037
a type and all its parent types cannot exceed 64 KiB.
2112
2038
</p>
2113
2039
<p>
2114
2040
This function should be called in the type's <code class="function">class_init()</code> function.
2200
2126
<span class="cbracket">{</span>
2201
2127
<span class="normal">  </span><span class="usertype">MyObjectPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv</span><span class="symbol">;</span>
2202
2128
 
2203
 
<span class="normal">  </span><span class="function"><a href="./../glib/glib/glib-Warnings-and-Assertions.html#g-return-val-if-fail">g_return_val_if_fail</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">MY_IS_OBJECT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">my_object</span><span class="symbol">),</span><span class="normal"> </span><span class="number">0</span><span class="symbol">);</span>
 
2129
<span class="normal">  </span><span class="function"><a href="../glib/glib-Warnings-and-Assertions.html#g-return-val-if-fail">g_return_val_if_fail</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">MY_IS_OBJECT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">my_object</span><span class="symbol">),</span><span class="normal"> </span><span class="number">0</span><span class="symbol">);</span>
2204
2130
 
2205
2131
<span class="normal">  priv </span><span class="symbol">=</span><span class="normal"> my_object</span><span class="symbol">-&gt;</span><span class="normal">priv</span><span class="symbol">;</span>
2206
2132
 
2235
2161
<div class="refsect2">
2236
2162
<a name="g-type-add-class-private"></a><h3>g_type_add_class_private ()</h3>
2237
2163
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_add_class_private            (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> class_type</code></em>,
2238
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);</pre>
 
2164
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> private_size</code></em>);</pre>
2239
2165
<p>
2240
2166
Registers a private class structure for a classed type;
2241
2167
when the class is allocated, the private structures for
2267
2193
<hr>
2268
2194
<div class="refsect2">
2269
2195
<a name="g-type-interface-peek"></a><h3>g_type_interface_peek ()</h3>
2270
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_interface_peek               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance_class</code></em>,
 
2196
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_interface_peek               (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance_class</code></em>,
2271
2197
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> iface_type</code></em>);</pre>
2272
2198
<p>
2273
2199
Returns the <a class="link" href="gobject-Type-Information.html#GTypeInterface" title="struct GTypeInterface"><span class="type">GTypeInterface</span></a> structure of an interface to which the
2281
2207
<tbody>
2282
2208
<tr>
2283
2209
<td><p><span class="term"><em class="parameter"><code>instance_class</code></em> :</span></p></td>
2284
 
<td>A <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> structure. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
 
2210
<td>A <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> structure. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
2285
2211
</td>
2286
2212
</tr>
2287
2213
<tr>
2291
2217
<tr>
2292
2218
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2293
2219
<td>The GTypeInterface
2294
 
structure of iface_type if implemented by <em class="parameter"><code>instance_class</code></em>, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2295
 
otherwise. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeInterface][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2220
structure of iface_type if implemented by <em class="parameter"><code>instance_class</code></em>, <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
2221
otherwise. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInterface][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2296
2222
</td>
2297
2223
</tr>
2298
2224
</tbody>
2301
2227
<hr>
2302
2228
<div class="refsect2">
2303
2229
<a name="g-type-interface-peek-parent"></a><h3>g_type_interface_peek_parent ()</h3>
2304
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_interface_peek_parent        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);</pre>
 
2230
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_interface_peek_parent        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);</pre>
2305
2231
<p>
2306
2232
Returns the corresponding <a class="link" href="gobject-Type-Information.html#GTypeInterface" title="struct GTypeInterface"><span class="type">GTypeInterface</span></a> structure of the parent type
2307
2233
of the instance type to which <em class="parameter"><code>g_iface</code></em> belongs. This is useful when
2316
2242
<tbody>
2317
2243
<tr>
2318
2244
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
2319
 
<td>A <a class="link" href="gobject-Type-Information.html#GTypeInterface" title="struct GTypeInterface"><span class="type">GTypeInterface</span></a> structure. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeInterface]</span>
 
2245
<td>A <a class="link" href="gobject-Type-Information.html#GTypeInterface" title="struct GTypeInterface"><span class="type">GTypeInterface</span></a> structure. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInterface]</span>
2320
2246
</td>
2321
2247
</tr>
2322
2248
<tr>
2323
2249
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2324
2250
<td>The
2325
2251
corresponding <a class="link" href="gobject-Type-Information.html#GTypeInterface" title="struct GTypeInterface"><span class="type">GTypeInterface</span></a> structure of the parent type of the
2326
 
instance type to which <em class="parameter"><code>g_iface</code></em> belongs, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the parent
2327
 
type doesn't conform to the interface. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeInterface]</span>
 
2252
instance type to which <em class="parameter"><code>g_iface</code></em> belongs, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the parent
 
2253
type doesn't conform to the interface. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInterface]</span>
2328
2254
</td>
2329
2255
</tr>
2330
2256
</tbody>
2333
2259
<hr>
2334
2260
<div class="refsect2">
2335
2261
<a name="g-type-default-interface-ref"></a><h3>g_type_default_interface_ref ()</h3>
2336
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_default_interface_ref        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);</pre>
 
2262
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_default_interface_ref        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);</pre>
2337
2263
<p>
2338
2264
Increments the reference count for the interface type <em class="parameter"><code>g_type</code></em>,
2339
2265
and returns the default interface vtable for the type.
2362
2288
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2363
2289
<td>the default
2364
2290
vtable for the interface; call <a class="link" href="gobject-Type-Information.html#g-type-default-interface-unref" title="g_type_default_interface_unref ()"><code class="function">g_type_default_interface_unref()</code></a>
2365
 
when you are done using the interface. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeInterface][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2291
when you are done using the interface. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInterface][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2366
2292
</td>
2367
2293
</tr>
2368
2294
</tbody>
2372
2298
<hr>
2373
2299
<div class="refsect2">
2374
2300
<a name="g-type-default-interface-peek"></a><h3>g_type_default_interface_peek ()</h3>
2375
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_default_interface_peek       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);</pre>
 
2301
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_default_interface_peek       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> g_type</code></em>);</pre>
2376
2302
<p>
2377
2303
If the interface type <em class="parameter"><code>g_type</code></em> is currently in use, returns its
2378
2304
default interface vtable.
2390
2316
<tr>
2391
2317
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2392
2318
<td>the default
2393
 
vtable for the interface, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the type is not currently in
2394
 
use. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeInterface][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2319
vtable for the interface, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the type is not currently in
 
2320
use. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInterface][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2395
2321
</td>
2396
2322
</tr>
2397
2323
</tbody>
2401
2327
<hr>
2402
2328
<div class="refsect2">
2403
2329
<a name="g-type-default-interface-unref"></a><h3>g_type_default_interface_unref ()</h3>
2404
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_default_interface_unref      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);</pre>
 
2330
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_default_interface_unref      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);</pre>
2405
2331
<p>
2406
2332
Decrements the reference count for the type corresponding to the
2407
2333
interface default vtable <em class="parameter"><code>g_iface</code></em>. If the type is dynamic, then
2419
2345
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
2420
2346
<td>the default vtable
2421
2347
structure for a interface, as returned by
2422
 
<a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()"><code class="function">g_type_default_interface_ref()</code></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeInterface]</span>
 
2348
<a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()"><code class="function">g_type_default_interface_ref()</code></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInterface]</span>
2423
2349
</td>
2424
2350
</tr></tbody>
2425
2351
</table></div>
2429
2355
<div class="refsect2">
2430
2356
<a name="g-type-children"></a><h3>g_type_children ()</h3>
2431
2357
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a> *             g_type_children                     (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
2432
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_children</code></em>);</pre>
 
2358
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_children</code></em>);</pre>
2433
2359
<p>
2434
2360
Return a newly allocated and 0-terminated array of type IDs, listing the
2435
 
child types of <em class="parameter"><code>type</code></em>. The return value has to be <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>ed after use.
 
2361
child types of <em class="parameter"><code>type</code></em>. The return value has to be <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>ed after use.
2436
2362
</p>
2437
2363
<div class="variablelist"><table border="0" class="variablelist">
2438
2364
<colgroup>
2446
2372
</tr>
2447
2373
<tr>
2448
2374
<td><p><span class="term"><em class="parameter"><code>n_children</code></em> :</span></p></td>
2449
 
<td>Optional <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> pointer to contain
 
2375
<td>Optional <a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> pointer to contain
2450
2376
the number of child types. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2451
2377
</td>
2452
2378
</tr>
2463
2389
<div class="refsect2">
2464
2390
<a name="g-type-interfaces"></a><h3>g_type_interfaces ()</h3>
2465
2391
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a> *             g_type_interfaces                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
2466
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_interfaces</code></em>);</pre>
 
2392
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_interfaces</code></em>);</pre>
2467
2393
<p>
2468
2394
Return a newly allocated and 0-terminated array of type IDs, listing the
2469
2395
interface types that <em class="parameter"><code>type</code></em> conforms to. The return value has to be
2470
 
<a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>ed after use.
 
2396
<a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>ed after use.
2471
2397
</p>
2472
2398
<div class="variablelist"><table border="0" class="variablelist">
2473
2399
<colgroup>
2481
2407
</tr>
2482
2408
<tr>
2483
2409
<td><p><span class="term"><em class="parameter"><code>n_interfaces</code></em> :</span></p></td>
2484
 
<td>Optional <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> pointer to
 
2410
<td>Optional <a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> pointer to
2485
2411
contain the number of interface types. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2486
2412
</td>
2487
2413
</tr>
2498
2424
<div class="refsect2">
2499
2425
<a name="g-type-interface-prerequisites"></a><h3>g_type_interface_prerequisites ()</h3>
2500
2426
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a> *             g_type_interface_prerequisites      (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> interface_type</code></em>,
2501
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_prerequisites</code></em>);</pre>
 
2427
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_prerequisites</code></em>);</pre>
2502
2428
<p>
2503
2429
Returns the prerequisites of an interfaces type.
2504
2430
</p>
2515
2441
<tr>
2516
2442
<td><p><span class="term"><em class="parameter"><code>n_prerequisites</code></em> :</span></p></td>
2517
2443
<td>location to return the number
2518
 
of prerequisites, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2444
of prerequisites, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2519
2445
</td>
2520
2446
</tr>
2521
2447
<tr>
2533
2459
<div class="refsect2">
2534
2460
<a name="g-type-set-qdata"></a><h3>g_type_set_qdata ()</h3>
2535
2461
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_set_qdata                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
2536
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2537
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
2462
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
2463
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
2538
2464
<p>
2539
2465
Attaches arbitrary data to a type.
2540
2466
</p>
2551
2477
</tr>
2552
2478
<tr>
2553
2479
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2554
 
<td>a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> id to identify the data</td>
 
2480
<td>a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> id to identify the data</td>
2555
2481
</tr>
2556
2482
<tr>
2557
2483
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2563
2489
<hr>
2564
2490
<div class="refsect2">
2565
2491
<a name="g-type-get-qdata"></a><h3>g_type_get_qdata ()</h3>
2566
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_get_qdata                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
2567
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
 
2492
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_type_get_qdata                    (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>,
 
2493
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
2568
2494
<p>
2569
2495
Obtains data which has previously been attached to <em class="parameter"><code>type</code></em>
2570
2496
with <a class="link" href="gobject-Type-Information.html#g-type-set-qdata" title="g_type_set_qdata ()"><code class="function">g_type_set_qdata()</code></a>.
2587
2513
</tr>
2588
2514
<tr>
2589
2515
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2590
 
<td>a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> id to identify the data</td>
 
2516
<td>a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> id to identify the data</td>
2591
2517
</tr>
2592
2518
<tr>
2593
2519
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2594
 
<td>the data, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no data was found. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2520
<td>the data, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no data was found. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2595
2521
</td>
2596
2522
</tr>
2597
2523
</tbody>
2623
2549
<tr>
2624
2550
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
2625
2551
<td>A user provided structure that is
2626
 
filled in with constant values upon success. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> caller-allocates]</span>
 
2552
filled in with constant values upon success. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
2627
2553
</td>
2628
2554
</tr>
2629
2555
</tbody>
2654
2580
<td>the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> value of the type.</td>
2655
2581
</tr>
2656
2582
<tr>
2657
 
<td><p><span class="term">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTypeQuery.type-name"></a>type_name</code></em>;</span></p></td>
 
2583
<td><p><span class="term">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTypeQuery.type-name"></a>type_name</code></em>;</span></p></td>
2658
2584
<td>the name of the type.</td>
2659
2585
</tr>
2660
2586
<tr>
2661
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GTypeQuery.class-size"></a>class_size</code></em>;</span></p></td>
 
2587
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GTypeQuery.class-size"></a>class_size</code></em>;</span></p></td>
2662
2588
<td>the size of the class structure.</td>
2663
2589
</tr>
2664
2590
<tr>
2665
 
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GTypeQuery.instance-size"></a>instance_size</code></em>;</span></p></td>
 
2591
<td><p><span class="term"><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GTypeQuery.instance-size"></a>instance_size</code></em>;</span></p></td>
2666
2592
<td>the size of the instance structure.</td>
2667
2593
</tr>
2668
2594
</tbody>
2671
2597
<hr>
2672
2598
<div class="refsect2">
2673
2599
<a name="GBaseInitFunc"></a><h3>GBaseInitFunc ()</h3>
2674
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GBaseInitFunc)                    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
 
2600
<pre class="programlisting"><span class="returnvalue">void</span>                (*GBaseInitFunc)                    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
2675
2601
<p>
2676
2602
A callback function used by the type system to do base initialization
2677
2603
of the class structures of derived types. It is called as part of the
2696
2622
<hr>
2697
2623
<div class="refsect2">
2698
2624
<a name="GBaseFinalizeFunc"></a><h3>GBaseFinalizeFunc ()</h3>
2699
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GBaseFinalizeFunc)                (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
 
2625
<pre class="programlisting"><span class="returnvalue">void</span>                (*GBaseFinalizeFunc)                (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
2700
2626
<p>
2701
2627
A callback function used by the type system to finalize those portions
2702
2628
of a derived types class structure that were setup from the corresponding
2718
2644
<hr>
2719
2645
<div class="refsect2">
2720
2646
<a name="GClassInitFunc"></a><h3>GClassInitFunc ()</h3>
2721
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GClassInitFunc)                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
2722
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);</pre>
 
2647
<pre class="programlisting"><span class="returnvalue">void</span>                (*GClassInitFunc)                   (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
 
2648
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);</pre>
2723
2649
<p>
2724
2650
A callback function used by the type system to initialize the class
2725
2651
of a specific type. This function should initialize all static class
2812
2738
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2813
2739
<span class="function">type_a_base_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TypeAClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
2814
2740
<span class="cbracket">{</span>
2815
 
<span class="normal">  class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_string </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"some string"</span><span class="symbol">);</span>
 
2741
<span class="normal">  class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_string </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"some string"</span><span class="symbol">);</span>
2816
2742
<span class="cbracket">}</span>
2817
2743
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2818
2744
<span class="function">type_a_base_class_finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TypeAClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
2819
2745
<span class="cbracket">{</span>
2820
 
<span class="normal">  </span><span class="function"><a href="./../glib/glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_string</span><span class="symbol">);</span>
 
2746
<span class="normal">  </span><span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_string</span><span class="symbol">);</span>
2821
2747
<span class="cbracket">}</span>
2822
2748
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2823
2749
<span class="function">type_a_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TypeAClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
2833
2759
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2834
2760
<span class="function">type_b_base_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TypeBClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
2835
2761
<span class="cbracket">{</span>
2836
 
<span class="normal">  class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_gstring </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Strings.html#g-string-new">g_string_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"some other string"</span><span class="symbol">);</span>
 
2762
<span class="normal">  class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_gstring </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-Strings.html#g-string-new">g_string_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"some other string"</span><span class="symbol">);</span>
2837
2763
<span class="cbracket">}</span>
2838
2764
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2839
2765
<span class="function">type_b_base_class_finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TypeBClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
2840
2766
<span class="cbracket">{</span>
2841
 
<span class="normal">  </span><span class="function"><a href="./../glib/glib/glib-Strings.html#g-string-free">g_string_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_gstring</span><span class="symbol">);</span>
 
2767
<span class="normal">  </span><span class="function"><a href="../glib/glib-Strings.html#g-string-free">g_string_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">-&gt;</span><span class="normal">dynamic_gstring</span><span class="symbol">);</span>
2842
2768
<span class="cbracket">}</span>
2843
2769
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2844
2770
<span class="function">type_b_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TypeBClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
2893
2819
<hr>
2894
2820
<div class="refsect2">
2895
2821
<a name="GClassFinalizeFunc"></a><h3>GClassFinalizeFunc ()</h3>
2896
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GClassFinalizeFunc)               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
2897
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);</pre>
 
2822
<pre class="programlisting"><span class="returnvalue">void</span>                (*GClassFinalizeFunc)               (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>,
 
2823
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> class_data</code></em>);</pre>
2898
2824
<p>
2899
2825
A callback function used by the type system to finalize a class.
2900
2826
This function is rarely needed, as dynamically allocated class resources
2925
2851
<div class="refsect2">
2926
2852
<a name="GInstanceInitFunc"></a><h3>GInstanceInitFunc ()</h3>
2927
2853
<pre class="programlisting"><span class="returnvalue">void</span>                (*GInstanceInitFunc)                (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInstance" title="struct GTypeInstance"><span class="type">GTypeInstance</span></a> *instance</code></em>,
2928
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
 
2854
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
2929
2855
<p>
2930
2856
A callback function used by the type system to initialize a new
2931
2857
instance of a type. This function initializes all instance members and
2955
2881
<hr>
2956
2882
<div class="refsect2">
2957
2883
<a name="GInterfaceInitFunc"></a><h3>GInterfaceInitFunc ()</h3>
2958
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GInterfaceInitFunc)               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
2959
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);</pre>
 
2884
<pre class="programlisting"><span class="returnvalue">void</span>                (*GInterfaceInitFunc)               (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
2885
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);</pre>
2960
2886
<p>
2961
2887
A callback function used by the type system to initialize a new
2962
2888
interface.  This function should initialize all internal data and
2982
2908
<hr>
2983
2909
<div class="refsect2">
2984
2910
<a name="GInterfaceFinalizeFunc"></a><h3>GInterfaceFinalizeFunc ()</h3>
2985
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GInterfaceFinalizeFunc)           (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
2986
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);</pre>
 
2911
<pre class="programlisting"><span class="returnvalue">void</span>                (*GInterfaceFinalizeFunc)           (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
2912
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> iface_data</code></em>);</pre>
2987
2913
<p>
2988
2914
A callback function used by the type system to finalize an interface.
2989
2915
This function should destroy any internal data and release any resources
3009
2935
<hr>
3010
2936
<div class="refsect2">
3011
2937
<a name="GTypeClassCacheFunc"></a><h3>GTypeClassCacheFunc ()</h3>
3012
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GTypeClassCacheFunc)              (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
 
2938
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GTypeClassCacheFunc)              (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
3013
2939
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> *g_class</code></em>);</pre>
3014
2940
<p>
3015
2941
A callback function which is called when the reference count of a class 
3040
2966
<tr>
3041
2967
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3042
2968
<td>
3043
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop further <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a>s from being
3044
 
called, <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to continue.</td>
 
2969
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop further <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a>s from being
 
2970
called, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to continue.</td>
3045
2971
</tr>
3046
2972
</tbody>
3047
2973
</table></div>
3126
3052
<div class="refsect2">
3127
3053
<a name="g-type-register-static"></a><h3>g_type_register_static ()</h3>
3128
3054
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_type_register_static              (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> parent_type</code></em>,
3129
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
3055
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
3130
3056
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="struct GTypeInfo"><span class="type">GTypeInfo</span></a> *info</code></em>,
3131
3057
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);</pre>
3132
3058
<p>
3169
3095
<div class="refsect2">
3170
3096
<a name="g-type-register-static-simple"></a><h3>g_type_register_static_simple ()</h3>
3171
3097
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_type_register_static_simple       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> parent_type</code></em>,
3172
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
3173
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> class_size</code></em>,
 
3098
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
3099
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> class_size</code></em>,
3174
3100
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GClassInitFunc" title="GClassInitFunc ()"><span class="type">GClassInitFunc</span></a> class_init</code></em>,
3175
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> instance_size</code></em>,
 
3101
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> instance_size</code></em>,
3176
3102
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GInstanceInitFunc" title="GInstanceInitFunc ()"><span class="type">GInstanceInitFunc</span></a> instance_init</code></em>,
3177
3103
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);</pre>
3178
3104
<p>
3227
3153
<div class="refsect2">
3228
3154
<a name="g-type-register-dynamic"></a><h3>g_type_register_dynamic ()</h3>
3229
3155
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_type_register_dynamic             (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> parent_type</code></em>,
3230
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
3156
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
3231
3157
                                                         <em class="parameter"><code><a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> *plugin</code></em>,
3232
3158
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);</pre>
3233
3159
<p>
3270
3196
<div class="refsect2">
3271
3197
<a name="g-type-register-fundamental"></a><h3>g_type_register_fundamental ()</h3>
3272
3198
<pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_type_register_fundamental         (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type_id</code></em>,
3273
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
 
3199
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_name</code></em>,
3274
3200
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="struct GTypeInfo"><span class="type">GTypeInfo</span></a> *info</code></em>,
3275
3201
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Type-Information.html#GTypeFundamentalInfo" title="struct GTypeFundamentalInfo"><span class="type">GTypeFundamentalInfo</span></a> *finfo</code></em>,
3276
3202
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags"><span class="type">GTypeFlags</span></a> flags</code></em>);</pre>
3420
3346
<pre class="programlisting"><a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="returnvalue">GTypePlugin</span></a> *       g_type_get_plugin                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
3421
3347
<p>
3422
3348
Returns the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> structure for <em class="parameter"><code>type</code></em> or
3423
 
<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>type</code></em> does not have a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> structure.
 
3349
<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>type</code></em> does not have a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> structure.
3424
3350
</p>
3425
3351
<div class="variablelist"><table border="0" class="variablelist">
3426
3352
<colgroup>
3435
3361
<tr>
3436
3362
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3437
3363
<td>The corresponding plugin if <em class="parameter"><code>type</code></em> is a
3438
 
dynamic type, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
3364
dynamic type, <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
3439
3365
</td>
3440
3366
</tr>
3441
3367
</tbody>
3448
3374
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> interface_type</code></em>);</pre>
3449
3375
<p>
3450
3376
Returns the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> structure for the dynamic interface
3451
 
<em class="parameter"><code>interface_type</code></em> which has been added to <em class="parameter"><code>instance_type</code></em>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
 
3377
<em class="parameter"><code>interface_type</code></em> which has been added to <em class="parameter"><code>instance_type</code></em>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
3452
3378
<em class="parameter"><code>interface_type</code></em> has not been added to <em class="parameter"><code>instance_type</code></em> or does not
3453
3379
have a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> structure. See <a class="link" href="gobject-Type-Information.html#g-type-add-interface-dynamic" title="g_type_add_interface_dynamic ()"><code class="function">g_type_add_interface_dynamic()</code></a>.
3454
3380
</p>
3585
3511
<hr>
3586
3512
<div class="refsect2">
3587
3513
<a name="g-type-add-class-cache-func"></a><h3>g_type_add_class_cache_func ()</h3>
3588
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_add_class_cache_func         (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
 
3514
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_add_class_cache_func         (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
3589
3515
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> cache_func</code></em>);</pre>
3590
3516
<p>
3591
3517
Adds a <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> to be called before the reference count of a
3592
3518
class goes from one to zero. This can be used to prevent premature class
3593
3519
destruction. All installed <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> functions will be chained
3594
 
until one of them returns <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. The functions have to check the class id
 
3520
until one of them returns <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. The functions have to check the class id
3595
3521
passed in to figure whether they actually want to cache the class of this
3596
3522
type, since all classes are routed through the same <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a>
3597
3523
chain.
3618
3544
<hr>
3619
3545
<div class="refsect2">
3620
3546
<a name="g-type-remove-class-cache-func"></a><h3>g_type_remove_class_cache_func ()</h3>
3621
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_remove_class_cache_func      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
 
3547
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_remove_class_cache_func      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> cache_data</code></em>,
3622
3548
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a> cache_func</code></em>);</pre>
3623
3549
<p>
3624
3550
Removes a previously installed <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a>. The cache
3647
3573
<hr>
3648
3574
<div class="refsect2">
3649
3575
<a name="g-type-class-unref-uncached"></a><h3>g_type_class_unref_uncached ()</h3>
3650
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_class_unref_uncached         (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
 
3576
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_class_unref_uncached         (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_class</code></em>);</pre>
3651
3577
<p>
3652
3578
A variant of <a class="link" href="gobject-Type-Information.html#g-type-class-unref" title="g_type_class_unref ()"><code class="function">g_type_class_unref()</code></a> for use in <a class="link" href="gobject-Type-Information.html#GTypeClassCacheFunc" title="GTypeClassCacheFunc ()"><span class="type">GTypeClassCacheFunc</span></a>
3653
3579
implementations. It unreferences a class without consulting the chain
3662
3588
<tbody><tr>
3663
3589
<td><p><span class="term"><em class="parameter"><code>g_class</code></em> :</span></p></td>
3664
3590
<td>The <a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> structure to
3665
 
unreference. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
 
3591
unreference. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeClass]</span>
3666
3592
</td>
3667
3593
</tr></tbody>
3668
3594
</table></div>
3670
3596
<hr>
3671
3597
<div class="refsect2">
3672
3598
<a name="g-type-add-interface-check"></a><h3>g_type_add_interface_check ()</h3>
3673
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_add_interface_check          (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
 
3599
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_add_interface_check          (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
3674
3600
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()"><span class="type">GTypeInterfaceCheckFunc</span></a> check_func</code></em>);</pre>
3675
3601
<p>
3676
3602
Adds a function to be called after an interface vtable is
3707
3633
<hr>
3708
3634
<div class="refsect2">
3709
3635
<a name="g-type-remove-interface-check"></a><h3>g_type_remove_interface_check ()</h3>
3710
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_remove_interface_check       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
 
3636
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_remove_interface_check       (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
3711
3637
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GTypeInterfaceCheckFunc" title="GTypeInterfaceCheckFunc ()"><span class="type">GTypeInterfaceCheckFunc</span></a> check_func</code></em>);</pre>
3712
3638
<p>
3713
3639
Removes an interface check function added with
3736
3662
<hr>
3737
3663
<div class="refsect2">
3738
3664
<a name="GTypeInterfaceCheckFunc"></a><h3>GTypeInterfaceCheckFunc ()</h3>
3739
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GTypeInterfaceCheckFunc)          (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
3740
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);</pre>
 
3665
<pre class="programlisting"><span class="returnvalue">void</span>                (*GTypeInterfaceCheckFunc)          (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> check_data</code></em>,
 
3666
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>);</pre>
3741
3667
<p>
3742
3668
A callback called after an interface vtable is initialized.
3743
3669
See <a class="link" href="gobject-Type-Information.html#g-type-add-interface-check" title="g_type_add_interface_check ()"><code class="function">g_type_add_interface_check()</code></a>.
3783
3709
<tr>
3784
3710
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3785
3711
<td>Location of the <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="struct GTypeValueTable"><span class="type">GTypeValueTable</span></a> associated with <em class="parameter"><code>type</code></em> or
3786
 
<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="struct GTypeValueTable"><span class="type">GTypeValueTable</span></a> associated with <em class="parameter"><code>type</code></em>.</td>
 
3712
<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="struct GTypeValueTable"><span class="type">GTypeValueTable</span></a> associated with <em class="parameter"><code>type</code></em>.</td>
3787
3713
</tr>
3788
3714
</tbody>
3789
3715
</table></div>
3790
3716
</div>
3791
3717
<hr>
3792
3718
<div class="refsect2">
 
3719
<a name="g-type-ensure"></a><h3>g_type_ensure ()</h3>
 
3720
<pre class="programlisting"><span class="returnvalue">void</span>                g_type_ensure                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
3721
<p>
 
3722
Ensures that the indicated <em class="parameter"><code>type</code></em> has been registered with the
 
3723
type system, and its <code class="function">_class_init()</code> method has been run.
 
3724
</p>
 
3725
<p>
 
3726
In theory, simply calling the type's <code class="function">_get_type()</code> method (or using
 
3727
the corresponding macro) is supposed take care of this. However,
 
3728
<code class="function">_get_type()</code> methods are often marked <a href="../glib/glib-Miscellaneous-Macros.html#G-GNUC-CONST:CAPS"><code class="literal">G_GNUC_CONST</code></a> for performance
 
3729
reasons, even though this is technically incorrect (since
 
3730
<a href="../glib/glib-Miscellaneous-Macros.html#G-GNUC-CONST:CAPS"><code class="literal">G_GNUC_CONST</code></a> requires that the function not have side effects,
 
3731
which <code class="function">_get_type()</code> methods do on the first call). As a result, if
 
3732
you write a bare call to a <code class="function">_get_type()</code> macro, it may get optimized
 
3733
out by the compiler. Using <a class="link" href="gobject-Type-Information.html#g-type-ensure" title="g_type_ensure ()"><code class="function">g_type_ensure()</code></a> guarantees that the
 
3734
type's <code class="function">_get_type()</code> method is called.
 
3735
</p>
 
3736
<div class="variablelist"><table border="0" class="variablelist">
 
3737
<colgroup>
 
3738
<col align="left" valign="top">
 
3739
<col>
 
3740
</colgroup>
 
3741
<tbody><tr>
 
3742
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
 
3743
<td>a <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a>.</td>
 
3744
</tr></tbody>
 
3745
</table></div>
 
3746
<p class="since">Since 2.34</p>
 
3747
</div>
 
3748
<hr>
 
3749
<div class="refsect2">
 
3750
<a name="g-type-get-type-registration-serial"></a><h3>g_type_get_type_registration_serial ()</h3>
 
3751
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_type_get_type_registration_serial (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 
3752
<p>
 
3753
Returns an opaque serial number that represents the state of the set of registered
 
3754
types. Any time a type is registred this serial changes, which means you can
 
3755
cache information based on type lookups (such as g_type_from_name) and know if
 
3756
the cache is still valid at a later time by comparing the current serial with
 
3757
the one at the type lookup.
 
3758
</p>
 
3759
<div class="variablelist"><table border="0" class="variablelist">
 
3760
<colgroup>
 
3761
<col align="left" valign="top">
 
3762
<col>
 
3763
</colgroup>
 
3764
<tbody><tr>
 
3765
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
3766
<td>An unsigned int, representing the state of type registrations.</td>
 
3767
</tr></tbody>
 
3768
</table></div>
 
3769
<p class="since">Since 2.36</p>
 
3770
</div>
 
3771
<hr>
 
3772
<div class="refsect2">
3793
3773
<a name="G-DEFINE-TYPE:CAPS"></a><h3>G_DEFINE_TYPE()</h3>
3794
3774
<pre class="programlisting">#define G_DEFINE_TYPE(TN, t_n, T_P)                     G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {})
3795
3775
</pre>
4113
4093
33</pre></td>
4114
4094
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal">     </span><span class="function">gtk_gadget_init</span><span class="normal">       </span><span class="symbol">(</span><span class="usertype">GtkGadget</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">self</span><span class="symbol">);</span>
4115
4095
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal">     </span><span class="function">gtk_gadget_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkGadgetClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">klass</span><span class="symbol">);</span>
4116
 
<span class="keyword">static</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> gtk_gadget_parent_class </span><span class="symbol">=</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
 
4096
<span class="keyword">static</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> gtk_gadget_parent_class </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
4117
4097
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal">     </span><span class="function">gtk_gadget_class_intern_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> klass</span><span class="symbol">)</span>
4118
4098
<span class="cbracket">{</span>
4119
4099
<span class="normal">  gtk_gadget_parent_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-Type-Information.html#g-type-class-peek-parent">g_type_class_peek_parent</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">klass</span><span class="symbol">);</span>
4124
4104
<span class="function">gtk_gadget_get_type</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
4125
4105
<span class="cbracket">{</span>
4126
4106
<span class="normal">  </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">volatile</span><span class="normal"> </span><span class="usertype">gsize</span><span class="normal"> g_define_type_id__volatile </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
4127
 
<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="./../glib/glib/glib-Threads.html#g-once-init-enter">g_once_init_enter</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">g_define_type_id__volatile</span><span class="symbol">))</span>
 
4107
<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="../glib/glib-Threads.html#g-once-init-enter">g_once_init_enter</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">g_define_type_id__volatile</span><span class="symbol">))</span>
4128
4108
<span class="normal">    </span><span class="cbracket">{</span>
4129
4109
<span class="normal">      </span><span class="usertype">GType</span><span class="normal"> g_define_type_id </span><span class="symbol">=</span>
4130
4110
<span class="normal">        </span><span class="function"><a href="gobject-Type-Information.html#g-type-register-static-simple">g_type_register_static_simple</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GTK_TYPE_WIDGET</span><span class="symbol">,</span>
4131
 
<span class="normal">                                       </span><span class="function"><a href="./../glib/glib/glib-Quarks.html#g-intern-static-string">g_intern_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"GtkGadget"</span><span class="symbol">),</span>
 
4111
<span class="normal">                                       </span><span class="function"><a href="../glib/glib-Quarks.html#g-intern-static-string">g_intern_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"GtkGadget"</span><span class="symbol">),</span>
4132
4112
<span class="normal">                                       </span><span class="keyword">sizeof</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GtkGadgetClass</span><span class="symbol">),</span>
4133
4113
<span class="normal">                                       </span><span class="symbol">(</span><span class="normal"><a href="gobject-Type-Information.html#GClassInitFunc">GClassInitFunc</a></span><span class="symbol">)</span><span class="normal"> gtk_gadget_class_intern_init</span><span class="symbol">,</span>
4134
4114
<span class="normal">                                       </span><span class="keyword">sizeof</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GtkGadget</span><span class="symbol">),</span>
4140
4120
<span class="normal">        </span><span class="cbracket">}</span><span class="symbol">;</span>
4141
4121
<span class="normal">        </span><span class="function"><a href="gobject-Type-Information.html#g-type-add-interface-static">g_type_add_interface_static</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">g_define_type_id</span><span class="symbol">,</span><span class="normal"> TYPE_GIZMO</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">g_implement_interface_info</span><span class="symbol">);</span>
4142
4122
<span class="normal">      </span><span class="cbracket">}</span>
4143
 
<span class="normal">      </span><span class="function"><a href="./../glib/glib/glib-Threads.html#g-once-init-leave">g_once_init_leave</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">g_define_type_id__volatile</span><span class="symbol">,</span><span class="normal"> g_define_type_id</span><span class="symbol">);</span>
 
4123
<span class="normal">      </span><span class="function"><a href="../glib/glib-Threads.html#g-once-init-leave">g_once_init_leave</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">g_define_type_id__volatile</span><span class="symbol">,</span><span class="normal"> g_define_type_id</span><span class="symbol">);</span>
4144
4124
<span class="normal">    </span><span class="cbracket">}</span>
4145
4125
<span class="normal">  </span><span class="keyword">return</span><span class="normal"> g_define_type_id__volatile</span><span class="symbol">;</span>
4146
4126
<span class="cbracket">}</span></pre></td>
4361
4341
<pre class="programlisting">#define G_TYPE_CHAR                 G_TYPE_MAKE_FUNDAMENTAL (3)
4362
4342
</pre>
4363
4343
<p>
4364
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>.
 
4344
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>.
4365
4345
The type designated by G_TYPE_CHAR is unconditionally an 8-bit signed integer.
4366
4346
This may or may not be the same type a the C type "gchar".
4367
4347
</p>
4372
4352
<pre class="programlisting">#define G_TYPE_UCHAR                        G_TYPE_MAKE_FUNDAMENTAL (4)
4373
4353
</pre>
4374
4354
<p>
4375
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a>.
 
4355
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a>.
4376
4356
</p>
4377
4357
</div>
4378
4358
<hr>
4381
4361
<pre class="programlisting">#define G_TYPE_BOOLEAN                      G_TYPE_MAKE_FUNDAMENTAL (5)
4382
4362
</pre>
4383
4363
<p>
4384
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>.
 
4364
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>.
4385
4365
</p>
4386
4366
</div>
4387
4367
<hr>
4390
4370
<pre class="programlisting">#define G_TYPE_INT                  G_TYPE_MAKE_FUNDAMENTAL (6)
4391
4371
</pre>
4392
4372
<p>
4393
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>.
 
4373
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>.
4394
4374
</p>
4395
4375
</div>
4396
4376
<hr>
4399
4379
<pre class="programlisting">#define G_TYPE_UINT                 G_TYPE_MAKE_FUNDAMENTAL (7)
4400
4380
</pre>
4401
4381
<p>
4402
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.
 
4382
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.
4403
4383
</p>
4404
4384
</div>
4405
4385
<hr>
4408
4388
<pre class="programlisting">#define G_TYPE_LONG                 G_TYPE_MAKE_FUNDAMENTAL (8)
4409
4389
</pre>
4410
4390
<p>
4411
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#glong"><span class="type">glong</span></a>.
 
4391
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#glong"><span class="type">glong</span></a>.
4412
4392
</p>
4413
4393
</div>
4414
4394
<hr>
4417
4397
<pre class="programlisting">#define G_TYPE_ULONG                        G_TYPE_MAKE_FUNDAMENTAL (9)
4418
4398
</pre>
4419
4399
<p>
4420
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a>.
 
4400
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a>.
4421
4401
</p>
4422
4402
</div>
4423
4403
<hr>
4426
4406
<pre class="programlisting">#define G_TYPE_INT64                        G_TYPE_MAKE_FUNDAMENTAL (10)
4427
4407
</pre>
4428
4408
<p>
4429
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a>.
 
4409
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a>.
4430
4410
</p>
4431
4411
</div>
4432
4412
<hr>
4435
4415
<pre class="programlisting">#define G_TYPE_UINT64                       G_TYPE_MAKE_FUNDAMENTAL (11)
4436
4416
</pre>
4437
4417
<p>
4438
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>.
 
4418
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>.
4439
4419
</p>
4440
4420
</div>
4441
4421
<hr>
4462
4442
<pre class="programlisting">#define G_TYPE_FLOAT                        G_TYPE_MAKE_FUNDAMENTAL (14)
4463
4443
</pre>
4464
4444
<p>
4465
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a>.
 
4445
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a>.
4466
4446
</p>
4467
4447
</div>
4468
4448
<hr>
4471
4451
<pre class="programlisting">#define G_TYPE_DOUBLE                       G_TYPE_MAKE_FUNDAMENTAL (15)
4472
4452
</pre>
4473
4453
<p>
4474
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>.
 
4454
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>.
4475
4455
</p>
4476
4456
</div>
4477
4457
<hr>
4489
4469
<pre class="programlisting">#define G_TYPE_POINTER                      G_TYPE_MAKE_FUNDAMENTAL (17)
4490
4470
</pre>
4491
4471
<p>
4492
 
The fundamental type corresponding to <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>.
 
4472
The fundamental type corresponding to <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>.
4493
4473
</p>
4494
4474
</div>
4495
4475
<hr>
4534
4514
<pre class="programlisting">#define G_TYPE_VARIANT                  G_TYPE_MAKE_FUNDAMENTAL (21)
4535
4515
</pre>
4536
4516
<p>
4537
 
The fundamental type corresponding to <a href="./../glib/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.
 
4517
The fundamental type corresponding to <a href="../glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.
4538
4518
</p>
4539
4519
<p>
4540
 
All floating <a href="./../glib/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> instances passed through the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> system are
 
4520
All floating <a href="../glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> instances passed through the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> system are
4541
4521
consumed.
4542
4522
</p>
4543
4523
<p>
4603
4583
</div>
4604
4584
<div class="footer">
4605
4585
<hr>
4606
 
          Generated by GTK-Doc V1.18</div>
 
4586
          Generated by GTK-Doc V1.18.1</div>
4607
4587
</body>
4608
4588
</html>
 
 
b'\\ No newline at end of file'