sync
[gir-1.1] / GObject-2.0.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <package name="gobject-2.0"/>
11   <c:include name="glib-object.h"/>
12   <namespace name="GObject"
13              version="2.0"
14              shared-library="libgobject-2.0.so.0"
15              c:prefix="G">
16     <alias name="SignalCMarshaller"
17            target="ClosureMarshal"
18            c:type="GSignalCMarshaller"/>
19     <alias name="Strv" target="none" c:type="GStrv"/>
20     <alias name="chararray" target="none" c:type="gchararray"/>
21     <glib:boxed c:type="GArray"
22                 glib:name="Array"
23                 glib:type-name="GArray"
24                 glib:get-type="g_array_get_type">
25     </glib:boxed>
26     <callback name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc">
27       <doc xml:whitespace="preserve">A callback function used by the type system to finalize those portions
28 of a derived types class structure that were setup from the corresponding
29 GBaseInitFunc() function. Class finalization basically works the inverse
30 way in which class intialization is performed.
31 See GClassInitFunc() for a discussion of the class intialization process.</doc>
32       <return-value transfer-ownership="none">
33         <type name="none" c:type="void"/>
34       </return-value>
35       <parameters>
36         <parameter name="g_class" transfer-ownership="none">
37           <doc xml:whitespace="preserve">The #GTypeClass structure to finalize.</doc>
38           <type name="any" c:type="gpointer"/>
39         </parameter>
40       </parameters>
41     </callback>
42     <callback name="BaseInitFunc" c:type="GBaseInitFunc">
43       <doc xml:whitespace="preserve">A callback function used by the type system to do base initialization
44 of the class structures of derived types. It is called as part of the
45 initialization process of all derived classes and should reallocate
46 or reset all dynamic class members copied over from the parent class.
47 For example, class members (such as strings) that are not sufficiently
48 handled by a plain memory copy of the parent class into the derived class
49 have to be altered. See GClassInitFunc() for a discussion of the class
50 intialization process.</doc>
51       <return-value transfer-ownership="none">
52         <type name="none" c:type="void"/>
53       </return-value>
54       <parameters>
55         <parameter name="g_class" transfer-ownership="none">
56           <doc xml:whitespace="preserve">The #GTypeClass structure to initialize.</doc>
57           <type name="any" c:type="gpointer"/>
58         </parameter>
59       </parameters>
60     </callback>
61     <class name="Binding"
62            c:type="GBinding"
63            version="2.26"
64            parent="Object"
65            glib:type-name="GBinding"
66            glib:get-type="g_binding_get_type">
67       <doc xml:whitespace="preserve">&lt;structname&gt;GBinding&lt;/structname&gt; is an opaque structure whose members
68 cannot be accessed directly.</doc>
69       <method name="get_flags" c:identifier="g_binding_get_flags">
70         <return-value transfer-ownership="full">
71           <type name="BindingFlags" c:type="GBindingFlags"/>
72         </return-value>
73       </method>
74       <method name="get_source" c:identifier="g_binding_get_source">
75         <return-value transfer-ownership="full">
76           <type name="Object" c:type="GObject*"/>
77         </return-value>
78       </method>
79       <method name="get_target" c:identifier="g_binding_get_target">
80         <return-value transfer-ownership="full">
81           <type name="Object" c:type="GObject*"/>
82         </return-value>
83       </method>
84       <method name="get_source_property"
85               c:identifier="g_binding_get_source_property">
86         <return-value transfer-ownership="none">
87           <type name="utf8" c:type="gchar*"/>
88         </return-value>
89       </method>
90       <method name="get_target_property"
91               c:identifier="g_binding_get_target_property">
92         <return-value transfer-ownership="none">
93           <type name="utf8" c:type="gchar*"/>
94         </return-value>
95       </method>
96       <property name="flags"
97                 writable="1"
98                 construct-only="1"
99                 transfer-ownership="none">
100         <type name="BindingFlags" c:type="GBindingFlags"/>
101       </property>
102       <property name="source"
103                 writable="1"
104                 construct-only="1"
105                 transfer-ownership="none">
106         <type name="Object" c:type="GObject"/>
107       </property>
108       <property name="source-property"
109                 writable="1"
110                 construct-only="1"
111                 transfer-ownership="none">
112         <type name="utf8" c:type="gchararray"/>
113       </property>
114       <property name="target"
115                 writable="1"
116                 construct-only="1"
117                 transfer-ownership="none">
118         <type name="Object" c:type="GObject"/>
119       </property>
120       <property name="target-property"
121                 writable="1"
122                 construct-only="1"
123                 transfer-ownership="none">
124         <type name="utf8" c:type="gchararray"/>
125       </property>
126     </class>
127     <bitfield name="BindingFlags"
128               version="2.26"
129               glib:type-name="GBindingFlags"
130               glib:get-type="g_binding_flags_get_type"
131               c:type="GBindingFlags">
132       <doc xml:whitespace="preserve">Flags to be passed to g_object_bind_property() or
133 g_object_bind_property_full().
134 This enumeration can be extended at later date.</doc>
135       <member name="default"
136               value="0"
137               c:identifier="G_BINDING_DEFAULT"
138               glib:nick="default"/>
139       <member name="bidirectional"
140               value="1"
141               c:identifier="G_BINDING_BIDIRECTIONAL"
142               glib:nick="bidirectional"/>
143       <member name="sync_create"
144               value="2"
145               c:identifier="G_BINDING_SYNC_CREATE"
146               glib:nick="sync-create"/>
147       <member name="invert_boolean"
148               value="4"
149               c:identifier="G_BINDING_INVERT_BOOLEAN"
150               glib:nick="invert-boolean"/>
151     </bitfield>
152     <callback name="BindingTransformFunc"
153               c:type="GBindingTransformFunc"
154               version="2.26">
155       <doc xml:whitespace="preserve">A function to be called to transform the source property of @source
156 from @source_value into the target property of @target
157 using @target_value.
158 otherwise</doc>
159       <return-value transfer-ownership="none">
160         <doc xml:whitespace="preserve">%TRUE if the transformation was successful, and %FALSE</doc>
161         <type name="boolean" c:type="gboolean"/>
162       </return-value>
163       <parameters>
164         <parameter name="binding" transfer-ownership="none">
165           <doc xml:whitespace="preserve">a #GBinding</doc>
166           <type name="Binding" c:type="GBinding*"/>
167         </parameter>
168         <parameter name="source_value" transfer-ownership="none">
169           <doc xml:whitespace="preserve">the value of the source property</doc>
170           <type name="Value" c:type="GValue*"/>
171         </parameter>
172         <parameter name="target_value" transfer-ownership="none">
173           <doc xml:whitespace="preserve">the value of the target property</doc>
174           <type name="Value" c:type="GValue*"/>
175         </parameter>
176         <parameter name="user_data" transfer-ownership="none" closure="3">
177           <doc xml:whitespace="preserve">data passed to the transform function</doc>
178           <type name="any" c:type="gpointer"/>
179         </parameter>
180       </parameters>
181     </callback>
182     <callback name="BoxedCopyFunc" c:type="GBoxedCopyFunc">
183       <doc xml:whitespace="preserve">This function is provided by the user and should produce a copy of the passed
184 in boxed structure.</doc>
185       <return-value transfer-ownership="none">
186         <doc xml:whitespace="preserve">The newly created copy of the boxed structure.</doc>
187         <type name="any" c:type="gpointer"/>
188       </return-value>
189       <parameters>
190         <parameter name="boxed" transfer-ownership="none">
191           <doc xml:whitespace="preserve">The boxed structure to be copied.</doc>
192           <type name="any" c:type="gpointer"/>
193         </parameter>
194       </parameters>
195     </callback>
196     <callback name="BoxedFreeFunc" c:type="GBoxedFreeFunc">
197       <doc xml:whitespace="preserve">This function is provided by the user and should free the boxed
198 structure passed.</doc>
199       <return-value transfer-ownership="none">
200         <type name="none" c:type="void"/>
201       </return-value>
202       <parameters>
203         <parameter name="boxed" transfer-ownership="none">
204           <doc xml:whitespace="preserve">The boxed structure to be freed.</doc>
205           <type name="any" c:type="gpointer"/>
206         </parameter>
207       </parameters>
208     </callback>
209     <glib:boxed c:type="GByteArray"
210                 glib:name="ByteArray"
211                 glib:type-name="GByteArray"
212                 glib:get-type="g_byte_array_get_type">
213     </glib:boxed>
214     <record name="CClosure" c:type="GCClosure">
215       <doc xml:whitespace="preserve">A #GCClosure is a specialization of #GClosure for C function callbacks.</doc>
216       <field name="closure" writable="1">
217         <type name="Closure" c:type="GClosure"/>
218       </field>
219       <field name="callback" writable="1">
220         <type name="any" c:type="gpointer"/>
221       </field>
222     </record>
223     <callback name="Callback" c:type="GCallback">
224       <doc xml:whitespace="preserve">The type used for callback functions in structure definitions and function 
225 signatures. This doesn't mean that all callback functions must take no 
226 parameters and return void. The required signature of a callback function 
227 is determined by the context in which is used (e.g. the signal to which it 
228 is connected). Use G_CALLBACK() to cast the callback function to a #GCallback.</doc>
229       <return-value transfer-ownership="none">
230         <type name="none" c:type="void"/>
231       </return-value>
232     </callback>
233     <callback name="ClassFinalizeFunc" c:type="GClassFinalizeFunc">
234       <doc xml:whitespace="preserve">A callback function used by the type system to finalize a class.
235 This function is rarely needed, as dynamically allocated class resources
236 should be handled by GBaseInitFunc() and GBaseFinalizeFunc().
237 Also, specification of a GClassFinalizeFunc() in the #GTypeInfo
238 structure of a static type is invalid, because classes of static types
239 will never be finalized (they are artificially kept alive when their
240 reference count drops to zero).</doc>
241       <return-value transfer-ownership="none">
242         <type name="none" c:type="void"/>
243       </return-value>
244       <parameters>
245         <parameter name="g_class" transfer-ownership="none">
246           <doc xml:whitespace="preserve">The #GTypeClass structure to finalize.</doc>
247           <type name="any" c:type="gpointer"/>
248         </parameter>
249         <parameter name="class_data" transfer-ownership="none">
250           <doc xml:whitespace="preserve">The @class_data member supplied via the #GTypeInfo structure.</doc>
251           <type name="any" c:type="gpointer"/>
252         </parameter>
253       </parameters>
254     </callback>
255     <callback name="ClassInitFunc" c:type="GClassInitFunc">
256       <doc xml:whitespace="preserve">A callback function used by the type system to initialize the class
257 of a specific type. This function should initialize all static class
258 members.
259 The initialization process of a class involves:
260 &lt;itemizedlist&gt;
261 &lt;listitem&gt;&lt;para&gt;
262 1 - Copying common members from the parent class over to the
263 derived class structure.
264 &lt;/para&gt;&lt;/listitem&gt;
265 &lt;listitem&gt;&lt;para&gt;
266 2 -  Zero initialization of the remaining members not copied
267 over from the parent class.
268 &lt;/para&gt;&lt;/listitem&gt;
269 &lt;listitem&gt;&lt;para&gt;
270 3 - Invocation of the GBaseInitFunc() initializers of all parent
271 types and the class' type.
272 &lt;/para&gt;&lt;/listitem&gt;
273 &lt;listitem&gt;&lt;para&gt;
274 4 - Invocation of the class' GClassInitFunc() initializer.
275 &lt;/para&gt;&lt;/listitem&gt;
276 &lt;/itemizedlist&gt;
277 Since derived classes are partially initialized through a memory copy
278 of the parent class, the general rule is that GBaseInitFunc() and
279 GBaseFinalizeFunc() should take care of necessary reinitialization
280 and release of those class members that were introduced by the type
281 that specified these GBaseInitFunc()/GBaseFinalizeFunc().
282 GClassInitFunc() should only care about initializing static
283 class members, while dynamic class members (such as allocated strings
284 or reference counted resources) are better handled by a GBaseInitFunc()
285 for this type, so proper initialization of the dynamic class members
286 is performed for class initialization of derived types as well.
287 An example may help to correspond the intend of the different class
288 initializers:
289 |[
290 typedef struct {
291 GObjectClass parent_class;
292 gint         static_integer;
293 gchar       *dynamic_string;
294 } TypeAClass;
295 static void
296 type_a_base_class_init (TypeAClass *class)
297 {
298 class-&gt;dynamic_string = g_strdup ("some string");
299 }
300 static void
301 type_a_base_class_finalize (TypeAClass *class)
302 {
303 g_free (class-&gt;dynamic_string);
304 }
305 static void
306 type_a_class_init (TypeAClass *class)
307 {
308 class-&gt;static_integer = 42;
309 }
310 typedef struct {
311 TypeAClass   parent_class;
312 gfloat       static_float;
313 GString     *dynamic_gstring;
314 } TypeBClass;
315 static void
316 type_b_base_class_init (TypeBClass *class)
317 {
318 class-&gt;dynamic_gstring = g_string_new ("some other string");
319 }
320 static void
321 type_b_base_class_finalize (TypeBClass *class)
322 {
323 g_string_free (class-&gt;dynamic_gstring);
324 }
325 static void
326 type_b_class_init (TypeBClass *class)
327 {
328 class-&gt;static_float = 3.14159265358979323846;
329 }
330 ]|
331 Initialization of TypeBClass will first cause initialization of
332 TypeAClass (derived classes reference their parent classes, see
333 g_type_class_ref() on this).
334 Initialization of TypeAClass roughly involves zero-initializing its fields,
335 then calling its GBaseInitFunc() type_a_base_class_init() to allocate
336 its dynamic members (dynamic_string), and finally calling its GClassInitFunc()
337 type_a_class_init() to initialize its static members (static_integer).
338 The first step in the initialization process of TypeBClass is then
339 a plain memory copy of the contents of TypeAClass into TypeBClass and 
340 zero-initialization of the remaining fields in TypeBClass.
341 The dynamic members of TypeAClass within TypeBClass now need
342 reinitialization which is performed by calling type_a_base_class_init()
343 with an argument of TypeBClass.
344 After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()
345 is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
346 and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),
347 is called to complete the initialization process with the static members
348 (static_float).
349 Corresponding finalization counter parts to the GBaseInitFunc() functions
350 have to be provided to release allocated resources at class finalization
351 time.</doc>
352       <return-value transfer-ownership="none">
353         <type name="none" c:type="void"/>
354       </return-value>
355       <parameters>
356         <parameter name="g_class" transfer-ownership="none">
357           <doc xml:whitespace="preserve">The #GTypeClass structure to initialize.</doc>
358           <type name="any" c:type="gpointer"/>
359         </parameter>
360         <parameter name="class_data" transfer-ownership="none">
361           <doc xml:whitespace="preserve">The @class_data member supplied via the #GTypeInfo structure.</doc>
362           <type name="any" c:type="gpointer"/>
363         </parameter>
364       </parameters>
365     </callback>
366     <record name="Closure"
367             c:type="GClosure"
368             glib:type-name="GClosure"
369             glib:get-type="g_closure_get_type">
370       <doc xml:whitespace="preserve">A #GClosure represents a callback supplied by the programmer.</doc>
371       <field name="ref_count" writable="1" bits="15">
372         <type name="uint" c:type="guint"/>
373       </field>
374       <field name="meta_marshal" writable="1" bits="1">
375         <type name="uint" c:type="guint"/>
376       </field>
377       <field name="n_guards" writable="1" bits="1">
378         <type name="uint" c:type="guint"/>
379       </field>
380       <field name="n_fnotifiers" writable="1" bits="2">
381         <type name="uint" c:type="guint"/>
382       </field>
383       <field name="n_inotifiers" writable="1" bits="8">
384         <type name="uint" c:type="guint"/>
385       </field>
386       <field name="in_inotify" writable="1" bits="1">
387         <type name="uint" c:type="guint"/>
388       </field>
389       <field name="floating" writable="1" bits="1">
390         <type name="uint" c:type="guint"/>
391       </field>
392       <field name="derivative_flag" writable="1" bits="1">
393         <type name="uint" c:type="guint"/>
394       </field>
395       <field name="in_marshal" writable="1" bits="1">
396         <type name="uint" c:type="guint"/>
397       </field>
398       <field name="is_invalid" writable="1" bits="1">
399         <type name="uint" c:type="guint"/>
400       </field>
401       <field name="marshal">
402         <type name="any" c:type="pointer"/>
403       </field>
404       <field name="data" writable="1">
405         <type name="any" c:type="gpointer"/>
406       </field>
407       <field name="notifiers" writable="1">
408         <type name="ClosureNotifyData" c:type="GClosureNotifyData*"/>
409       </field>
410       <constructor name="new_simple" c:identifier="g_closure_new_simple">
411         <return-value transfer-ownership="full">
412           <type name="Closure" c:type="GClosure*"/>
413         </return-value>
414         <parameters>
415           <parameter name="sizeof_closure" transfer-ownership="none">
416             <type name="uint" c:type="guint"/>
417           </parameter>
418           <parameter name="data" transfer-ownership="none">
419             <type name="any" c:type="gpointer"/>
420           </parameter>
421         </parameters>
422       </constructor>
423       <constructor name="new_object" c:identifier="g_closure_new_object">
424         <return-value transfer-ownership="full">
425           <type name="Closure" c:type="GClosure*"/>
426         </return-value>
427         <parameters>
428           <parameter name="sizeof_closure" transfer-ownership="none">
429             <type name="uint" c:type="guint"/>
430           </parameter>
431           <parameter name="object" transfer-ownership="none">
432             <type name="Object" c:type="GObject*"/>
433           </parameter>
434         </parameters>
435       </constructor>
436       <method name="ref" c:identifier="g_closure_ref">
437         <return-value transfer-ownership="full">
438           <type name="Closure" c:type="GClosure*"/>
439         </return-value>
440       </method>
441       <method name="sink" c:identifier="g_closure_sink">
442         <return-value transfer-ownership="none">
443           <type name="none" c:type="void"/>
444         </return-value>
445       </method>
446       <method name="unref" c:identifier="g_closure_unref">
447         <return-value transfer-ownership="none">
448           <type name="none" c:type="void"/>
449         </return-value>
450       </method>
451       <method name="add_finalize_notifier"
452               c:identifier="g_closure_add_finalize_notifier">
453         <return-value transfer-ownership="none">
454           <type name="none" c:type="void"/>
455         </return-value>
456         <parameters>
457           <parameter name="notify_data" transfer-ownership="none">
458             <type name="any" c:type="gpointer"/>
459           </parameter>
460           <parameter name="notify_func" transfer-ownership="none" scope="call">
461             <type name="ClosureNotify" c:type="GClosureNotify"/>
462           </parameter>
463         </parameters>
464       </method>
465       <method name="remove_finalize_notifier"
466               c:identifier="g_closure_remove_finalize_notifier">
467         <return-value transfer-ownership="none">
468           <type name="none" c:type="void"/>
469         </return-value>
470         <parameters>
471           <parameter name="notify_data" transfer-ownership="none">
472             <type name="any" c:type="gpointer"/>
473           </parameter>
474           <parameter name="notify_func" transfer-ownership="none" scope="call">
475             <type name="ClosureNotify" c:type="GClosureNotify"/>
476           </parameter>
477         </parameters>
478       </method>
479       <method name="add_invalidate_notifier"
480               c:identifier="g_closure_add_invalidate_notifier">
481         <return-value transfer-ownership="none">
482           <type name="none" c:type="void"/>
483         </return-value>
484         <parameters>
485           <parameter name="notify_data" transfer-ownership="none">
486             <type name="any" c:type="gpointer"/>
487           </parameter>
488           <parameter name="notify_func" transfer-ownership="none" scope="call">
489             <type name="ClosureNotify" c:type="GClosureNotify"/>
490           </parameter>
491         </parameters>
492       </method>
493       <method name="remove_invalidate_notifier"
494               c:identifier="g_closure_remove_invalidate_notifier">
495         <return-value transfer-ownership="none">
496           <type name="none" c:type="void"/>
497         </return-value>
498         <parameters>
499           <parameter name="notify_data" transfer-ownership="none">
500             <type name="any" c:type="gpointer"/>
501           </parameter>
502           <parameter name="notify_func" transfer-ownership="none" scope="call">
503             <type name="ClosureNotify" c:type="GClosureNotify"/>
504           </parameter>
505         </parameters>
506       </method>
507       <method name="add_marshal_guards"
508               c:identifier="g_closure_add_marshal_guards">
509         <return-value transfer-ownership="none">
510           <type name="none" c:type="void"/>
511         </return-value>
512         <parameters>
513           <parameter name="pre_marshal_data" transfer-ownership="none">
514             <type name="any" c:type="gpointer"/>
515           </parameter>
516           <parameter name="pre_marshal_notify"
517                      transfer-ownership="none"
518                      scope="call"
519                      closure="3">
520             <type name="ClosureNotify" c:type="GClosureNotify"/>
521           </parameter>
522           <parameter name="post_marshal_data" transfer-ownership="none">
523             <type name="any" c:type="gpointer"/>
524           </parameter>
525           <parameter name="post_marshal_notify"
526                      transfer-ownership="none"
527                      scope="call">
528             <type name="ClosureNotify" c:type="GClosureNotify"/>
529           </parameter>
530         </parameters>
531       </method>
532       <method name="set_marshal" c:identifier="g_closure_set_marshal">
533         <return-value transfer-ownership="none">
534           <type name="none" c:type="void"/>
535         </return-value>
536         <parameters>
537           <parameter name="marshal" transfer-ownership="none" scope="call">
538             <type name="ClosureMarshal" c:type="GClosureMarshal"/>
539           </parameter>
540         </parameters>
541       </method>
542       <method name="set_meta_marshal"
543               c:identifier="g_closure_set_meta_marshal">
544         <return-value transfer-ownership="none">
545           <type name="none" c:type="void"/>
546         </return-value>
547         <parameters>
548           <parameter name="marshal_data" transfer-ownership="none">
549             <type name="any" c:type="gpointer"/>
550           </parameter>
551           <parameter name="meta_marshal"
552                      transfer-ownership="none"
553                      scope="call">
554             <type name="ClosureMarshal" c:type="GClosureMarshal"/>
555           </parameter>
556         </parameters>
557       </method>
558       <method name="invalidate" c:identifier="g_closure_invalidate">
559         <return-value transfer-ownership="none">
560           <type name="none" c:type="void"/>
561         </return-value>
562       </method>
563       <method name="invoke" c:identifier="g_closure_invoke">
564         <return-value transfer-ownership="none">
565           <type name="none" c:type="void"/>
566         </return-value>
567         <parameters>
568           <parameter name="return_value" transfer-ownership="none">
569             <type name="Value" c:type="GValue*"/>
570           </parameter>
571           <parameter name="n_param_values" transfer-ownership="none">
572             <type name="uint" c:type="guint"/>
573           </parameter>
574           <parameter name="param_values" transfer-ownership="none">
575             <type name="Value" c:type="GValue*"/>
576           </parameter>
577           <parameter name="invocation_hint" transfer-ownership="none">
578             <type name="any" c:type="gpointer"/>
579           </parameter>
580         </parameters>
581       </method>
582     </record>
583     <callback name="ClosureMarshal" c:type="GClosureMarshal">
584       <doc xml:whitespace="preserve">The type used for marshaller functions.</doc>
585       <return-value transfer-ownership="none">
586         <type name="none" c:type="void"/>
587       </return-value>
588       <parameters>
589         <parameter name="closure" transfer-ownership="none">
590           <doc xml:whitespace="preserve">the #GClosure to which the marshaller belongs</doc>
591           <type name="Closure" c:type="GClosure*"/>
592         </parameter>
593         <parameter name="return_value" transfer-ownership="none">
594           <doc xml:whitespace="preserve">a #GValue to store the return value. May be %NULL if the callback of @closure doesn't return a value.</doc>
595           <type name="Value" c:type="GValue*"/>
596         </parameter>
597         <parameter name="n_param_values" transfer-ownership="none">
598           <doc xml:whitespace="preserve">the length of the @param_values array</doc>
599           <type name="uint" c:type="guint"/>
600         </parameter>
601         <parameter name="param_values" transfer-ownership="none">
602           <doc xml:whitespace="preserve">an array of #GValue&lt;!-- --&gt;s holding the arguments on which to invoke the callback of @closure</doc>
603           <type name="Value" c:type="GValue*"/>
604         </parameter>
605         <parameter name="invocation_hint" transfer-ownership="none">
606           <doc xml:whitespace="preserve">the invocation hint given as the last argument to g_closure_invoke()</doc>
607           <type name="any" c:type="gpointer"/>
608         </parameter>
609         <parameter name="marshal_data" transfer-ownership="none">
610           <doc xml:whitespace="preserve">additional data specified when registering the marshaller, see g_closure_set_marshal() and g_closure_set_meta_marshal()</doc>
611           <type name="any" c:type="gpointer"/>
612         </parameter>
613       </parameters>
614     </callback>
615     <callback name="ClosureNotify" c:type="GClosureNotify">
616       <doc xml:whitespace="preserve">The type used for the various notification callbacks which can be registered
617 on closures.</doc>
618       <return-value transfer-ownership="none">
619         <type name="none" c:type="void"/>
620       </return-value>
621       <parameters>
622         <parameter name="data" transfer-ownership="none">
623           <doc xml:whitespace="preserve">data specified when registering the notification callback</doc>
624           <type name="any" c:type="gpointer"/>
625         </parameter>
626         <parameter name="closure" transfer-ownership="none">
627           <doc xml:whitespace="preserve">the #GClosure on which the notification is emitted</doc>
628           <type name="Closure" c:type="GClosure*"/>
629         </parameter>
630       </parameters>
631     </callback>
632     <record name="ClosureNotifyData" c:type="GClosureNotifyData">
633       <field name="data" writable="1">
634         <type name="any" c:type="gpointer"/>
635       </field>
636       <field name="notify" writable="1">
637         <type name="ClosureNotify" c:type="GClosureNotify"/>
638       </field>
639     </record>
640     <bitfield name="ConnectFlags" c:type="GConnectFlags">
641       <doc xml:whitespace="preserve">The connection flags are used to specify the behaviour of a signal's 
642 connection.</doc>
643       <member name="after" value="1" c:identifier="G_CONNECT_AFTER"/>
644       <member name="swapped" value="2" c:identifier="G_CONNECT_SWAPPED"/>
645     </bitfield>
646     <glib:boxed c:type="GDate"
647                 glib:name="Date"
648                 glib:type-name="GDate"
649                 glib:get-type="g_date_get_type">
650     </glib:boxed>
651     <glib:boxed c:type="GDateTime"
652                 glib:name="DateTime"
653                 glib:type-name="GDateTime"
654                 glib:get-type="g_date_time_get_type">
655     </glib:boxed>
656     <record name="EnumClass" c:type="GEnumClass">
657       <doc xml:whitespace="preserve">The class of an enumeration type holds information about its 
658 possible values.</doc>
659       <field name="g_type_class" writable="1">
660         <type name="TypeClass" c:type="GTypeClass"/>
661       </field>
662       <field name="minimum" writable="1">
663         <type name="int" c:type="gint"/>
664       </field>
665       <field name="maximum" writable="1">
666         <type name="int" c:type="gint"/>
667       </field>
668       <field name="n_values" writable="1">
669         <type name="uint" c:type="guint"/>
670       </field>
671       <field name="values" writable="1">
672         <type name="EnumValue" c:type="GEnumValue*"/>
673       </field>
674     </record>
675     <record name="EnumValue" c:type="GEnumValue">
676       <doc xml:whitespace="preserve">A structure which contains a single enum value, its name, and its
677 nickname.</doc>
678       <field name="value" writable="1">
679         <type name="int" c:type="gint"/>
680       </field>
681       <field name="value_name" writable="1">
682         <type name="utf8" c:type="gchar*"/>
683       </field>
684       <field name="value_nick" writable="1">
685         <type name="utf8" c:type="gchar*"/>
686       </field>
687     </record>
688     <glib:boxed c:type="GError"
689                 glib:name="Error"
690                 glib:type-name="GError"
691                 glib:get-type="g_error_get_type">
692     </glib:boxed>
693     <record name="FlagsClass" c:type="GFlagsClass">
694       <doc xml:whitespace="preserve">The class of a flags type holds information about its 
695 possible values.</doc>
696       <field name="g_type_class" writable="1">
697         <type name="TypeClass" c:type="GTypeClass"/>
698       </field>
699       <field name="mask" writable="1">
700         <type name="uint" c:type="guint"/>
701       </field>
702       <field name="n_values" writable="1">
703         <type name="uint" c:type="guint"/>
704       </field>
705       <field name="values" writable="1">
706         <type name="FlagsValue" c:type="GFlagsValue*"/>
707       </field>
708     </record>
709     <record name="FlagsValue" c:type="GFlagsValue">
710       <doc xml:whitespace="preserve">A structure which contains a single flags value, its name, and its
711 nickname.</doc>
712       <field name="value" writable="1">
713         <type name="uint" c:type="guint"/>
714       </field>
715       <field name="value_name" writable="1">
716         <type name="utf8" c:type="gchar*"/>
717       </field>
718       <field name="value_nick" writable="1">
719         <type name="utf8" c:type="gchar*"/>
720       </field>
721     </record>
722     <glib:boxed c:type="GHashTable"
723                 glib:name="HashTable"
724                 glib:type-name="GHashTable"
725                 glib:get-type="g_hash_table_get_type">
726     </glib:boxed>
727     <glib:boxed c:type="GIOChannel"
728                 glib:name="IOChannel"
729                 glib:type-name="GIOChannel"
730                 glib:get-type="g_io_channel_get_type">
731     </glib:boxed>
732     <bitfield name="IOCondition"
733               glib:type-name="GIOCondition"
734               glib:get-type="g_io_condition_get_type"
735               c:type="GIOCondition">
736       <member name="in" value="1" c:identifier="G_IO_IN" glib:nick="in"/>
737       <member name="out" value="4" c:identifier="G_IO_OUT" glib:nick="out"/>
738       <member name="pri" value="2" c:identifier="G_IO_PRI" glib:nick="pri"/>
739       <member name="err" value="8" c:identifier="G_IO_ERR" glib:nick="err"/>
740       <member name="hup" value="16" c:identifier="G_IO_HUP" glib:nick="hup"/>
741       <member name="nval"
742               value="32"
743               c:identifier="G_IO_NVAL"
744               glib:nick="nval"/>
745     </bitfield>
746     <class name="InitiallyUnowned"
747            c:type="GInitiallyUnowned"
748            parent="Object"
749            abstract="1"
750            glib:type-name="GInitiallyUnowned"
751            glib:get-type="g_initially_unowned_get_type"
752            glib:type-struct="InitiallyUnownedClass">
753       <doc xml:whitespace="preserve">All the fields in the &lt;structname&gt;GInitiallyUnowned&lt;/structname&gt; structure 
754 are private to the #GInitiallyUnowned implementation and should never be 
755 accessed directly.</doc>
756       <field name="g_type_instance" writable="1">
757         <type name="TypeInstance" c:type="GTypeInstance"/>
758       </field>
759       <field name="ref_count" writable="1">
760         <type name="uint" c:type="guint"/>
761       </field>
762       <field name="qdata" writable="1">
763         <type name="GLib.Data" c:type="GData*"/>
764       </field>
765     </class>
766     <record name="InitiallyUnownedClass"
767             c:type="GInitiallyUnownedClass"
768             glib:is-gtype-struct-for="InitiallyUnowned">
769       <doc xml:whitespace="preserve">The class structure for the &lt;structname&gt;GInitiallyUnowned&lt;/structname&gt; type.</doc>
770       <field name="g_type_class">
771         <type name="TypeClass" c:type="GTypeClass"/>
772       </field>
773       <field name="construct_properties">
774         <type name="GLib.SList" c:type="GSList*">
775           <type name="any" c:type="gpointer"/>
776         </type>
777       </field>
778       <field name="constructor">
779         <callback name="constructor" c:type="constructor">
780           <return-value transfer-ownership="full">
781             <type name="Object" c:type="GObject*"/>
782           </return-value>
783           <parameters>
784             <parameter name="type" transfer-ownership="none">
785               <type name="GType" c:type="GType"/>
786             </parameter>
787             <parameter name="n_construct_properties" transfer-ownership="none">
788               <type name="uint" c:type="guint"/>
789             </parameter>
790             <parameter name="construct_properties" transfer-ownership="none">
791               <type name="ObjectConstructParam"
792                     c:type="GObjectConstructParam*"/>
793             </parameter>
794           </parameters>
795         </callback>
796       </field>
797       <field name="set_property">
798         <callback name="set_property" c:type="set_property">
799           <return-value transfer-ownership="none">
800             <type name="none" c:type="void"/>
801           </return-value>
802           <parameters>
803             <parameter name="object" transfer-ownership="none">
804               <type name="Object" c:type="GObject*"/>
805             </parameter>
806             <parameter name="property_id" transfer-ownership="none">
807               <type name="uint" c:type="guint"/>
808             </parameter>
809             <parameter name="value" transfer-ownership="none">
810               <type name="Value" c:type="GValue*"/>
811             </parameter>
812             <parameter name="pspec" transfer-ownership="none">
813               <type name="ParamSpec" c:type="GParamSpec*"/>
814             </parameter>
815           </parameters>
816         </callback>
817       </field>
818       <field name="get_property">
819         <callback name="get_property" c:type="get_property">
820           <return-value transfer-ownership="none">
821             <type name="none" c:type="void"/>
822           </return-value>
823           <parameters>
824             <parameter name="object" transfer-ownership="none">
825               <type name="Object" c:type="GObject*"/>
826             </parameter>
827             <parameter name="property_id" transfer-ownership="none">
828               <type name="uint" c:type="guint"/>
829             </parameter>
830             <parameter name="value" transfer-ownership="none">
831               <type name="Value" c:type="GValue*"/>
832             </parameter>
833             <parameter name="pspec" transfer-ownership="none">
834               <type name="ParamSpec" c:type="GParamSpec*"/>
835             </parameter>
836           </parameters>
837         </callback>
838       </field>
839       <field name="dispose">
840         <callback name="dispose" c:type="dispose">
841           <return-value transfer-ownership="none">
842             <type name="none" c:type="void"/>
843           </return-value>
844           <parameters>
845             <parameter name="object" transfer-ownership="none">
846               <type name="Object" c:type="GObject*"/>
847             </parameter>
848           </parameters>
849         </callback>
850       </field>
851       <field name="finalize">
852         <callback name="finalize" c:type="finalize">
853           <return-value transfer-ownership="none">
854             <type name="none" c:type="void"/>
855           </return-value>
856           <parameters>
857             <parameter name="object" transfer-ownership="none">
858               <type name="Object" c:type="GObject*"/>
859             </parameter>
860           </parameters>
861         </callback>
862       </field>
863       <field name="dispatch_properties_changed">
864         <callback name="dispatch_properties_changed"
865                   c:type="dispatch_properties_changed">
866           <return-value transfer-ownership="none">
867             <type name="none" c:type="void"/>
868           </return-value>
869           <parameters>
870             <parameter name="object" transfer-ownership="none">
871               <type name="Object" c:type="GObject*"/>
872             </parameter>
873             <parameter name="n_pspecs" transfer-ownership="none">
874               <type name="uint" c:type="guint"/>
875             </parameter>
876             <parameter name="pspecs" transfer-ownership="none">
877               <type name="ParamSpec" c:type="GParamSpec**"/>
878             </parameter>
879           </parameters>
880         </callback>
881       </field>
882       <field name="notify">
883         <callback name="notify" c:type="notify">
884           <return-value transfer-ownership="none">
885             <type name="none" c:type="void"/>
886           </return-value>
887           <parameters>
888             <parameter name="object" transfer-ownership="none">
889               <type name="Object" c:type="GObject*"/>
890             </parameter>
891             <parameter name="pspec" transfer-ownership="none">
892               <type name="ParamSpec" c:type="GParamSpec*"/>
893             </parameter>
894           </parameters>
895         </callback>
896       </field>
897       <field name="constructed">
898         <callback name="constructed" c:type="constructed">
899           <return-value transfer-ownership="none">
900             <type name="none" c:type="void"/>
901           </return-value>
902           <parameters>
903             <parameter name="object" transfer-ownership="none">
904               <type name="Object" c:type="GObject*"/>
905             </parameter>
906           </parameters>
907         </callback>
908       </field>
909       <field name="flags">
910         <type name="gsize" c:type="gsize"/>
911       </field>
912       <field name="pdummy">
913         <array zero-terminated="0" c:type="gpointer" fixed-size="6">
914           <type name="any"/>
915         </array>
916       </field>
917     </record>
918     <callback name="InstanceInitFunc" c:type="GInstanceInitFunc">
919       <doc xml:whitespace="preserve">A callback function used by the type system to initialize a new
920 instance of a type. This function initializes all instance members and
921 allocates any resources required by it.
922 Initialization of a derived instance involves calling all its parent
923 types instance initializers, so the class member of the instance
924 is altered during its initialization to always point to the class that
925 belongs to the type the current initializer was introduced for.</doc>
926       <return-value transfer-ownership="none">
927         <type name="none" c:type="void"/>
928       </return-value>
929       <parameters>
930         <parameter name="instance" transfer-ownership="none">
931           <doc xml:whitespace="preserve">The instance to initialize.</doc>
932           <type name="TypeInstance" c:type="GTypeInstance*"/>
933         </parameter>
934         <parameter name="g_class" transfer-ownership="none">
935           <doc xml:whitespace="preserve">The class of the type the instance is created for.</doc>
936           <type name="any" c:type="gpointer"/>
937         </parameter>
938       </parameters>
939     </callback>
940     <callback name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc">
941       <doc xml:whitespace="preserve">A callback function used by the type system to finalize an interface.
942 This function should destroy any internal data and release any resources
943 allocated by the corresponding GInterfaceInitFunc() function.</doc>
944       <return-value transfer-ownership="none">
945         <type name="none" c:type="void"/>
946       </return-value>
947       <parameters>
948         <parameter name="g_iface" transfer-ownership="none">
949           <doc xml:whitespace="preserve">The interface structure to finalize.</doc>
950           <type name="any" c:type="gpointer"/>
951         </parameter>
952         <parameter name="iface_data" transfer-ownership="none">
953           <doc xml:whitespace="preserve">The @interface_data supplied via the #GInterfaceInfo structure.</doc>
954           <type name="any" c:type="gpointer"/>
955         </parameter>
956       </parameters>
957     </callback>
958     <record name="InterfaceInfo" c:type="GInterfaceInfo">
959       <doc xml:whitespace="preserve">A structure that provides information to the type system which is
960 used specifically for managing interface types.</doc>
961       <field name="interface_init" writable="1">
962         <type name="InterfaceInitFunc" c:type="GInterfaceInitFunc"/>
963       </field>
964       <field name="interface_finalize" writable="1">
965         <type name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc"/>
966       </field>
967       <field name="interface_data" writable="1">
968         <type name="any" c:type="gpointer"/>
969       </field>
970     </record>
971     <callback name="InterfaceInitFunc" c:type="GInterfaceInitFunc">
972       <doc xml:whitespace="preserve">A callback function used by the type system to initialize a new
973 interface.  This function should initialize all internal data and
974 allocate any resources required by the interface.</doc>
975       <return-value transfer-ownership="none">
976         <type name="none" c:type="void"/>
977       </return-value>
978       <parameters>
979         <parameter name="g_iface" transfer-ownership="none">
980           <doc xml:whitespace="preserve">The interface structure to initialize.</doc>
981           <type name="any" c:type="gpointer"/>
982         </parameter>
983         <parameter name="iface_data" transfer-ownership="none">
984           <doc xml:whitespace="preserve">The @interface_data supplied via the #GInterfaceInfo structure.</doc>
985           <type name="any" c:type="gpointer"/>
986         </parameter>
987       </parameters>
988     </callback>
989     <class name="Object"
990            c:type="GObject"
991            abstract="1"
992            glib:type-name="GObject"
993            glib:get-type="intern"
994            glib:type-struct="ObjectClass">
995       <doc xml:whitespace="preserve">All the fields in the &lt;structname&gt;GObject&lt;/structname&gt; structure are private 
996 to the #GObject implementation and should never be accessed directly.</doc>
997       <virtual-method name="set_property">
998         <return-value transfer-ownership="none">
999           <type name="none" c:type="void"/>
1000         </return-value>
1001         <parameters>
1002           <parameter name="property_id" transfer-ownership="none">
1003             <type name="uint" c:type="guint"/>
1004           </parameter>
1005           <parameter name="value" transfer-ownership="none">
1006             <type name="Value" c:type="GValue*"/>
1007           </parameter>
1008           <parameter name="pspec" transfer-ownership="none">
1009             <type name="ParamSpec" c:type="GParamSpec*"/>
1010           </parameter>
1011         </parameters>
1012       </virtual-method>
1013       <virtual-method name="get_property">
1014         <return-value transfer-ownership="none">
1015           <type name="none" c:type="void"/>
1016         </return-value>
1017         <parameters>
1018           <parameter name="property_id" transfer-ownership="none">
1019             <type name="uint" c:type="guint"/>
1020           </parameter>
1021           <parameter name="value" transfer-ownership="none">
1022             <type name="Value" c:type="GValue*"/>
1023           </parameter>
1024           <parameter name="pspec" transfer-ownership="none">
1025             <type name="ParamSpec" c:type="GParamSpec*"/>
1026           </parameter>
1027         </parameters>
1028       </virtual-method>
1029       <virtual-method name="dispose">
1030         <return-value transfer-ownership="none">
1031           <type name="none" c:type="void"/>
1032         </return-value>
1033       </virtual-method>
1034       <virtual-method name="finalize">
1035         <return-value transfer-ownership="none">
1036           <type name="none" c:type="void"/>
1037         </return-value>
1038       </virtual-method>
1039       <virtual-method name="dispatch_properties_changed">
1040         <return-value transfer-ownership="none">
1041           <type name="none" c:type="void"/>
1042         </return-value>
1043         <parameters>
1044           <parameter name="n_pspecs" transfer-ownership="none">
1045             <type name="uint" c:type="guint"/>
1046           </parameter>
1047           <parameter name="pspecs" transfer-ownership="none">
1048             <type name="ParamSpec" c:type="GParamSpec**"/>
1049           </parameter>
1050         </parameters>
1051       </virtual-method>
1052       <virtual-method name="notify">
1053         <return-value transfer-ownership="none">
1054           <type name="none" c:type="void"/>
1055         </return-value>
1056         <parameters>
1057           <parameter name="pspec" transfer-ownership="none">
1058             <type name="ParamSpec" c:type="GParamSpec*"/>
1059           </parameter>
1060         </parameters>
1061       </virtual-method>
1062       <virtual-method name="constructed">
1063         <return-value transfer-ownership="none">
1064           <type name="none" c:type="void"/>
1065         </return-value>
1066       </virtual-method>
1067       <method name="set_property" c:identifier="g_object_set_property">
1068         <return-value transfer-ownership="none">
1069           <type name="none" c:type="void"/>
1070         </return-value>
1071         <parameters>
1072           <parameter name="property_name" transfer-ownership="none">
1073             <type name="utf8" c:type="gchar*"/>
1074           </parameter>
1075           <parameter name="value" transfer-ownership="none">
1076             <type name="Value" c:type="GValue*"/>
1077           </parameter>
1078         </parameters>
1079       </method>
1080       <method name="get_property" c:identifier="g_object_get_property">
1081         <return-value transfer-ownership="none">
1082           <type name="none" c:type="void"/>
1083         </return-value>
1084         <parameters>
1085           <parameter name="property_name" transfer-ownership="none">
1086             <type name="utf8" c:type="gchar*"/>
1087           </parameter>
1088           <parameter name="value" transfer-ownership="none">
1089             <type name="Value" c:type="GValue*"/>
1090           </parameter>
1091         </parameters>
1092       </method>
1093       <method name="freeze_notify" c:identifier="g_object_freeze_notify">
1094         <return-value transfer-ownership="none">
1095           <type name="none" c:type="void"/>
1096         </return-value>
1097       </method>
1098       <method name="notify" c:identifier="g_object_notify">
1099         <return-value transfer-ownership="none">
1100           <type name="none" c:type="void"/>
1101         </return-value>
1102         <parameters>
1103           <parameter name="property_name" transfer-ownership="none">
1104             <type name="utf8" c:type="gchar*"/>
1105           </parameter>
1106         </parameters>
1107       </method>
1108       <method name="notify_by_pspec" c:identifier="g_object_notify_by_pspec">
1109         <return-value transfer-ownership="none">
1110           <type name="none" c:type="void"/>
1111         </return-value>
1112         <parameters>
1113           <parameter name="pspec" transfer-ownership="none">
1114             <type name="ParamSpec" c:type="GParamSpec*"/>
1115           </parameter>
1116         </parameters>
1117       </method>
1118       <method name="thaw_notify" c:identifier="g_object_thaw_notify">
1119         <return-value transfer-ownership="none">
1120           <type name="none" c:type="void"/>
1121         </return-value>
1122       </method>
1123       <method name="weak_ref" c:identifier="g_object_weak_ref">
1124         <return-value transfer-ownership="none">
1125           <type name="none" c:type="void"/>
1126         </return-value>
1127         <parameters>
1128           <parameter name="notify"
1129                      transfer-ownership="none"
1130                      scope="call"
1131                      closure="2">
1132             <type name="WeakNotify" c:type="GWeakNotify"/>
1133           </parameter>
1134           <parameter name="data" transfer-ownership="none">
1135             <type name="any" c:type="gpointer"/>
1136           </parameter>
1137         </parameters>
1138       </method>
1139       <method name="weak_unref" c:identifier="g_object_weak_unref">
1140         <return-value transfer-ownership="none">
1141           <type name="none" c:type="void"/>
1142         </return-value>
1143         <parameters>
1144           <parameter name="notify"
1145                      transfer-ownership="none"
1146                      scope="call"
1147                      closure="2">
1148             <type name="WeakNotify" c:type="GWeakNotify"/>
1149           </parameter>
1150           <parameter name="data" transfer-ownership="none">
1151             <type name="any" c:type="gpointer"/>
1152           </parameter>
1153         </parameters>
1154       </method>
1155       <method name="add_weak_pointer" c:identifier="g_object_add_weak_pointer">
1156         <return-value transfer-ownership="none">
1157           <type name="none" c:type="void"/>
1158         </return-value>
1159         <parameters>
1160           <parameter name="weak_pointer_location" transfer-ownership="none">
1161             <doc xml:whitespace="preserve">(inout)</doc>
1162             <type name="any" c:type="gpointer*"/>
1163           </parameter>
1164         </parameters>
1165       </method>
1166       <method name="remove_weak_pointer"
1167               c:identifier="g_object_remove_weak_pointer">
1168         <return-value transfer-ownership="none">
1169           <type name="none" c:type="void"/>
1170         </return-value>
1171         <parameters>
1172           <parameter name="weak_pointer_location" transfer-ownership="none">
1173             <doc xml:whitespace="preserve">(inout)</doc>
1174             <type name="any" c:type="gpointer*"/>
1175           </parameter>
1176         </parameters>
1177       </method>
1178       <method name="add_toggle_ref" c:identifier="g_object_add_toggle_ref">
1179         <return-value transfer-ownership="none">
1180           <type name="none" c:type="void"/>
1181         </return-value>
1182         <parameters>
1183           <parameter name="notify"
1184                      transfer-ownership="none"
1185                      scope="call"
1186                      closure="2">
1187             <type name="ToggleNotify" c:type="GToggleNotify"/>
1188           </parameter>
1189           <parameter name="data" transfer-ownership="none">
1190             <type name="any" c:type="gpointer"/>
1191           </parameter>
1192         </parameters>
1193       </method>
1194       <method name="remove_toggle_ref"
1195               c:identifier="g_object_remove_toggle_ref">
1196         <return-value transfer-ownership="none">
1197           <type name="none" c:type="void"/>
1198         </return-value>
1199         <parameters>
1200           <parameter name="notify"
1201                      transfer-ownership="none"
1202                      scope="call"
1203                      closure="2">
1204             <type name="ToggleNotify" c:type="GToggleNotify"/>
1205           </parameter>
1206           <parameter name="data" transfer-ownership="none">
1207             <type name="any" c:type="gpointer"/>
1208           </parameter>
1209         </parameters>
1210       </method>
1211       <method name="get_qdata" c:identifier="g_object_get_qdata">
1212         <return-value transfer-ownership="none">
1213           <type name="any" c:type="gpointer"/>
1214         </return-value>
1215         <parameters>
1216           <parameter name="quark" transfer-ownership="none">
1217             <type name="GLib.Quark" c:type="GQuark"/>
1218           </parameter>
1219         </parameters>
1220       </method>
1221       <method name="set_qdata" c:identifier="g_object_set_qdata">
1222         <return-value transfer-ownership="none">
1223           <type name="none" c:type="void"/>
1224         </return-value>
1225         <parameters>
1226           <parameter name="quark" transfer-ownership="none">
1227             <type name="GLib.Quark" c:type="GQuark"/>
1228           </parameter>
1229           <parameter name="data" transfer-ownership="none">
1230             <type name="any" c:type="gpointer"/>
1231           </parameter>
1232         </parameters>
1233       </method>
1234       <method name="set_qdata_full" c:identifier="g_object_set_qdata_full">
1235         <return-value transfer-ownership="none">
1236           <type name="none" c:type="void"/>
1237         </return-value>
1238         <parameters>
1239           <parameter name="quark" transfer-ownership="none">
1240             <type name="GLib.Quark" c:type="GQuark"/>
1241           </parameter>
1242           <parameter name="data" transfer-ownership="none">
1243             <type name="any" c:type="gpointer"/>
1244           </parameter>
1245           <parameter name="destroy" transfer-ownership="none" scope="call">
1246             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1247           </parameter>
1248         </parameters>
1249       </method>
1250       <method name="steal_qdata" c:identifier="g_object_steal_qdata">
1251         <return-value transfer-ownership="none">
1252           <type name="any" c:type="gpointer"/>
1253         </return-value>
1254         <parameters>
1255           <parameter name="quark" transfer-ownership="none">
1256             <type name="GLib.Quark" c:type="GQuark"/>
1257           </parameter>
1258         </parameters>
1259       </method>
1260       <method name="get_data" c:identifier="g_object_get_data">
1261         <return-value transfer-ownership="none">
1262           <type name="any" c:type="gpointer"/>
1263         </return-value>
1264         <parameters>
1265           <parameter name="key" transfer-ownership="none">
1266             <type name="utf8" c:type="gchar*"/>
1267           </parameter>
1268         </parameters>
1269       </method>
1270       <method name="set_data" c:identifier="g_object_set_data">
1271         <return-value transfer-ownership="none">
1272           <type name="none" c:type="void"/>
1273         </return-value>
1274         <parameters>
1275           <parameter name="key" transfer-ownership="none">
1276             <type name="utf8" c:type="gchar*"/>
1277           </parameter>
1278           <parameter name="data" transfer-ownership="none">
1279             <type name="any" c:type="gpointer"/>
1280           </parameter>
1281         </parameters>
1282       </method>
1283       <method name="set_data_full" c:identifier="g_object_set_data_full">
1284         <return-value transfer-ownership="none">
1285           <type name="none" c:type="void"/>
1286         </return-value>
1287         <parameters>
1288           <parameter name="key" transfer-ownership="none">
1289             <type name="utf8" c:type="gchar*"/>
1290           </parameter>
1291           <parameter name="data" transfer-ownership="none">
1292             <type name="any" c:type="gpointer"/>
1293           </parameter>
1294           <parameter name="destroy" transfer-ownership="none" scope="call">
1295             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1296           </parameter>
1297         </parameters>
1298       </method>
1299       <method name="steal_data" c:identifier="g_object_steal_data">
1300         <return-value transfer-ownership="none">
1301           <type name="any" c:type="gpointer"/>
1302         </return-value>
1303         <parameters>
1304           <parameter name="key" transfer-ownership="none">
1305             <type name="utf8" c:type="gchar*"/>
1306           </parameter>
1307         </parameters>
1308       </method>
1309       <method name="watch_closure" c:identifier="g_object_watch_closure">
1310         <return-value transfer-ownership="none">
1311           <type name="none" c:type="void"/>
1312         </return-value>
1313         <parameters>
1314           <parameter name="closure" transfer-ownership="none">
1315             <type name="Closure" c:type="GClosure*"/>
1316           </parameter>
1317         </parameters>
1318       </method>
1319       <method name="force_floating" c:identifier="g_object_force_floating">
1320         <return-value transfer-ownership="none">
1321           <type name="none" c:type="void"/>
1322         </return-value>
1323       </method>
1324       <method name="run_dispose" c:identifier="g_object_run_dispose">
1325         <return-value transfer-ownership="none">
1326           <type name="none" c:type="void"/>
1327         </return-value>
1328       </method>
1329       <field name="g_type_instance" writable="1">
1330         <type name="TypeInstance" c:type="GTypeInstance"/>
1331       </field>
1332       <field name="ref_count" writable="1">
1333         <type name="uint" c:type="guint"/>
1334       </field>
1335       <field name="qdata" writable="1">
1336         <type name="GLib.Data" c:type="GData*"/>
1337       </field>
1338     </class>
1339     <record name="ObjectClass"
1340             c:type="GObjectClass"
1341             glib:is-gtype-struct-for="Object">
1342       <doc xml:whitespace="preserve">The class structure for the &lt;structname&gt;GObject&lt;/structname&gt; type.
1343 &lt;example&gt;
1344 &lt;title&gt;Implementing singletons using a constructor&lt;/title&gt;
1345 &lt;programlisting&gt;
1346 static MySingleton *the_singleton = NULL;
1347 static GObject*
1348 my_singleton_constructor (GType                  type,
1349 guint                  n_construct_params,
1350 GObjectConstructParam *construct_params)
1351 {
1352 GObject *object;
1353 if (!the_singleton)
1354 {
1355 object = G_OBJECT_CLASS (parent_class)-&gt;constructor (type,
1356 n_construct_params,
1357 construct_params);
1358 the_singleton = MY_SINGLETON (object);
1359 }
1360 else
1361 object = g_object_ref (G_OBJECT (the_singleton));
1362 return object;
1363 }
1364 &lt;/programlisting&gt;&lt;/example&gt;</doc>
1365       <field name="g_type_class">
1366         <type name="TypeClass" c:type="GTypeClass"/>
1367       </field>
1368       <field name="construct_properties">
1369         <type name="GLib.SList" c:type="GSList*">
1370           <type name="any" c:type="gpointer"/>
1371         </type>
1372       </field>
1373       <field name="constructor">
1374         <callback name="constructor" c:type="constructor">
1375           <return-value transfer-ownership="full">
1376             <type name="Object" c:type="GObject*"/>
1377           </return-value>
1378           <parameters>
1379             <parameter name="type" transfer-ownership="none">
1380               <type name="GType" c:type="GType"/>
1381             </parameter>
1382             <parameter name="n_construct_properties" transfer-ownership="none">
1383               <type name="uint" c:type="guint"/>
1384             </parameter>
1385             <parameter name="construct_properties" transfer-ownership="none">
1386               <type name="ObjectConstructParam"
1387                     c:type="GObjectConstructParam*"/>
1388             </parameter>
1389           </parameters>
1390         </callback>
1391       </field>
1392       <field name="set_property">
1393         <callback name="set_property" c:type="set_property">
1394           <return-value transfer-ownership="none">
1395             <type name="none" c:type="void"/>
1396           </return-value>
1397           <parameters>
1398             <parameter name="object" transfer-ownership="none">
1399               <type name="Object" c:type="GObject*"/>
1400             </parameter>
1401             <parameter name="property_id" transfer-ownership="none">
1402               <type name="uint" c:type="guint"/>
1403             </parameter>
1404             <parameter name="value" transfer-ownership="none">
1405               <type name="Value" c:type="GValue*"/>
1406             </parameter>
1407             <parameter name="pspec" transfer-ownership="none">
1408               <type name="ParamSpec" c:type="GParamSpec*"/>
1409             </parameter>
1410           </parameters>
1411         </callback>
1412       </field>
1413       <field name="get_property">
1414         <callback name="get_property" c:type="get_property">
1415           <return-value transfer-ownership="none">
1416             <type name="none" c:type="void"/>
1417           </return-value>
1418           <parameters>
1419             <parameter name="object" transfer-ownership="none">
1420               <type name="Object" c:type="GObject*"/>
1421             </parameter>
1422             <parameter name="property_id" transfer-ownership="none">
1423               <type name="uint" c:type="guint"/>
1424             </parameter>
1425             <parameter name="value" transfer-ownership="none">
1426               <type name="Value" c:type="GValue*"/>
1427             </parameter>
1428             <parameter name="pspec" transfer-ownership="none">
1429               <type name="ParamSpec" c:type="GParamSpec*"/>
1430             </parameter>
1431           </parameters>
1432         </callback>
1433       </field>
1434       <field name="dispose">
1435         <callback name="dispose" c:type="dispose">
1436           <return-value transfer-ownership="none">
1437             <type name="none" c:type="void"/>
1438           </return-value>
1439           <parameters>
1440             <parameter name="object" transfer-ownership="none">
1441               <type name="Object" c:type="GObject*"/>
1442             </parameter>
1443           </parameters>
1444         </callback>
1445       </field>
1446       <field name="finalize">
1447         <callback name="finalize" c:type="finalize">
1448           <return-value transfer-ownership="none">
1449             <type name="none" c:type="void"/>
1450           </return-value>
1451           <parameters>
1452             <parameter name="object" transfer-ownership="none">
1453               <type name="Object" c:type="GObject*"/>
1454             </parameter>
1455           </parameters>
1456         </callback>
1457       </field>
1458       <field name="dispatch_properties_changed">
1459         <callback name="dispatch_properties_changed"
1460                   c:type="dispatch_properties_changed">
1461           <return-value transfer-ownership="none">
1462             <type name="none" c:type="void"/>
1463           </return-value>
1464           <parameters>
1465             <parameter name="object" transfer-ownership="none">
1466               <type name="Object" c:type="GObject*"/>
1467             </parameter>
1468             <parameter name="n_pspecs" transfer-ownership="none">
1469               <type name="uint" c:type="guint"/>
1470             </parameter>
1471             <parameter name="pspecs" transfer-ownership="none">
1472               <type name="ParamSpec" c:type="GParamSpec**"/>
1473             </parameter>
1474           </parameters>
1475         </callback>
1476       </field>
1477       <field name="notify">
1478         <callback name="notify" c:type="notify">
1479           <return-value transfer-ownership="none">
1480             <type name="none" c:type="void"/>
1481           </return-value>
1482           <parameters>
1483             <parameter name="object" transfer-ownership="none">
1484               <type name="Object" c:type="GObject*"/>
1485             </parameter>
1486             <parameter name="pspec" transfer-ownership="none">
1487               <type name="ParamSpec" c:type="GParamSpec*"/>
1488             </parameter>
1489           </parameters>
1490         </callback>
1491       </field>
1492       <field name="constructed">
1493         <callback name="constructed" c:type="constructed">
1494           <return-value transfer-ownership="none">
1495             <type name="none" c:type="void"/>
1496           </return-value>
1497           <parameters>
1498             <parameter name="object" transfer-ownership="none">
1499               <type name="Object" c:type="GObject*"/>
1500             </parameter>
1501           </parameters>
1502         </callback>
1503       </field>
1504       <field name="flags">
1505         <type name="gsize" c:type="gsize"/>
1506       </field>
1507       <field name="pdummy">
1508         <array zero-terminated="0" c:type="gpointer" fixed-size="6">
1509           <type name="any"/>
1510         </array>
1511       </field>
1512       <method name="install_property"
1513               c:identifier="g_object_class_install_property">
1514         <return-value transfer-ownership="none">
1515           <type name="none" c:type="void"/>
1516         </return-value>
1517         <parameters>
1518           <parameter name="property_id" transfer-ownership="none">
1519             <type name="uint" c:type="guint"/>
1520           </parameter>
1521           <parameter name="pspec" transfer-ownership="none">
1522             <type name="ParamSpec" c:type="GParamSpec*"/>
1523           </parameter>
1524         </parameters>
1525       </method>
1526       <method name="find_property" c:identifier="g_object_class_find_property">
1527         <return-value transfer-ownership="full">
1528           <type name="ParamSpec" c:type="GParamSpec*"/>
1529         </return-value>
1530         <parameters>
1531           <parameter name="property_name" transfer-ownership="none">
1532             <type name="utf8" c:type="gchar*"/>
1533           </parameter>
1534         </parameters>
1535       </method>
1536       <method name="list_properties"
1537               c:identifier="g_object_class_list_properties">
1538         <return-value transfer-ownership="full">
1539           <array length="1" c:type="GParamSpec**">
1540             <type name="ParamSpec"/>
1541           </array>
1542         </return-value>
1543         <parameters>
1544           <parameter name="n_properties"
1545                      direction="out"
1546                      caller-allocates="0"
1547                      transfer-ownership="full">
1548             <type name="uint" c:type="guint*"/>
1549           </parameter>
1550         </parameters>
1551       </method>
1552       <method name="override_property"
1553               c:identifier="g_object_class_override_property">
1554         <return-value transfer-ownership="none">
1555           <type name="none" c:type="void"/>
1556         </return-value>
1557         <parameters>
1558           <parameter name="property_id" transfer-ownership="none">
1559             <type name="uint" c:type="guint"/>
1560           </parameter>
1561           <parameter name="name" transfer-ownership="none">
1562             <type name="utf8" c:type="gchar*"/>
1563           </parameter>
1564         </parameters>
1565       </method>
1566     </record>
1567     <record name="ObjectConstructParam" c:type="GObjectConstructParam">
1568       <doc xml:whitespace="preserve">The &lt;structname&gt;GObjectConstructParam&lt;/structname&gt; struct is an auxiliary 
1569 structure used to hand #GParamSpec/#GValue pairs to the @constructor of
1570 a #GObjectClass.</doc>
1571       <field name="pspec" writable="1">
1572         <type name="ParamSpec" c:type="GParamSpec*"/>
1573       </field>
1574       <field name="value" writable="1">
1575         <type name="Value" c:type="GValue*"/>
1576       </field>
1577     </record>
1578     <callback name="ObjectFinalizeFunc" c:type="GObjectFinalizeFunc">
1579       <doc xml:whitespace="preserve">The type of the @finalize function of #GObjectClass.</doc>
1580       <return-value transfer-ownership="none">
1581         <type name="none" c:type="void"/>
1582       </return-value>
1583       <parameters>
1584         <parameter name="object" transfer-ownership="none">
1585           <doc xml:whitespace="preserve">the #GObject being finalized</doc>
1586           <type name="Object" c:type="GObject*"/>
1587         </parameter>
1588       </parameters>
1589     </callback>
1590     <callback name="ObjectGetPropertyFunc" c:type="GObjectGetPropertyFunc">
1591       <doc xml:whitespace="preserve">The type of the @get_property function of #GObjectClass.</doc>
1592       <return-value transfer-ownership="none">
1593         <type name="none" c:type="void"/>
1594       </return-value>
1595       <parameters>
1596         <parameter name="object" transfer-ownership="none">
1597           <doc xml:whitespace="preserve">a #GObject</doc>
1598           <type name="Object" c:type="GObject*"/>
1599         </parameter>
1600         <parameter name="property_id" transfer-ownership="none">
1601           <doc xml:whitespace="preserve">the numeric id under which the property was registered with g_object_class_install_property().</doc>
1602           <type name="uint" c:type="guint"/>
1603         </parameter>
1604         <parameter name="value" transfer-ownership="none">
1605           <doc xml:whitespace="preserve">a #GValue to return the property value in</doc>
1606           <type name="Value" c:type="GValue*"/>
1607         </parameter>
1608         <parameter name="pspec" transfer-ownership="none">
1609           <doc xml:whitespace="preserve">the #GParamSpec describing the property</doc>
1610           <type name="ParamSpec" c:type="GParamSpec*"/>
1611         </parameter>
1612       </parameters>
1613     </callback>
1614     <callback name="ObjectSetPropertyFunc" c:type="GObjectSetPropertyFunc">
1615       <doc xml:whitespace="preserve">The type of the @set_property function of #GObjectClass.</doc>
1616       <return-value transfer-ownership="none">
1617         <type name="none" c:type="void"/>
1618       </return-value>
1619       <parameters>
1620         <parameter name="object" transfer-ownership="none">
1621           <doc xml:whitespace="preserve">a #GObject</doc>
1622           <type name="Object" c:type="GObject*"/>
1623         </parameter>
1624         <parameter name="property_id" transfer-ownership="none">
1625           <doc xml:whitespace="preserve">the numeric id under which the property was registered with g_object_class_install_property().</doc>
1626           <type name="uint" c:type="guint"/>
1627         </parameter>
1628         <parameter name="value" transfer-ownership="none">
1629           <doc xml:whitespace="preserve">the new value for the property</doc>
1630           <type name="Value" c:type="GValue*"/>
1631         </parameter>
1632         <parameter name="pspec" transfer-ownership="none">
1633           <doc xml:whitespace="preserve">the #GParamSpec describing the property</doc>
1634           <type name="ParamSpec" c:type="GParamSpec*"/>
1635         </parameter>
1636       </parameters>
1637     </callback>
1638     <constant name="PARAM_MASK" value="255">
1639       <type name="int"/>
1640     </constant>
1641     <constant name="PARAM_READWRITE" value="0">
1642       <type name="int"/>
1643     </constant>
1644     <constant name="PARAM_STATIC_STRINGS" value="0">
1645       <type name="int"/>
1646     </constant>
1647     <constant name="PARAM_USER_SHIFT" value="8">
1648       <type name="int"/>
1649     </constant>
1650     <bitfield name="ParamFlags" c:type="GParamFlags">
1651       <doc xml:whitespace="preserve">Through the #GParamFlags flag values, certain aspects of parameters
1652 can be configured.</doc>
1653       <member name="readable" value="1" c:identifier="G_PARAM_READABLE"/>
1654       <member name="writable" value="2" c:identifier="G_PARAM_WRITABLE"/>
1655       <member name="construct" value="4" c:identifier="G_PARAM_CONSTRUCT"/>
1656       <member name="construct_only"
1657               value="8"
1658               c:identifier="G_PARAM_CONSTRUCT_ONLY"/>
1659       <member name="lax_validation"
1660               value="16"
1661               c:identifier="G_PARAM_LAX_VALIDATION"/>
1662       <member name="static_name"
1663               value="32"
1664               c:identifier="G_PARAM_STATIC_NAME"/>
1665       <member name="private" value="32" c:identifier="G_PARAM_PRIVATE"/>
1666       <member name="static_nick"
1667               value="64"
1668               c:identifier="G_PARAM_STATIC_NICK"/>
1669       <member name="static_blurb"
1670               value="128"
1671               c:identifier="G_PARAM_STATIC_BLURB"/>
1672       <member name="deprecated"
1673               value="-2147483648"
1674               c:identifier="G_PARAM_DEPRECATED"/>
1675     </bitfield>
1676     <record name="ParamSpec" c:type="GParamSpec">
1677       <doc xml:whitespace="preserve">All other fields of the &lt;structname&gt;GParamSpec&lt;/structname&gt; struct are private and
1678 should not be used directly.</doc>
1679       <field name="g_type_instance" writable="1">
1680         <type name="TypeInstance" c:type="GTypeInstance"/>
1681       </field>
1682       <field name="name" writable="1">
1683         <type name="utf8" c:type="gchar*"/>
1684       </field>
1685       <field name="flags" writable="1">
1686         <type name="ParamFlags" c:type="GParamFlags"/>
1687       </field>
1688       <field name="value_type" writable="1">
1689         <type name="GType" c:type="GType"/>
1690       </field>
1691       <field name="owner_type" writable="1">
1692         <type name="GType" c:type="GType"/>
1693       </field>
1694       <field name="_nick" writable="1">
1695         <type name="utf8" c:type="gchar*"/>
1696       </field>
1697       <field name="_blurb" writable="1">
1698         <type name="utf8" c:type="gchar*"/>
1699       </field>
1700       <field name="qdata" writable="1">
1701         <type name="GLib.Data" c:type="GData*"/>
1702       </field>
1703       <field name="ref_count" writable="1">
1704         <type name="uint" c:type="guint"/>
1705       </field>
1706       <field name="param_id" writable="1">
1707         <type name="uint" c:type="guint"/>
1708       </field>
1709       <method name="ref" c:identifier="g_param_spec_ref">
1710         <return-value transfer-ownership="full">
1711           <type name="ParamSpec" c:type="GParamSpec*"/>
1712         </return-value>
1713       </method>
1714       <method name="unref" c:identifier="g_param_spec_unref">
1715         <return-value transfer-ownership="none">
1716           <type name="none" c:type="void"/>
1717         </return-value>
1718       </method>
1719       <method name="sink" c:identifier="g_param_spec_sink">
1720         <return-value transfer-ownership="none">
1721           <type name="none" c:type="void"/>
1722         </return-value>
1723       </method>
1724       <method name="ref_sink" c:identifier="g_param_spec_ref_sink">
1725         <return-value transfer-ownership="full">
1726           <type name="ParamSpec" c:type="GParamSpec*"/>
1727         </return-value>
1728       </method>
1729       <method name="get_qdata" c:identifier="g_param_spec_get_qdata">
1730         <return-value transfer-ownership="none">
1731           <type name="any" c:type="gpointer"/>
1732         </return-value>
1733         <parameters>
1734           <parameter name="quark" transfer-ownership="none">
1735             <type name="GLib.Quark" c:type="GQuark"/>
1736           </parameter>
1737         </parameters>
1738       </method>
1739       <method name="set_qdata" c:identifier="g_param_spec_set_qdata">
1740         <return-value transfer-ownership="none">
1741           <type name="none" c:type="void"/>
1742         </return-value>
1743         <parameters>
1744           <parameter name="quark" transfer-ownership="none">
1745             <type name="GLib.Quark" c:type="GQuark"/>
1746           </parameter>
1747           <parameter name="data" transfer-ownership="none">
1748             <type name="any" c:type="gpointer"/>
1749           </parameter>
1750         </parameters>
1751       </method>
1752       <method name="set_qdata_full" c:identifier="g_param_spec_set_qdata_full">
1753         <return-value transfer-ownership="none">
1754           <type name="none" c:type="void"/>
1755         </return-value>
1756         <parameters>
1757           <parameter name="quark" transfer-ownership="none">
1758             <type name="GLib.Quark" c:type="GQuark"/>
1759           </parameter>
1760           <parameter name="data" transfer-ownership="none">
1761             <type name="any" c:type="gpointer"/>
1762           </parameter>
1763           <parameter name="destroy" transfer-ownership="none" scope="call">
1764             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1765           </parameter>
1766         </parameters>
1767       </method>
1768       <method name="steal_qdata" c:identifier="g_param_spec_steal_qdata">
1769         <return-value transfer-ownership="none">
1770           <type name="any" c:type="gpointer"/>
1771         </return-value>
1772         <parameters>
1773           <parameter name="quark" transfer-ownership="none">
1774             <type name="GLib.Quark" c:type="GQuark"/>
1775           </parameter>
1776         </parameters>
1777       </method>
1778       <method name="get_redirect_target"
1779               c:identifier="g_param_spec_get_redirect_target">
1780         <return-value transfer-ownership="full">
1781           <type name="ParamSpec" c:type="GParamSpec*"/>
1782         </return-value>
1783       </method>
1784       <method name="get_name" c:identifier="g_param_spec_get_name">
1785         <return-value transfer-ownership="none">
1786           <type name="utf8" c:type="gchar*"/>
1787         </return-value>
1788       </method>
1789       <method name="get_nick" c:identifier="g_param_spec_get_nick">
1790         <return-value transfer-ownership="none">
1791           <type name="utf8" c:type="gchar*"/>
1792         </return-value>
1793       </method>
1794       <method name="get_blurb" c:identifier="g_param_spec_get_blurb">
1795         <return-value transfer-ownership="none">
1796           <type name="utf8" c:type="gchar*"/>
1797         </return-value>
1798       </method>
1799     </record>
1800     <record name="ParamSpecBoolean" c:type="GParamSpecBoolean">
1801       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for boolean properties.</doc>
1802       <field name="parent_instance" writable="1">
1803         <type name="ParamSpec" c:type="GParamSpec"/>
1804       </field>
1805       <field name="default_value" writable="1">
1806         <type name="boolean" c:type="gboolean"/>
1807       </field>
1808     </record>
1809     <record name="ParamSpecBoxed" c:type="GParamSpecBoxed">
1810       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for boxed properties.</doc>
1811       <field name="parent_instance" writable="1">
1812         <type name="ParamSpec" c:type="GParamSpec"/>
1813       </field>
1814     </record>
1815     <record name="ParamSpecChar" c:type="GParamSpecChar">
1816       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for character properties.</doc>
1817       <field name="parent_instance" writable="1">
1818         <type name="ParamSpec" c:type="GParamSpec"/>
1819       </field>
1820       <field name="minimum" writable="1">
1821         <type name="int8" c:type="gint8"/>
1822       </field>
1823       <field name="maximum" writable="1">
1824         <type name="int8" c:type="gint8"/>
1825       </field>
1826       <field name="default_value" writable="1">
1827         <type name="int8" c:type="gint8"/>
1828       </field>
1829     </record>
1830     <record name="ParamSpecClass" c:type="GParamSpecClass">
1831       <doc xml:whitespace="preserve">The class structure for the &lt;structname&gt;GParamSpec&lt;/structname&gt; type.
1832 Normally, &lt;structname&gt;GParamSpec&lt;/structname&gt; classes are filled by
1833 g_param_type_register_static().</doc>
1834       <field name="g_type_class" writable="1">
1835         <type name="TypeClass" c:type="GTypeClass"/>
1836       </field>
1837       <field name="value_type" writable="1">
1838         <type name="GType" c:type="GType"/>
1839       </field>
1840       <field name="finalize">
1841         <type name="any" c:type="pointer"/>
1842       </field>
1843       <field name="value_set_default">
1844         <type name="any" c:type="pointer"/>
1845       </field>
1846       <field name="value_validate">
1847         <type name="any" c:type="pointer"/>
1848       </field>
1849       <field name="values_cmp">
1850         <type name="any" c:type="pointer"/>
1851       </field>
1852       <field name="dummy" writable="1">
1853         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
1854           <type name="any"/>
1855         </array>
1856       </field>
1857     </record>
1858     <record name="ParamSpecDouble" c:type="GParamSpecDouble">
1859       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for double properties.</doc>
1860       <field name="parent_instance" writable="1">
1861         <type name="ParamSpec" c:type="GParamSpec"/>
1862       </field>
1863       <field name="minimum" writable="1">
1864         <type name="double" c:type="gdouble"/>
1865       </field>
1866       <field name="maximum" writable="1">
1867         <type name="double" c:type="gdouble"/>
1868       </field>
1869       <field name="default_value" writable="1">
1870         <type name="double" c:type="gdouble"/>
1871       </field>
1872       <field name="epsilon" writable="1">
1873         <type name="double" c:type="gdouble"/>
1874       </field>
1875     </record>
1876     <record name="ParamSpecEnum" c:type="GParamSpecEnum">
1877       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for enum 
1878 properties.</doc>
1879       <field name="parent_instance" writable="1">
1880         <type name="ParamSpec" c:type="GParamSpec"/>
1881       </field>
1882       <field name="enum_class" writable="1">
1883         <type name="EnumClass" c:type="GEnumClass*"/>
1884       </field>
1885       <field name="default_value" writable="1">
1886         <type name="int" c:type="gint"/>
1887       </field>
1888     </record>
1889     <record name="ParamSpecFlags" c:type="GParamSpecFlags">
1890       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for flags
1891 properties.</doc>
1892       <field name="parent_instance" writable="1">
1893         <type name="ParamSpec" c:type="GParamSpec"/>
1894       </field>
1895       <field name="flags_class" writable="1">
1896         <type name="FlagsClass" c:type="GFlagsClass*"/>
1897       </field>
1898       <field name="default_value" writable="1">
1899         <type name="uint" c:type="guint"/>
1900       </field>
1901     </record>
1902     <record name="ParamSpecFloat" c:type="GParamSpecFloat">
1903       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for float properties.</doc>
1904       <field name="parent_instance" writable="1">
1905         <type name="ParamSpec" c:type="GParamSpec"/>
1906       </field>
1907       <field name="minimum" writable="1">
1908         <type name="float" c:type="gfloat"/>
1909       </field>
1910       <field name="maximum" writable="1">
1911         <type name="float" c:type="gfloat"/>
1912       </field>
1913       <field name="default_value" writable="1">
1914         <type name="float" c:type="gfloat"/>
1915       </field>
1916       <field name="epsilon" writable="1">
1917         <type name="float" c:type="gfloat"/>
1918       </field>
1919     </record>
1920     <record name="ParamSpecGType" c:type="GParamSpecGType" version="2.10">
1921       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for #GType properties.</doc>
1922       <field name="parent_instance" writable="1">
1923         <type name="ParamSpec" c:type="GParamSpec"/>
1924       </field>
1925       <field name="is_a_type" writable="1">
1926         <type name="GType" c:type="GType"/>
1927       </field>
1928     </record>
1929     <record name="ParamSpecInt" c:type="GParamSpecInt">
1930       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for integer properties.</doc>
1931       <field name="parent_instance" writable="1">
1932         <type name="ParamSpec" c:type="GParamSpec"/>
1933       </field>
1934       <field name="minimum" writable="1">
1935         <type name="int" c:type="gint"/>
1936       </field>
1937       <field name="maximum" writable="1">
1938         <type name="int" c:type="gint"/>
1939       </field>
1940       <field name="default_value" writable="1">
1941         <type name="int" c:type="gint"/>
1942       </field>
1943     </record>
1944     <record name="ParamSpecInt64" c:type="GParamSpecInt64">
1945       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for 64bit integer properties.</doc>
1946       <field name="parent_instance" writable="1">
1947         <type name="ParamSpec" c:type="GParamSpec"/>
1948       </field>
1949       <field name="minimum" writable="1">
1950         <type name="int64" c:type="gint64"/>
1951       </field>
1952       <field name="maximum" writable="1">
1953         <type name="int64" c:type="gint64"/>
1954       </field>
1955       <field name="default_value" writable="1">
1956         <type name="int64" c:type="gint64"/>
1957       </field>
1958     </record>
1959     <record name="ParamSpecLong" c:type="GParamSpecLong">
1960       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for long integer properties.</doc>
1961       <field name="parent_instance" writable="1">
1962         <type name="ParamSpec" c:type="GParamSpec"/>
1963       </field>
1964       <field name="minimum" writable="1">
1965         <type name="long" c:type="glong"/>
1966       </field>
1967       <field name="maximum" writable="1">
1968         <type name="long" c:type="glong"/>
1969       </field>
1970       <field name="default_value" writable="1">
1971         <type name="long" c:type="glong"/>
1972       </field>
1973     </record>
1974     <record name="ParamSpecObject" c:type="GParamSpecObject">
1975       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for object properties.</doc>
1976       <field name="parent_instance" writable="1">
1977         <type name="ParamSpec" c:type="GParamSpec"/>
1978       </field>
1979     </record>
1980     <record name="ParamSpecOverride" c:type="GParamSpecOverride" version="2.4">
1981       <doc xml:whitespace="preserve">This is a type of #GParamSpec type that simply redirects operations to
1982 another paramspec.  All operations other than getting or
1983 setting the value are redirected, including accessing the nick and
1984 blurb, validating a value, and so forth. See
1985 g_param_spec_get_redirect_target() for retrieving the overidden
1986 property. #GParamSpecOverride is used in implementing
1987 g_object_class_override_property(), and will not be directly useful
1988 unless you are implementing a new base type similar to GObject.</doc>
1989       <field name="parent_instance" writable="1">
1990         <type name="ParamSpec" c:type="GParamSpec"/>
1991       </field>
1992       <field name="overridden" writable="1">
1993         <type name="ParamSpec" c:type="GParamSpec*"/>
1994       </field>
1995     </record>
1996     <record name="ParamSpecParam" c:type="GParamSpecParam">
1997       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
1998 properties.</doc>
1999       <field name="parent_instance" writable="1">
2000         <type name="ParamSpec" c:type="GParamSpec"/>
2001       </field>
2002     </record>
2003     <record name="ParamSpecPointer" c:type="GParamSpecPointer">
2004       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for pointer properties.</doc>
2005       <field name="parent_instance" writable="1">
2006         <type name="ParamSpec" c:type="GParamSpec"/>
2007       </field>
2008     </record>
2009     <record name="ParamSpecPool" c:type="GParamSpecPool">
2010       <constructor name="new" c:identifier="g_param_spec_pool_new">
2011         <return-value transfer-ownership="full">
2012           <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
2013         </return-value>
2014         <parameters>
2015           <parameter name="type_prefixing" transfer-ownership="none">
2016             <type name="boolean" c:type="gboolean"/>
2017           </parameter>
2018         </parameters>
2019       </constructor>
2020       <method name="insert" c:identifier="g_param_spec_pool_insert">
2021         <return-value transfer-ownership="none">
2022           <type name="none" c:type="void"/>
2023         </return-value>
2024         <parameters>
2025           <parameter name="pspec" transfer-ownership="none">
2026             <type name="ParamSpec" c:type="GParamSpec*"/>
2027           </parameter>
2028           <parameter name="owner_type" transfer-ownership="none">
2029             <type name="GType" c:type="GType"/>
2030           </parameter>
2031         </parameters>
2032       </method>
2033       <method name="remove" c:identifier="g_param_spec_pool_remove">
2034         <return-value transfer-ownership="none">
2035           <type name="none" c:type="void"/>
2036         </return-value>
2037         <parameters>
2038           <parameter name="pspec" transfer-ownership="none">
2039             <type name="ParamSpec" c:type="GParamSpec*"/>
2040           </parameter>
2041         </parameters>
2042       </method>
2043       <method name="lookup" c:identifier="g_param_spec_pool_lookup">
2044         <return-value transfer-ownership="full">
2045           <type name="ParamSpec" c:type="GParamSpec*"/>
2046         </return-value>
2047         <parameters>
2048           <parameter name="param_name" transfer-ownership="none">
2049             <type name="utf8" c:type="gchar*"/>
2050           </parameter>
2051           <parameter name="owner_type" transfer-ownership="none">
2052             <type name="GType" c:type="GType"/>
2053           </parameter>
2054           <parameter name="walk_ancestors" transfer-ownership="none">
2055             <type name="boolean" c:type="gboolean"/>
2056           </parameter>
2057         </parameters>
2058       </method>
2059       <method name="list_owned"
2060               c:identifier="g_param_spec_pool_list_owned"
2061               introspectable="0">
2062         <return-value transfer-ownership="full">
2063           <type name="GLib.List" c:type="GList*">
2064             <type name="any" c:type="gpointer"/>
2065           </type>
2066         </return-value>
2067         <parameters>
2068           <parameter name="owner_type" transfer-ownership="none">
2069             <type name="GType" c:type="GType"/>
2070           </parameter>
2071         </parameters>
2072       </method>
2073       <method name="list" c:identifier="g_param_spec_pool_list">
2074         <return-value transfer-ownership="full">
2075           <type name="ParamSpec" c:type="GParamSpec**"/>
2076         </return-value>
2077         <parameters>
2078           <parameter name="owner_type" transfer-ownership="none">
2079             <type name="GType" c:type="GType"/>
2080           </parameter>
2081           <parameter name="n_pspecs_p"
2082                      direction="out"
2083                      caller-allocates="0"
2084                      transfer-ownership="full">
2085             <type name="uint" c:type="guint*"/>
2086           </parameter>
2087         </parameters>
2088       </method>
2089     </record>
2090     <record name="ParamSpecString" c:type="GParamSpecString">
2091       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for string
2092 properties.</doc>
2093       <field name="parent_instance" writable="1">
2094         <type name="ParamSpec" c:type="GParamSpec"/>
2095       </field>
2096       <field name="default_value" writable="1">
2097         <type name="utf8" c:type="gchar*"/>
2098       </field>
2099       <field name="cset_first" writable="1">
2100         <type name="utf8" c:type="gchar*"/>
2101       </field>
2102       <field name="cset_nth" writable="1">
2103         <type name="utf8" c:type="gchar*"/>
2104       </field>
2105       <field name="substitutor" writable="1">
2106         <type name="int8" c:type="gchar"/>
2107       </field>
2108       <field name="null_fold_if_empty" writable="1" bits="1">
2109         <type name="uint" c:type="guint"/>
2110       </field>
2111       <field name="ensure_non_null" writable="1" bits="1">
2112         <type name="uint" c:type="guint"/>
2113       </field>
2114     </record>
2115     <record name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo">
2116       <doc xml:whitespace="preserve">This structure is used to provide the type system with the information
2117 required to initialize and destruct (finalize) a parameter's class and
2118 instances thereof.
2119 The initialized structure is passed to the g_param_type_register_static() 
2120 The type system will perform a deep copy of this structure, so its memory 
2121 does not need to be persistent across invocation of 
2122 g_param_type_register_static().</doc>
2123       <field name="instance_size" writable="1">
2124         <type name="uint16" c:type="guint16"/>
2125       </field>
2126       <field name="n_preallocs" writable="1">
2127         <type name="uint16" c:type="guint16"/>
2128       </field>
2129       <field name="instance_init">
2130         <type name="any" c:type="pointer"/>
2131       </field>
2132       <field name="value_type" writable="1">
2133         <type name="GType" c:type="GType"/>
2134       </field>
2135       <field name="finalize">
2136         <type name="any" c:type="pointer"/>
2137       </field>
2138       <field name="value_set_default">
2139         <type name="any" c:type="pointer"/>
2140       </field>
2141       <field name="value_validate">
2142         <type name="any" c:type="pointer"/>
2143       </field>
2144       <field name="values_cmp">
2145         <type name="any" c:type="pointer"/>
2146       </field>
2147     </record>
2148     <record name="ParamSpecUChar" c:type="GParamSpecUChar">
2149       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned character properties.</doc>
2150       <field name="parent_instance" writable="1">
2151         <type name="ParamSpec" c:type="GParamSpec"/>
2152       </field>
2153       <field name="minimum" writable="1">
2154         <type name="uint8" c:type="guint8"/>
2155       </field>
2156       <field name="maximum" writable="1">
2157         <type name="uint8" c:type="guint8"/>
2158       </field>
2159       <field name="default_value" writable="1">
2160         <type name="uint8" c:type="guint8"/>
2161       </field>
2162     </record>
2163     <record name="ParamSpecUInt" c:type="GParamSpecUInt">
2164       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned integer properties.</doc>
2165       <field name="parent_instance" writable="1">
2166         <type name="ParamSpec" c:type="GParamSpec"/>
2167       </field>
2168       <field name="minimum" writable="1">
2169         <type name="uint" c:type="guint"/>
2170       </field>
2171       <field name="maximum" writable="1">
2172         <type name="uint" c:type="guint"/>
2173       </field>
2174       <field name="default_value" writable="1">
2175         <type name="uint" c:type="guint"/>
2176       </field>
2177     </record>
2178     <record name="ParamSpecUInt64" c:type="GParamSpecUInt64">
2179       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.</doc>
2180       <field name="parent_instance" writable="1">
2181         <type name="ParamSpec" c:type="GParamSpec"/>
2182       </field>
2183       <field name="minimum" writable="1">
2184         <type name="uint64" c:type="guint64"/>
2185       </field>
2186       <field name="maximum" writable="1">
2187         <type name="uint64" c:type="guint64"/>
2188       </field>
2189       <field name="default_value" writable="1">
2190         <type name="uint64" c:type="guint64"/>
2191       </field>
2192     </record>
2193     <record name="ParamSpecULong" c:type="GParamSpecULong">
2194       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.</doc>
2195       <field name="parent_instance" writable="1">
2196         <type name="ParamSpec" c:type="GParamSpec"/>
2197       </field>
2198       <field name="minimum" writable="1">
2199         <type name="ulong" c:type="gulong"/>
2200       </field>
2201       <field name="maximum" writable="1">
2202         <type name="ulong" c:type="gulong"/>
2203       </field>
2204       <field name="default_value" writable="1">
2205         <type name="ulong" c:type="gulong"/>
2206       </field>
2207     </record>
2208     <record name="ParamSpecUnichar" c:type="GParamSpecUnichar">
2209       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.</doc>
2210       <field name="parent_instance" writable="1">
2211         <type name="ParamSpec" c:type="GParamSpec"/>
2212       </field>
2213       <field name="default_value" writable="1">
2214         <type name="GLib.unichar" c:type="gunichar"/>
2215       </field>
2216     </record>
2217     <record name="ParamSpecValueArray" c:type="GParamSpecValueArray">
2218       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for #GValueArray properties.</doc>
2219       <field name="parent_instance" writable="1">
2220         <type name="ParamSpec" c:type="GParamSpec"/>
2221       </field>
2222       <field name="element_spec" writable="1">
2223         <type name="ParamSpec" c:type="GParamSpec*"/>
2224       </field>
2225       <field name="fixed_n_elements" writable="1">
2226         <type name="uint" c:type="guint"/>
2227       </field>
2228     </record>
2229     <record name="ParamSpecVariant" c:type="GParamSpecVariant" version="2.26">
2230       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for #GVariant properties.</doc>
2231       <field name="parent_instance" writable="1">
2232         <type name="ParamSpec" c:type="GParamSpec"/>
2233       </field>
2234       <field name="type" writable="1">
2235         <type name="GLib.VariantType" c:type="GVariantType*"/>
2236       </field>
2237       <field name="default_value" writable="1">
2238         <type name="GLib.Variant" c:type="GVariant*"/>
2239       </field>
2240       <field name="padding" writable="1">
2241         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
2242           <type name="any"/>
2243         </array>
2244       </field>
2245     </record>
2246     <record name="Parameter" c:type="GParameter">
2247       <doc xml:whitespace="preserve">The &lt;structname&gt;GParameter&lt;/structname&gt; struct is an auxiliary structure used
2248 to hand parameter name/value pairs to g_object_newv().</doc>
2249       <field name="name" writable="1">
2250         <type name="utf8" c:type="gchar*"/>
2251       </field>
2252       <field name="value" writable="1">
2253         <type name="Value" c:type="GValue"/>
2254       </field>
2255     </record>
2256     <glib:boxed c:type="GPtrArray"
2257                 glib:name="PtrArray"
2258                 glib:type-name="GPtrArray"
2259                 glib:get-type="g_ptr_array_get_type">
2260     </glib:boxed>
2261     <glib:boxed c:type="GRegex"
2262                 glib:name="Regex"
2263                 glib:type-name="GRegex"
2264                 glib:get-type="g_regex_get_type">
2265     </glib:boxed>
2266     <constant name="SIGNAL_FLAGS_MASK" value="127">
2267       <type name="int"/>
2268     </constant>
2269     <constant name="SIGNAL_MATCH_MASK" value="63">
2270       <type name="int"/>
2271     </constant>
2272     <callback name="SignalAccumulator" c:type="GSignalAccumulator">
2273       <doc xml:whitespace="preserve">The signal accumulator is a special callback function that can be used
2274 to collect return values of the various callbacks that are called
2275 during a signal emission. The signal accumulator is specified at signal
2276 creation time, if it is left %NULL, no accumulation of callback return
2277 values is performed. The return value of signal emissions is then the
2278 value returned by the last callback.
2279 should be aborted. Returning %FALSE means to abort the
2280 current emission and %TRUE is returned for continuation.</doc>
2281       <return-value transfer-ownership="none">
2282         <doc xml:whitespace="preserve">The accumulator function returns whether the signal emission</doc>
2283         <type name="boolean" c:type="gboolean"/>
2284       </return-value>
2285       <parameters>
2286         <parameter name="ihint" transfer-ownership="none">
2287           <doc xml:whitespace="preserve">Signal invocation hint, see #GSignalInvocationHint.</doc>
2288           <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
2289         </parameter>
2290         <parameter name="return_accu" transfer-ownership="none">
2291           <doc xml:whitespace="preserve">Accumulator to collect callback return values in, this is the return value of the current signal emission.</doc>
2292           <type name="Value" c:type="GValue*"/>
2293         </parameter>
2294         <parameter name="handler_return" transfer-ownership="none">
2295           <doc xml:whitespace="preserve">A #GValue holding the return value of the signal handler.</doc>
2296           <type name="Value" c:type="GValue*"/>
2297         </parameter>
2298         <parameter name="data" transfer-ownership="none">
2299           <doc xml:whitespace="preserve">Callback data that was specified when creating the signal.</doc>
2300           <type name="any" c:type="gpointer"/>
2301         </parameter>
2302       </parameters>
2303     </callback>
2304     <callback name="SignalEmissionHook" c:type="GSignalEmissionHook">
2305       <doc xml:whitespace="preserve">A simple function pointer to get invoked when the signal is emitted. This 
2306 allows you to tie a hook to the signal type, so that it will trap all 
2307 emissions of that signal, from any object.
2308 You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.
2309 hook is disconnected (and destroyed).</doc>
2310       <return-value transfer-ownership="none">
2311         <doc xml:whitespace="preserve">whether it wants to stay connected. If it returns %FALSE, the signal</doc>
2312         <type name="boolean" c:type="gboolean"/>
2313       </return-value>
2314       <parameters>
2315         <parameter name="ihint" transfer-ownership="none">
2316           <doc xml:whitespace="preserve">Signal invocation hint, see #GSignalInvocationHint.</doc>
2317           <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
2318         </parameter>
2319         <parameter name="n_param_values" transfer-ownership="none">
2320           <doc xml:whitespace="preserve">the number of parameters to the function, including the instance on which the signal was emitted.</doc>
2321           <type name="uint" c:type="guint"/>
2322         </parameter>
2323         <parameter name="param_values" transfer-ownership="none">
2324           <doc xml:whitespace="preserve">the instance on which the signal was emitted, followed by the parameters of the emission.</doc>
2325           <type name="Value" c:type="GValue*"/>
2326         </parameter>
2327         <parameter name="data" transfer-ownership="none">
2328           <doc xml:whitespace="preserve">user data associated with the hook.</doc>
2329           <type name="any" c:type="gpointer"/>
2330         </parameter>
2331       </parameters>
2332     </callback>
2333     <bitfield name="SignalFlags" c:type="GSignalFlags">
2334       <doc xml:whitespace="preserve">The signal flags are used to specify a signal's behaviour, the overall
2335 signal description outlines how especially the RUN flags control the
2336 stages of a signal emission.</doc>
2337       <member name="run_first" value="1" c:identifier="G_SIGNAL_RUN_FIRST"/>
2338       <member name="run_last" value="2" c:identifier="G_SIGNAL_RUN_LAST"/>
2339       <member name="run_cleanup"
2340               value="4"
2341               c:identifier="G_SIGNAL_RUN_CLEANUP"/>
2342       <member name="no_recurse" value="8" c:identifier="G_SIGNAL_NO_RECURSE"/>
2343       <member name="detailed" value="16" c:identifier="G_SIGNAL_DETAILED"/>
2344       <member name="action" value="32" c:identifier="G_SIGNAL_ACTION"/>
2345       <member name="no_hooks" value="64" c:identifier="G_SIGNAL_NO_HOOKS"/>
2346     </bitfield>
2347     <record name="SignalInvocationHint" c:type="GSignalInvocationHint">
2348       <doc xml:whitespace="preserve">The #GSignalInvocationHint structure is used to pass on additional information
2349 to callbacks during a signal emission.</doc>
2350       <field name="signal_id" writable="1">
2351         <type name="uint" c:type="guint"/>
2352       </field>
2353       <field name="detail" writable="1">
2354         <type name="GLib.Quark" c:type="GQuark"/>
2355       </field>
2356       <field name="run_type" writable="1">
2357         <type name="SignalFlags" c:type="GSignalFlags"/>
2358       </field>
2359     </record>
2360     <bitfield name="SignalMatchType" c:type="GSignalMatchType">
2361       <doc xml:whitespace="preserve">The match types specify what g_signal_handlers_block_matched(),
2362 g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()
2363 match signals by.</doc>
2364       <member name="id" value="1" c:identifier="G_SIGNAL_MATCH_ID"/>
2365       <member name="detail" value="2" c:identifier="G_SIGNAL_MATCH_DETAIL"/>
2366       <member name="closure" value="4" c:identifier="G_SIGNAL_MATCH_CLOSURE"/>
2367       <member name="func" value="8" c:identifier="G_SIGNAL_MATCH_FUNC"/>
2368       <member name="data" value="16" c:identifier="G_SIGNAL_MATCH_DATA"/>
2369       <member name="unblocked"
2370               value="32"
2371               c:identifier="G_SIGNAL_MATCH_UNBLOCKED"/>
2372     </bitfield>
2373     <record name="SignalQuery" c:type="GSignalQuery">
2374       <doc xml:whitespace="preserve">A structure holding in-depth information for a specific signal. It is
2375 filled in by the g_signal_query() function.</doc>
2376       <field name="signal_id" writable="1">
2377         <type name="uint" c:type="guint"/>
2378       </field>
2379       <field name="signal_name" writable="1">
2380         <type name="utf8" c:type="gchar*"/>
2381       </field>
2382       <field name="itype" writable="1">
2383         <type name="GType" c:type="GType"/>
2384       </field>
2385       <field name="signal_flags" writable="1">
2386         <type name="SignalFlags" c:type="GSignalFlags"/>
2387       </field>
2388       <field name="return_type" writable="1">
2389         <type name="GType" c:type="GType"/>
2390       </field>
2391       <field name="n_params" writable="1">
2392         <type name="uint" c:type="guint"/>
2393       </field>
2394       <field name="param_types" writable="1">
2395         <type name="any" c:type="GType*"/>
2396       </field>
2397     </record>
2398     <glib:boxed c:type="GString"
2399                 glib:name="String"
2400                 glib:type-name="GString"
2401                 glib:get-type="g_gstring_get_type">
2402     </glib:boxed>
2403     <glib:boxed c:type="GStrv"
2404                 glib:name="Strv"
2405                 glib:type-name="GStrv"
2406                 glib:get-type="g_strv_get_type">
2407     </glib:boxed>
2408     <constant name="TYPE_FUNDAMENTAL_MAX" value="255">
2409       <type name="int"/>
2410     </constant>
2411     <constant name="TYPE_FUNDAMENTAL_SHIFT" value="2">
2412       <type name="int"/>
2413     </constant>
2414     <constant name="TYPE_RESERVED_BSE_FIRST" value="32">
2415       <type name="int"/>
2416     </constant>
2417     <constant name="TYPE_RESERVED_BSE_LAST" value="48">
2418       <type name="int"/>
2419     </constant>
2420     <constant name="TYPE_RESERVED_GLIB_FIRST" value="22">
2421       <type name="int"/>
2422     </constant>
2423     <constant name="TYPE_RESERVED_GLIB_LAST" value="31">
2424       <type name="int"/>
2425     </constant>
2426     <constant name="TYPE_RESERVED_USER_FIRST" value="49">
2427       <type name="int"/>
2428     </constant>
2429     <callback name="ToggleNotify" c:type="GToggleNotify">
2430       <doc xml:whitespace="preserve">A callback function used for notification when the state
2431 of a toggle reference changes. See g_object_add_toggle_ref().</doc>
2432       <return-value transfer-ownership="none">
2433         <type name="none" c:type="void"/>
2434       </return-value>
2435       <parameters>
2436         <parameter name="data" transfer-ownership="none">
2437           <doc xml:whitespace="preserve">Callback data passed to g_object_add_toggle_ref()</doc>
2438           <type name="any" c:type="gpointer"/>
2439         </parameter>
2440         <parameter name="object" transfer-ownership="none">
2441           <doc xml:whitespace="preserve">The object on which g_object_add_toggle_ref() was called.</doc>
2442           <type name="Object" c:type="GObject*"/>
2443         </parameter>
2444         <parameter name="is_last_ref" transfer-ownership="none">
2445           <doc xml:whitespace="preserve">%TRUE if the toggle reference is now the last reference to the object. %FALSE if the toggle reference was the last reference and there are now other references.</doc>
2446           <type name="boolean" c:type="gboolean"/>
2447         </parameter>
2448       </parameters>
2449     </callback>
2450     <union name="TypeCValue" c:type="GTypeCValue">
2451       <field name="v_int" writable="1">
2452         <type name="int" c:type="gint"/>
2453       </field>
2454       <field name="v_long" writable="1">
2455         <type name="long" c:type="glong"/>
2456       </field>
2457       <field name="v_int64" writable="1">
2458         <type name="int64" c:type="gint64"/>
2459       </field>
2460       <field name="v_double" writable="1">
2461         <type name="double" c:type="gdouble"/>
2462       </field>
2463       <field name="v_pointer" writable="1">
2464         <type name="any" c:type="gpointer"/>
2465       </field>
2466     </union>
2467     <record name="TypeClass" c:type="GTypeClass">
2468       <doc xml:whitespace="preserve">An opaque structure used as the base of all classes.</doc>
2469       <field name="g_type" writable="1">
2470         <type name="GType" c:type="GType"/>
2471       </field>
2472       <method name="get_private" c:identifier="g_type_class_get_private">
2473         <return-value transfer-ownership="none">
2474           <type name="any" c:type="gpointer"/>
2475         </return-value>
2476         <parameters>
2477           <parameter name="private_type" transfer-ownership="none">
2478             <type name="GType" c:type="GType"/>
2479           </parameter>
2480         </parameters>
2481       </method>
2482     </record>
2483     <callback name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc">
2484       <doc xml:whitespace="preserve">A callback function which is called when the reference count of a class 
2485 drops to zero. It may use g_type_class_ref() to prevent the class from
2486 being freed. You should not call g_type_class_unref() from a 
2487 #GTypeClassCacheFunc function to prevent infinite recursion, use 
2488 g_type_class_unref_uncached() instead.
2489 The functions have to check the class id passed in to figure 
2490 whether they actually want to cache the class of this type, since all
2491 classes are routed through the same #GTypeClassCacheFunc chain.
2492 called, %FALSE to continue.</doc>
2493       <return-value transfer-ownership="none">
2494         <doc xml:whitespace="preserve">%TRUE to stop further #GTypeClassCacheFunc&lt;!-- --&gt;s from being</doc>
2495         <type name="boolean" c:type="gboolean"/>
2496       </return-value>
2497       <parameters>
2498         <parameter name="cache_data" transfer-ownership="none">
2499           <doc xml:whitespace="preserve">data that was given to the g_type_add_class_cache_func() call</doc>
2500           <type name="any" c:type="gpointer"/>
2501         </parameter>
2502         <parameter name="g_class" transfer-ownership="none">
2503           <doc xml:whitespace="preserve">The #GTypeClass structure which is unreferenced</doc>
2504           <type name="TypeClass" c:type="GTypeClass*"/>
2505         </parameter>
2506       </parameters>
2507     </callback>
2508     <bitfield name="TypeDebugFlags" c:type="GTypeDebugFlags">
2509       <doc xml:whitespace="preserve">The &lt;type&gt;GTypeDebugFlags&lt;/type&gt; enumeration values can be passed to
2510 g_type_init_with_debug_flags() to trigger debugging messages during runtime.
2511 Note that the messages can also be triggered by setting the
2512 &lt;envar&gt;GOBJECT_DEBUG&lt;/envar&gt; environment variable to a ':'-separated list of 
2513 "objects" and "signals".</doc>
2514       <member name="none" value="0" c:identifier="G_TYPE_DEBUG_NONE"/>
2515       <member name="objects" value="1" c:identifier="G_TYPE_DEBUG_OBJECTS"/>
2516       <member name="signals" value="2" c:identifier="G_TYPE_DEBUG_SIGNALS"/>
2517       <member name="mask" value="3" c:identifier="G_TYPE_DEBUG_MASK"/>
2518     </bitfield>
2519     <bitfield name="TypeFlags" c:type="GTypeFlags">
2520       <doc xml:whitespace="preserve">Bit masks used to check or determine characteristics of a type.</doc>
2521       <member name="abstract" value="16" c:identifier="G_TYPE_FLAG_ABSTRACT"/>
2522       <member name="value_abstract"
2523               value="32"
2524               c:identifier="G_TYPE_FLAG_VALUE_ABSTRACT"/>
2525     </bitfield>
2526     <bitfield name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags">
2527       <doc xml:whitespace="preserve">Bit masks used to check or determine specific characteristics of a
2528 fundamental type.</doc>
2529       <member name="classed" value="1" c:identifier="G_TYPE_FLAG_CLASSED"/>
2530       <member name="instantiatable"
2531               value="2"
2532               c:identifier="G_TYPE_FLAG_INSTANTIATABLE"/>
2533       <member name="derivable" value="4" c:identifier="G_TYPE_FLAG_DERIVABLE"/>
2534       <member name="deep_derivable"
2535               value="8"
2536               c:identifier="G_TYPE_FLAG_DEEP_DERIVABLE"/>
2537     </bitfield>
2538     <record name="TypeFundamentalInfo" c:type="GTypeFundamentalInfo">
2539       <doc xml:whitespace="preserve">A structure that provides information to the type system which is
2540 used specifically for managing fundamental types.</doc>
2541       <field name="type_flags" writable="1">
2542         <type name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags"/>
2543       </field>
2544     </record>
2545     <record name="TypeInfo" c:type="GTypeInfo">
2546       <doc xml:whitespace="preserve">This structure is used to provide the type system with the information
2547 required to initialize and destruct (finalize) a type's class and
2548 its instances.
2549 The initialized structure is passed to the g_type_register_static() function
2550 (or is copied into the provided #GTypeInfo structure in the
2551 g_type_plugin_complete_type_info()). The type system will perform a deep
2552 copy of this structure, so its memory does not need to be persistent
2553 across invocation of g_type_register_static().</doc>
2554       <field name="class_size" writable="1">
2555         <type name="uint16" c:type="guint16"/>
2556       </field>
2557       <field name="base_init" writable="1">
2558         <type name="BaseInitFunc" c:type="GBaseInitFunc"/>
2559       </field>
2560       <field name="base_finalize" writable="1">
2561         <type name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
2562       </field>
2563       <field name="class_init" writable="1">
2564         <type name="ClassInitFunc" c:type="GClassInitFunc"/>
2565       </field>
2566       <field name="class_finalize" writable="1">
2567         <type name="ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
2568       </field>
2569       <field name="class_data" writable="1">
2570         <type name="any" c:type="gconstpointer"/>
2571       </field>
2572       <field name="instance_size" writable="1">
2573         <type name="uint16" c:type="guint16"/>
2574       </field>
2575       <field name="n_preallocs" writable="1">
2576         <type name="uint16" c:type="guint16"/>
2577       </field>
2578       <field name="instance_init" writable="1">
2579         <type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
2580       </field>
2581       <field name="value_table" writable="1">
2582         <type name="TypeValueTable" c:type="GTypeValueTable*"/>
2583       </field>
2584     </record>
2585     <record name="TypeInstance" c:type="GTypeInstance">
2586       <doc xml:whitespace="preserve">An opaque structure used as the base of all type instances.</doc>
2587       <field name="g_class" writable="1">
2588         <type name="TypeClass" c:type="GTypeClass*"/>
2589       </field>
2590       <method name="get_private" c:identifier="g_type_instance_get_private">
2591         <return-value transfer-ownership="none">
2592           <type name="any" c:type="gpointer"/>
2593         </return-value>
2594         <parameters>
2595           <parameter name="private_type" transfer-ownership="none">
2596             <type name="GType" c:type="GType"/>
2597           </parameter>
2598         </parameters>
2599       </method>
2600     </record>
2601     <record name="TypeInterface" c:type="GTypeInterface">
2602       <doc xml:whitespace="preserve">An opaque structure used as the base of all interface types.</doc>
2603       <field name="g_type" writable="1">
2604         <type name="GType" c:type="GType"/>
2605       </field>
2606       <field name="g_instance_type" writable="1">
2607         <type name="GType" c:type="GType"/>
2608       </field>
2609     </record>
2610     <callback name="TypeInterfaceCheckFunc"
2611               c:type="GTypeInterfaceCheckFunc"
2612               version="2.4">
2613       <doc xml:whitespace="preserve">A callback called after an interface vtable is initialized.
2614 See g_type_add_interface_check().</doc>
2615       <return-value transfer-ownership="none">
2616         <type name="none" c:type="void"/>
2617       </return-value>
2618       <parameters>
2619         <parameter name="check_data" transfer-ownership="none">
2620           <doc xml:whitespace="preserve">data passed to g_type_add_interface_check().</doc>
2621           <type name="any" c:type="gpointer"/>
2622         </parameter>
2623         <parameter name="g_iface" transfer-ownership="none">
2624           <doc xml:whitespace="preserve">the interface that has been initialized</doc>
2625           <type name="any" c:type="gpointer"/>
2626         </parameter>
2627       </parameters>
2628     </callback>
2629     <class name="TypeModule"
2630            c:type="GTypeModule"
2631            parent="Object"
2632            abstract="1"
2633            glib:type-name="GTypeModule"
2634            glib:get-type="g_type_module_get_type"
2635            glib:type-struct="TypeModuleClass">
2636       <doc xml:whitespace="preserve">The members of the &lt;structname&gt;GTypeModule&lt;/structname&gt; structure should not 
2637 be accessed directly, except for the @name field.</doc>
2638       <implements name="TypePlugin"/>
2639       <virtual-method name="load">
2640         <return-value transfer-ownership="none">
2641           <type name="boolean" c:type="gboolean"/>
2642         </return-value>
2643       </virtual-method>
2644       <virtual-method name="unload">
2645         <return-value transfer-ownership="none">
2646           <type name="none" c:type="void"/>
2647         </return-value>
2648       </virtual-method>
2649       <method name="use" c:identifier="g_type_module_use">
2650         <return-value transfer-ownership="none">
2651           <type name="boolean" c:type="gboolean"/>
2652         </return-value>
2653       </method>
2654       <method name="unuse" c:identifier="g_type_module_unuse">
2655         <return-value transfer-ownership="none">
2656           <type name="none" c:type="void"/>
2657         </return-value>
2658       </method>
2659       <method name="set_name" c:identifier="g_type_module_set_name">
2660         <return-value transfer-ownership="none">
2661           <type name="none" c:type="void"/>
2662         </return-value>
2663         <parameters>
2664           <parameter name="name" transfer-ownership="none">
2665             <type name="utf8" c:type="gchar*"/>
2666           </parameter>
2667         </parameters>
2668       </method>
2669       <method name="register_type" c:identifier="g_type_module_register_type">
2670         <return-value transfer-ownership="none">
2671           <type name="GType" c:type="GType"/>
2672         </return-value>
2673         <parameters>
2674           <parameter name="parent_type" transfer-ownership="none">
2675             <type name="GType" c:type="GType"/>
2676           </parameter>
2677           <parameter name="type_name" transfer-ownership="none">
2678             <type name="utf8" c:type="gchar*"/>
2679           </parameter>
2680           <parameter name="type_info" transfer-ownership="none">
2681             <type name="TypeInfo" c:type="GTypeInfo*"/>
2682           </parameter>
2683           <parameter name="flags" transfer-ownership="none">
2684             <type name="TypeFlags" c:type="GTypeFlags"/>
2685           </parameter>
2686         </parameters>
2687       </method>
2688       <method name="add_interface" c:identifier="g_type_module_add_interface">
2689         <return-value transfer-ownership="none">
2690           <type name="none" c:type="void"/>
2691         </return-value>
2692         <parameters>
2693           <parameter name="instance_type" transfer-ownership="none">
2694             <type name="GType" c:type="GType"/>
2695           </parameter>
2696           <parameter name="interface_type" transfer-ownership="none">
2697             <type name="GType" c:type="GType"/>
2698           </parameter>
2699           <parameter name="interface_info" transfer-ownership="none">
2700             <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
2701           </parameter>
2702         </parameters>
2703       </method>
2704       <method name="register_enum" c:identifier="g_type_module_register_enum">
2705         <return-value transfer-ownership="none">
2706           <type name="GType" c:type="GType"/>
2707         </return-value>
2708         <parameters>
2709           <parameter name="name" transfer-ownership="none">
2710             <type name="utf8" c:type="gchar*"/>
2711           </parameter>
2712           <parameter name="const_static_values" transfer-ownership="none">
2713             <type name="EnumValue" c:type="GEnumValue*"/>
2714           </parameter>
2715         </parameters>
2716       </method>
2717       <method name="register_flags"
2718               c:identifier="g_type_module_register_flags">
2719         <return-value transfer-ownership="none">
2720           <type name="GType" c:type="GType"/>
2721         </return-value>
2722         <parameters>
2723           <parameter name="name" transfer-ownership="none">
2724             <type name="utf8" c:type="gchar*"/>
2725           </parameter>
2726           <parameter name="const_static_values" transfer-ownership="none">
2727             <type name="FlagsValue" c:type="GFlagsValue*"/>
2728           </parameter>
2729         </parameters>
2730       </method>
2731       <field name="parent_instance">
2732         <type name="Object" c:type="GObject"/>
2733       </field>
2734       <field name="use_count">
2735         <type name="uint" c:type="guint"/>
2736       </field>
2737       <field name="type_infos">
2738         <type name="GLib.SList" c:type="GSList*">
2739           <type name="any" c:type="gpointer"/>
2740         </type>
2741       </field>
2742       <field name="interface_infos">
2743         <type name="GLib.SList" c:type="GSList*">
2744           <type name="any" c:type="gpointer"/>
2745         </type>
2746       </field>
2747       <field name="name">
2748         <type name="utf8" c:type="gchar*"/>
2749       </field>
2750     </class>
2751     <record name="TypeModuleClass"
2752             c:type="GTypeModuleClass"
2753             glib:is-gtype-struct-for="TypeModule">
2754       <doc xml:whitespace="preserve">In order to implement dynamic loading of types based on #GTypeModule, 
2755 the @load and @unload functions in #GTypeModuleClass must be implemented.</doc>
2756       <field name="parent_class">
2757         <type name="ObjectClass" c:type="GObjectClass"/>
2758       </field>
2759       <field name="load">
2760         <callback name="load" c:type="load">
2761           <return-value transfer-ownership="none">
2762             <type name="boolean" c:type="gboolean"/>
2763           </return-value>
2764           <parameters>
2765             <parameter name="module" transfer-ownership="none">
2766               <type name="TypeModule" c:type="GTypeModule*"/>
2767             </parameter>
2768           </parameters>
2769         </callback>
2770       </field>
2771       <field name="unload">
2772         <callback name="unload" c:type="unload">
2773           <return-value transfer-ownership="none">
2774             <type name="none" c:type="void"/>
2775           </return-value>
2776           <parameters>
2777             <parameter name="module" transfer-ownership="none">
2778               <type name="TypeModule" c:type="GTypeModule*"/>
2779             </parameter>
2780           </parameters>
2781         </callback>
2782       </field>
2783       <field name="reserved1">
2784         <callback name="reserved1" c:type="reserved1">
2785           <return-value transfer-ownership="none">
2786             <type name="none" c:type="void"/>
2787           </return-value>
2788         </callback>
2789       </field>
2790       <field name="reserved2">
2791         <callback name="reserved2" c:type="reserved2">
2792           <return-value transfer-ownership="none">
2793             <type name="none" c:type="void"/>
2794           </return-value>
2795         </callback>
2796       </field>
2797       <field name="reserved3">
2798         <callback name="reserved3" c:type="reserved3">
2799           <return-value transfer-ownership="none">
2800             <type name="none" c:type="void"/>
2801           </return-value>
2802         </callback>
2803       </field>
2804       <field name="reserved4">
2805         <callback name="reserved4" c:type="reserved4">
2806           <return-value transfer-ownership="none">
2807             <type name="none" c:type="void"/>
2808           </return-value>
2809         </callback>
2810       </field>
2811     </record>
2812     <interface name="TypePlugin"
2813                c:type="GTypePlugin"
2814                glib:type-name="GTypePlugin"
2815                glib:get-type="g_type_plugin_get_type"
2816                glib:type-struct="TypePluginClass">
2817       <doc xml:whitespace="preserve">The &lt;structname&gt;GTypePlugin&lt;/structname&gt; typedef is used as a placeholder 
2818 for objects that implement the &lt;structname&gt;GTypePlugin&lt;/structname&gt; 
2819 interface.</doc>
2820       <method name="use" c:identifier="g_type_plugin_use">
2821         <return-value transfer-ownership="none">
2822           <type name="none" c:type="void"/>
2823         </return-value>
2824       </method>
2825       <method name="unuse" c:identifier="g_type_plugin_unuse">
2826         <return-value transfer-ownership="none">
2827           <type name="none" c:type="void"/>
2828         </return-value>
2829       </method>
2830       <method name="complete_type_info"
2831               c:identifier="g_type_plugin_complete_type_info">
2832         <return-value transfer-ownership="none">
2833           <type name="none" c:type="void"/>
2834         </return-value>
2835         <parameters>
2836           <parameter name="g_type" transfer-ownership="none">
2837             <type name="GType" c:type="GType"/>
2838           </parameter>
2839           <parameter name="info" transfer-ownership="none">
2840             <type name="TypeInfo" c:type="GTypeInfo*"/>
2841           </parameter>
2842           <parameter name="value_table" transfer-ownership="none">
2843             <type name="TypeValueTable" c:type="GTypeValueTable*"/>
2844           </parameter>
2845         </parameters>
2846       </method>
2847       <method name="complete_interface_info"
2848               c:identifier="g_type_plugin_complete_interface_info">
2849         <return-value transfer-ownership="none">
2850           <type name="none" c:type="void"/>
2851         </return-value>
2852         <parameters>
2853           <parameter name="instance_type" transfer-ownership="none">
2854             <type name="GType" c:type="GType"/>
2855           </parameter>
2856           <parameter name="interface_type" transfer-ownership="none">
2857             <type name="GType" c:type="GType"/>
2858           </parameter>
2859           <parameter name="info" transfer-ownership="none">
2860             <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
2861           </parameter>
2862         </parameters>
2863       </method>
2864     </interface>
2865     <record name="TypePluginClass"
2866             c:type="GTypePluginClass"
2867             glib:is-gtype-struct-for="TypePlugin">
2868       <doc xml:whitespace="preserve">The #GTypePlugin interface is used by the type system in order to handle
2869 the lifecycle of dynamically loaded types.</doc>
2870       <field name="base_iface">
2871         <type name="TypeInterface" c:type="GTypeInterface"/>
2872       </field>
2873       <field name="use_plugin">
2874         <type name="TypePluginUse" c:type="GTypePluginUse"/>
2875       </field>
2876       <field name="unuse_plugin">
2877         <type name="TypePluginUnuse" c:type="GTypePluginUnuse"/>
2878       </field>
2879       <field name="complete_type_info">
2880         <type name="TypePluginCompleteTypeInfo"
2881               c:type="GTypePluginCompleteTypeInfo"/>
2882       </field>
2883       <field name="complete_interface_info">
2884         <type name="TypePluginCompleteInterfaceInfo"
2885               c:type="GTypePluginCompleteInterfaceInfo"/>
2886       </field>
2887     </record>
2888     <callback name="TypePluginCompleteInterfaceInfo"
2889               c:type="GTypePluginCompleteInterfaceInfo">
2890       <doc xml:whitespace="preserve">The type of the @complete_interface_info function of #GTypePluginClass.</doc>
2891       <return-value transfer-ownership="none">
2892         <type name="none" c:type="void"/>
2893       </return-value>
2894       <parameters>
2895         <parameter name="plugin" transfer-ownership="none">
2896           <doc xml:whitespace="preserve">the #GTypePlugin</doc>
2897           <type name="TypePlugin" c:type="GTypePlugin*"/>
2898         </parameter>
2899         <parameter name="instance_type" transfer-ownership="none">
2900           <doc xml:whitespace="preserve">the #GType of an instantiable type to which the interface is added</doc>
2901           <type name="GType" c:type="GType"/>
2902         </parameter>
2903         <parameter name="interface_type" transfer-ownership="none">
2904           <doc xml:whitespace="preserve">the #GType of the interface whose info is completed</doc>
2905           <type name="GType" c:type="GType"/>
2906         </parameter>
2907         <parameter name="info" transfer-ownership="none">
2908           <doc xml:whitespace="preserve">the #GInterfaceInfo to fill in</doc>
2909           <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
2910         </parameter>
2911       </parameters>
2912     </callback>
2913     <callback name="TypePluginCompleteTypeInfo"
2914               c:type="GTypePluginCompleteTypeInfo">
2915       <doc xml:whitespace="preserve">The type of the @complete_type_info function of #GTypePluginClass.</doc>
2916       <return-value transfer-ownership="none">
2917         <type name="none" c:type="void"/>
2918       </return-value>
2919       <parameters>
2920         <parameter name="plugin" transfer-ownership="none">
2921           <doc xml:whitespace="preserve">the #GTypePlugin</doc>
2922           <type name="TypePlugin" c:type="GTypePlugin*"/>
2923         </parameter>
2924         <parameter name="g_type" transfer-ownership="none">
2925           <doc xml:whitespace="preserve">the #GType whose info is completed</doc>
2926           <type name="GType" c:type="GType"/>
2927         </parameter>
2928         <parameter name="info" transfer-ownership="none">
2929           <doc xml:whitespace="preserve">the #GTypeInfo struct to fill in</doc>
2930           <type name="TypeInfo" c:type="GTypeInfo*"/>
2931         </parameter>
2932         <parameter name="value_table" transfer-ownership="none">
2933           <doc xml:whitespace="preserve">the #GTypeValueTable to fill in</doc>
2934           <type name="TypeValueTable" c:type="GTypeValueTable*"/>
2935         </parameter>
2936       </parameters>
2937     </callback>
2938     <callback name="TypePluginUnuse" c:type="GTypePluginUnuse">
2939       <doc xml:whitespace="preserve">The type of the @unuse_plugin function of #GTypePluginClass.</doc>
2940       <return-value transfer-ownership="none">
2941         <type name="none" c:type="void"/>
2942       </return-value>
2943       <parameters>
2944         <parameter name="plugin" transfer-ownership="none">
2945           <doc xml:whitespace="preserve">the #GTypePlugin whose use count should be decreased</doc>
2946           <type name="TypePlugin" c:type="GTypePlugin*"/>
2947         </parameter>
2948       </parameters>
2949     </callback>
2950     <callback name="TypePluginUse" c:type="GTypePluginUse">
2951       <doc xml:whitespace="preserve">The type of the @use_plugin function of #GTypePluginClass, which gets called
2952 to increase the use count of @plugin.</doc>
2953       <return-value transfer-ownership="none">
2954         <type name="none" c:type="void"/>
2955       </return-value>
2956       <parameters>
2957         <parameter name="plugin" transfer-ownership="none">
2958           <doc xml:whitespace="preserve">the #GTypePlugin whose use count should be increased</doc>
2959           <type name="TypePlugin" c:type="GTypePlugin*"/>
2960         </parameter>
2961       </parameters>
2962     </callback>
2963     <record name="TypeQuery" c:type="GTypeQuery">
2964       <doc xml:whitespace="preserve">A structure holding information for a specific type. It is
2965 filled in by the g_type_query() function.</doc>
2966       <field name="type" writable="1">
2967         <type name="GType" c:type="GType"/>
2968       </field>
2969       <field name="type_name" writable="1">
2970         <type name="utf8" c:type="gchar*"/>
2971       </field>
2972       <field name="class_size" writable="1">
2973         <type name="uint" c:type="guint"/>
2974       </field>
2975       <field name="instance_size" writable="1">
2976         <type name="uint" c:type="guint"/>
2977       </field>
2978     </record>
2979     <record name="TypeValueTable" c:type="GTypeValueTable">
2980       <doc xml:whitespace="preserve">The #GTypeValueTable provides the functions required by the #GValue implementation,
2981 to serve as a container for values of a type.</doc>
2982       <field name="value_init">
2983         <type name="any" c:type="pointer"/>
2984       </field>
2985       <field name="value_free">
2986         <type name="any" c:type="pointer"/>
2987       </field>
2988       <field name="value_copy">
2989         <type name="any" c:type="pointer"/>
2990       </field>
2991       <field name="value_peek_pointer">
2992         <type name="any" c:type="pointer"/>
2993       </field>
2994       <field name="collect_format" writable="1">
2995         <type name="utf8" c:type="gchar*"/>
2996       </field>
2997       <field name="collect_value">
2998         <type name="any" c:type="pointer"/>
2999       </field>
3000       <field name="lcopy_format" writable="1">
3001         <type name="utf8" c:type="gchar*"/>
3002       </field>
3003       <field name="lcopy_value">
3004         <type name="any" c:type="pointer"/>
3005       </field>
3006     </record>
3007     <constant name="VALUE_COLLECT_FORMAT_MAX_LENGTH" value="8">
3008       <type name="int"/>
3009     </constant>
3010     <constant name="VALUE_NOCOPY_CONTENTS" value="134217728">
3011       <type name="int"/>
3012     </constant>
3013     <record name="Value"
3014             c:type="GValue"
3015             glib:type-name="GValue"
3016             glib:get-type="g_value_get_type">
3017       <doc xml:whitespace="preserve">An opaque structure used to hold different types of values.
3018 to functions within a #GTypeValueTable structure, or implementations of
3019 the g_value_*() API. That is, code portions which implement new fundamental
3020 types.
3021 #GValue users can not make any assumptions about how data is stored
3022 within the 2 element @data union, and the @g_type member should
3023 only be accessed through the G_VALUE_TYPE() macro.</doc>
3024       <field name="g_type" writable="1">
3025         <type name="GType" c:type="GType"/>
3026       </field>
3027       <field name="data" writable="1">
3028         <array zero-terminated="0" c:type="any" fixed-size="2">
3029           <type name="any"/>
3030         </array>
3031       </field>
3032       <method name="init" c:identifier="g_value_init">
3033         <return-value transfer-ownership="full">
3034           <type name="Value" c:type="GValue*"/>
3035         </return-value>
3036         <parameters>
3037           <parameter name="g_type" transfer-ownership="none">
3038             <type name="GType" c:type="GType"/>
3039           </parameter>
3040         </parameters>
3041       </method>
3042       <method name="copy" c:identifier="g_value_copy">
3043         <return-value transfer-ownership="none">
3044           <type name="none" c:type="void"/>
3045         </return-value>
3046         <parameters>
3047           <parameter name="dest_value" transfer-ownership="none">
3048             <type name="Value" c:type="GValue*"/>
3049           </parameter>
3050         </parameters>
3051       </method>
3052       <method name="reset" c:identifier="g_value_reset">
3053         <return-value transfer-ownership="full">
3054           <type name="Value" c:type="GValue*"/>
3055         </return-value>
3056       </method>
3057       <method name="unset" c:identifier="g_value_unset">
3058         <return-value transfer-ownership="none">
3059           <type name="none" c:type="void"/>
3060         </return-value>
3061       </method>
3062       <method name="set_instance" c:identifier="g_value_set_instance">
3063         <return-value transfer-ownership="none">
3064           <type name="none" c:type="void"/>
3065         </return-value>
3066         <parameters>
3067           <parameter name="instance" transfer-ownership="none">
3068             <type name="any" c:type="gpointer"/>
3069           </parameter>
3070         </parameters>
3071       </method>
3072       <method name="fits_pointer" c:identifier="g_value_fits_pointer">
3073         <return-value transfer-ownership="none">
3074           <type name="boolean" c:type="gboolean"/>
3075         </return-value>
3076       </method>
3077       <method name="peek_pointer" c:identifier="g_value_peek_pointer">
3078         <return-value transfer-ownership="none">
3079           <type name="any" c:type="gpointer"/>
3080         </return-value>
3081       </method>
3082       <method name="transform" c:identifier="g_value_transform">
3083         <return-value transfer-ownership="none">
3084           <type name="boolean" c:type="gboolean"/>
3085         </return-value>
3086         <parameters>
3087           <parameter name="dest_value" transfer-ownership="none">
3088             <type name="Value" c:type="GValue*"/>
3089           </parameter>
3090         </parameters>
3091       </method>
3092       <method name="set_param" c:identifier="g_value_set_param">
3093         <return-value transfer-ownership="none">
3094           <type name="none" c:type="void"/>
3095         </return-value>
3096         <parameters>
3097           <parameter name="param" transfer-ownership="none">
3098             <type name="ParamSpec" c:type="GParamSpec*"/>
3099           </parameter>
3100         </parameters>
3101       </method>
3102       <method name="get_param" c:identifier="g_value_get_param">
3103         <return-value transfer-ownership="full">
3104           <type name="ParamSpec" c:type="GParamSpec*"/>
3105         </return-value>
3106       </method>
3107       <method name="dup_param" c:identifier="g_value_dup_param">
3108         <return-value transfer-ownership="full">
3109           <type name="ParamSpec" c:type="GParamSpec*"/>
3110         </return-value>
3111       </method>
3112       <method name="take_param" c:identifier="g_value_take_param">
3113         <return-value transfer-ownership="none">
3114           <type name="none" c:type="void"/>
3115         </return-value>
3116         <parameters>
3117           <parameter name="param" transfer-ownership="none">
3118             <type name="ParamSpec" c:type="GParamSpec*"/>
3119           </parameter>
3120         </parameters>
3121       </method>
3122       <method name="set_param_take_ownership"
3123               c:identifier="g_value_set_param_take_ownership">
3124         <return-value transfer-ownership="none">
3125           <type name="none" c:type="void"/>
3126         </return-value>
3127         <parameters>
3128           <parameter name="param" transfer-ownership="none">
3129             <type name="ParamSpec" c:type="GParamSpec*"/>
3130           </parameter>
3131         </parameters>
3132       </method>
3133       <method name="set_object" c:identifier="g_value_set_object">
3134         <return-value transfer-ownership="none">
3135           <type name="none" c:type="void"/>
3136         </return-value>
3137         <parameters>
3138           <parameter name="v_object" transfer-ownership="none">
3139             <type name="any" c:type="gpointer"/>
3140           </parameter>
3141         </parameters>
3142       </method>
3143       <method name="get_object" c:identifier="g_value_get_object">
3144         <return-value transfer-ownership="none">
3145           <type name="any" c:type="gpointer"/>
3146         </return-value>
3147       </method>
3148       <method name="dup_object" c:identifier="g_value_dup_object">
3149         <return-value transfer-ownership="none">
3150           <type name="any" c:type="gpointer"/>
3151         </return-value>
3152       </method>
3153       <method name="take_object" c:identifier="g_value_take_object">
3154         <return-value transfer-ownership="none">
3155           <type name="none" c:type="void"/>
3156         </return-value>
3157         <parameters>
3158           <parameter name="v_object" transfer-ownership="none">
3159             <type name="any" c:type="gpointer"/>
3160           </parameter>
3161         </parameters>
3162       </method>
3163       <method name="set_object_take_ownership"
3164               c:identifier="g_value_set_object_take_ownership">
3165         <return-value transfer-ownership="none">
3166           <type name="none" c:type="void"/>
3167         </return-value>
3168         <parameters>
3169           <parameter name="v_object" transfer-ownership="none">
3170             <type name="any" c:type="gpointer"/>
3171           </parameter>
3172         </parameters>
3173       </method>
3174       <method name="set_boxed" c:identifier="g_value_set_boxed">
3175         <return-value transfer-ownership="none">
3176           <type name="none" c:type="void"/>
3177         </return-value>
3178         <parameters>
3179           <parameter name="v_boxed" transfer-ownership="none">
3180             <type name="any" c:type="gconstpointer"/>
3181           </parameter>
3182         </parameters>
3183       </method>
3184       <method name="set_static_boxed" c:identifier="g_value_set_static_boxed">
3185         <return-value transfer-ownership="none">
3186           <type name="none" c:type="void"/>
3187         </return-value>
3188         <parameters>
3189           <parameter name="v_boxed" transfer-ownership="none">
3190             <type name="any" c:type="gconstpointer"/>
3191           </parameter>
3192         </parameters>
3193       </method>
3194       <method name="get_boxed" c:identifier="g_value_get_boxed">
3195         <return-value transfer-ownership="none">
3196           <type name="any" c:type="gpointer"/>
3197         </return-value>
3198       </method>
3199       <method name="dup_boxed" c:identifier="g_value_dup_boxed">
3200         <return-value transfer-ownership="none">
3201           <type name="any" c:type="gpointer"/>
3202         </return-value>
3203       </method>
3204       <method name="take_boxed" c:identifier="g_value_take_boxed">
3205         <return-value transfer-ownership="none">
3206           <type name="none" c:type="void"/>
3207         </return-value>
3208         <parameters>
3209           <parameter name="v_boxed" transfer-ownership="none">
3210             <type name="any" c:type="gconstpointer"/>
3211           </parameter>
3212         </parameters>
3213       </method>
3214       <method name="set_boxed_take_ownership"
3215               c:identifier="g_value_set_boxed_take_ownership">
3216         <return-value transfer-ownership="none">
3217           <type name="none" c:type="void"/>
3218         </return-value>
3219         <parameters>
3220           <parameter name="v_boxed" transfer-ownership="none">
3221             <type name="any" c:type="gconstpointer"/>
3222           </parameter>
3223         </parameters>
3224       </method>
3225       <method name="set_enum" c:identifier="g_value_set_enum">
3226         <return-value transfer-ownership="none">
3227           <type name="none" c:type="void"/>
3228         </return-value>
3229         <parameters>
3230           <parameter name="v_enum" transfer-ownership="none">
3231             <type name="int" c:type="gint"/>
3232           </parameter>
3233         </parameters>
3234       </method>
3235       <method name="get_enum" c:identifier="g_value_get_enum">
3236         <return-value transfer-ownership="none">
3237           <type name="int" c:type="gint"/>
3238         </return-value>
3239       </method>
3240       <method name="set_flags" c:identifier="g_value_set_flags">
3241         <return-value transfer-ownership="none">
3242           <type name="none" c:type="void"/>
3243         </return-value>
3244         <parameters>
3245           <parameter name="v_flags" transfer-ownership="none">
3246             <type name="uint" c:type="guint"/>
3247           </parameter>
3248         </parameters>
3249       </method>
3250       <method name="get_flags" c:identifier="g_value_get_flags">
3251         <return-value transfer-ownership="none">
3252           <type name="uint" c:type="guint"/>
3253         </return-value>
3254       </method>
3255       <method name="set_char" c:identifier="g_value_set_char">
3256         <return-value transfer-ownership="none">
3257           <type name="none" c:type="void"/>
3258         </return-value>
3259         <parameters>
3260           <parameter name="v_char" transfer-ownership="none">
3261             <type name="int8" c:type="gchar"/>
3262           </parameter>
3263         </parameters>
3264       </method>
3265       <method name="get_char" c:identifier="g_value_get_char">
3266         <return-value transfer-ownership="none">
3267           <type name="int8" c:type="gchar"/>
3268         </return-value>
3269       </method>
3270       <method name="set_uchar" c:identifier="g_value_set_uchar">
3271         <return-value transfer-ownership="none">
3272           <type name="none" c:type="void"/>
3273         </return-value>
3274         <parameters>
3275           <parameter name="v_uchar" transfer-ownership="none">
3276             <type name="uint8" c:type="guchar"/>
3277           </parameter>
3278         </parameters>
3279       </method>
3280       <method name="get_uchar" c:identifier="g_value_get_uchar">
3281         <return-value transfer-ownership="none">
3282           <type name="uint8" c:type="guchar"/>
3283         </return-value>
3284       </method>
3285       <method name="set_boolean" c:identifier="g_value_set_boolean">
3286         <return-value transfer-ownership="none">
3287           <type name="none" c:type="void"/>
3288         </return-value>
3289         <parameters>
3290           <parameter name="v_boolean" transfer-ownership="none">
3291             <type name="boolean" c:type="gboolean"/>
3292           </parameter>
3293         </parameters>
3294       </method>
3295       <method name="get_boolean" c:identifier="g_value_get_boolean">
3296         <return-value transfer-ownership="none">
3297           <type name="boolean" c:type="gboolean"/>
3298         </return-value>
3299       </method>
3300       <method name="set_int" c:identifier="g_value_set_int">
3301         <return-value transfer-ownership="none">
3302           <type name="none" c:type="void"/>
3303         </return-value>
3304         <parameters>
3305           <parameter name="v_int" transfer-ownership="none">
3306             <type name="int" c:type="gint"/>
3307           </parameter>
3308         </parameters>
3309       </method>
3310       <method name="get_int" c:identifier="g_value_get_int">
3311         <return-value transfer-ownership="none">
3312           <type name="int" c:type="gint"/>
3313         </return-value>
3314       </method>
3315       <method name="set_uint" c:identifier="g_value_set_uint">
3316         <return-value transfer-ownership="none">
3317           <type name="none" c:type="void"/>
3318         </return-value>
3319         <parameters>
3320           <parameter name="v_uint" transfer-ownership="none">
3321             <type name="uint" c:type="guint"/>
3322           </parameter>
3323         </parameters>
3324       </method>
3325       <method name="get_uint" c:identifier="g_value_get_uint">
3326         <return-value transfer-ownership="none">
3327           <type name="uint" c:type="guint"/>
3328         </return-value>
3329       </method>
3330       <method name="set_long" c:identifier="g_value_set_long">
3331         <return-value transfer-ownership="none">
3332           <type name="none" c:type="void"/>
3333         </return-value>
3334         <parameters>
3335           <parameter name="v_long" transfer-ownership="none">
3336             <type name="long" c:type="glong"/>
3337           </parameter>
3338         </parameters>
3339       </method>
3340       <method name="get_long" c:identifier="g_value_get_long">
3341         <return-value transfer-ownership="none">
3342           <type name="long" c:type="glong"/>
3343         </return-value>
3344       </method>
3345       <method name="set_ulong" c:identifier="g_value_set_ulong">
3346         <return-value transfer-ownership="none">
3347           <type name="none" c:type="void"/>
3348         </return-value>
3349         <parameters>
3350           <parameter name="v_ulong" transfer-ownership="none">
3351             <type name="ulong" c:type="gulong"/>
3352           </parameter>
3353         </parameters>
3354       </method>
3355       <method name="get_ulong" c:identifier="g_value_get_ulong">
3356         <return-value transfer-ownership="none">
3357           <type name="ulong" c:type="gulong"/>
3358         </return-value>
3359       </method>
3360       <method name="set_int64" c:identifier="g_value_set_int64">
3361         <return-value transfer-ownership="none">
3362           <type name="none" c:type="void"/>
3363         </return-value>
3364         <parameters>
3365           <parameter name="v_int64" transfer-ownership="none">
3366             <type name="int64" c:type="gint64"/>
3367           </parameter>
3368         </parameters>
3369       </method>
3370       <method name="get_int64" c:identifier="g_value_get_int64">
3371         <return-value transfer-ownership="none">
3372           <type name="int64" c:type="gint64"/>
3373         </return-value>
3374       </method>
3375       <method name="set_uint64" c:identifier="g_value_set_uint64">
3376         <return-value transfer-ownership="none">
3377           <type name="none" c:type="void"/>
3378         </return-value>
3379         <parameters>
3380           <parameter name="v_uint64" transfer-ownership="none">
3381             <type name="uint64" c:type="guint64"/>
3382           </parameter>
3383         </parameters>
3384       </method>
3385       <method name="get_uint64" c:identifier="g_value_get_uint64">
3386         <return-value transfer-ownership="none">
3387           <type name="uint64" c:type="guint64"/>
3388         </return-value>
3389       </method>
3390       <method name="set_float" c:identifier="g_value_set_float">
3391         <return-value transfer-ownership="none">
3392           <type name="none" c:type="void"/>
3393         </return-value>
3394         <parameters>
3395           <parameter name="v_float" transfer-ownership="none">
3396             <type name="float" c:type="gfloat"/>
3397           </parameter>
3398         </parameters>
3399       </method>
3400       <method name="get_float" c:identifier="g_value_get_float">
3401         <return-value transfer-ownership="none">
3402           <type name="float" c:type="gfloat"/>
3403         </return-value>
3404       </method>
3405       <method name="set_double" c:identifier="g_value_set_double">
3406         <return-value transfer-ownership="none">
3407           <type name="none" c:type="void"/>
3408         </return-value>
3409         <parameters>
3410           <parameter name="v_double" transfer-ownership="none">
3411             <type name="double" c:type="gdouble"/>
3412           </parameter>
3413         </parameters>
3414       </method>
3415       <method name="get_double" c:identifier="g_value_get_double">
3416         <return-value transfer-ownership="none">
3417           <type name="double" c:type="gdouble"/>
3418         </return-value>
3419       </method>
3420       <method name="set_string" c:identifier="g_value_set_string">
3421         <return-value transfer-ownership="none">
3422           <type name="none" c:type="void"/>
3423         </return-value>
3424         <parameters>
3425           <parameter name="v_string" transfer-ownership="none">
3426             <type name="utf8" c:type="gchar*"/>
3427           </parameter>
3428         </parameters>
3429       </method>
3430       <method name="set_static_string"
3431               c:identifier="g_value_set_static_string">
3432         <return-value transfer-ownership="none">
3433           <type name="none" c:type="void"/>
3434         </return-value>
3435         <parameters>
3436           <parameter name="v_string" transfer-ownership="none">
3437             <type name="utf8" c:type="gchar*"/>
3438           </parameter>
3439         </parameters>
3440       </method>
3441       <method name="get_string" c:identifier="g_value_get_string">
3442         <return-value transfer-ownership="none">
3443           <type name="utf8" c:type="gchar*"/>
3444         </return-value>
3445       </method>
3446       <method name="dup_string" c:identifier="g_value_dup_string">
3447         <return-value transfer-ownership="full">
3448           <type name="utf8" c:type="gchar*"/>
3449         </return-value>
3450       </method>
3451       <method name="set_pointer" c:identifier="g_value_set_pointer">
3452         <return-value transfer-ownership="none">
3453           <type name="none" c:type="void"/>
3454         </return-value>
3455         <parameters>
3456           <parameter name="v_pointer" transfer-ownership="none">
3457             <type name="any" c:type="gpointer"/>
3458           </parameter>
3459         </parameters>
3460       </method>
3461       <method name="get_pointer" c:identifier="g_value_get_pointer">
3462         <return-value transfer-ownership="none">
3463           <type name="any" c:type="gpointer"/>
3464         </return-value>
3465       </method>
3466       <method name="set_gtype" c:identifier="g_value_set_gtype">
3467         <return-value transfer-ownership="none">
3468           <type name="none" c:type="void"/>
3469         </return-value>
3470         <parameters>
3471           <parameter name="v_gtype" transfer-ownership="none">
3472             <type name="GType" c:type="GType"/>
3473           </parameter>
3474         </parameters>
3475       </method>
3476       <method name="get_gtype" c:identifier="g_value_get_gtype">
3477         <return-value transfer-ownership="none">
3478           <type name="GType" c:type="GType"/>
3479         </return-value>
3480       </method>
3481       <method name="set_variant" c:identifier="g_value_set_variant">
3482         <return-value transfer-ownership="none">
3483           <type name="none" c:type="void"/>
3484         </return-value>
3485         <parameters>
3486           <parameter name="variant" transfer-ownership="none">
3487             <type name="GLib.Variant" c:type="GVariant*"/>
3488           </parameter>
3489         </parameters>
3490       </method>
3491       <method name="take_variant" c:identifier="g_value_take_variant">
3492         <return-value transfer-ownership="none">
3493           <type name="none" c:type="void"/>
3494         </return-value>
3495         <parameters>
3496           <parameter name="variant" transfer-ownership="none">
3497             <type name="GLib.Variant" c:type="GVariant*"/>
3498           </parameter>
3499         </parameters>
3500       </method>
3501       <method name="get_variant" c:identifier="g_value_get_variant">
3502         <return-value transfer-ownership="full">
3503           <type name="GLib.Variant" c:type="GVariant*"/>
3504         </return-value>
3505       </method>
3506       <method name="dup_variant" c:identifier="g_value_dup_variant">
3507         <return-value transfer-ownership="full">
3508           <type name="GLib.Variant" c:type="GVariant*"/>
3509         </return-value>
3510       </method>
3511       <method name="take_string" c:identifier="g_value_take_string">
3512         <return-value transfer-ownership="none">
3513           <type name="none" c:type="void"/>
3514         </return-value>
3515         <parameters>
3516           <parameter name="v_string" transfer-ownership="full">
3517             <type name="utf8" c:type="gchar*"/>
3518           </parameter>
3519         </parameters>
3520       </method>
3521       <method name="set_string_take_ownership"
3522               c:identifier="g_value_set_string_take_ownership">
3523         <return-value transfer-ownership="none">
3524           <type name="none" c:type="void"/>
3525         </return-value>
3526         <parameters>
3527           <parameter name="v_string" transfer-ownership="full">
3528             <type name="utf8" c:type="gchar*"/>
3529           </parameter>
3530         </parameters>
3531       </method>
3532     </record>
3533     <record name="ValueArray"
3534             c:type="GValueArray"
3535             glib:type-name="GValueArray"
3536             glib:get-type="g_value_array_get_type">
3537       <doc xml:whitespace="preserve">A #GValueArray contains an array of #GValue elements.</doc>
3538       <field name="n_values" writable="1">
3539         <type name="uint" c:type="guint"/>
3540       </field>
3541       <field name="values" writable="1">
3542         <type name="Value" c:type="GValue*"/>
3543       </field>
3544       <field name="n_prealloced" writable="1">
3545         <type name="uint" c:type="guint"/>
3546       </field>
3547       <constructor name="new" c:identifier="g_value_array_new">
3548         <return-value transfer-ownership="full">
3549           <type name="ValueArray" c:type="GValueArray*"/>
3550         </return-value>
3551         <parameters>
3552           <parameter name="n_prealloced" transfer-ownership="none">
3553             <type name="uint" c:type="guint"/>
3554           </parameter>
3555         </parameters>
3556       </constructor>
3557       <method name="get_nth" c:identifier="g_value_array_get_nth">
3558         <return-value transfer-ownership="full">
3559           <type name="Value" c:type="GValue*"/>
3560         </return-value>
3561         <parameters>
3562           <parameter name="index_" transfer-ownership="none">
3563             <type name="uint" c:type="guint"/>
3564           </parameter>
3565         </parameters>
3566       </method>
3567       <method name="free" c:identifier="g_value_array_free">
3568         <return-value transfer-ownership="none">
3569           <type name="none" c:type="void"/>
3570         </return-value>
3571       </method>
3572       <method name="copy" c:identifier="g_value_array_copy">
3573         <return-value transfer-ownership="full">
3574           <type name="ValueArray" c:type="GValueArray*"/>
3575         </return-value>
3576       </method>
3577       <method name="prepend" c:identifier="g_value_array_prepend">
3578         <return-value transfer-ownership="full">
3579           <type name="ValueArray" c:type="GValueArray*"/>
3580         </return-value>
3581         <parameters>
3582           <parameter name="value" transfer-ownership="none">
3583             <type name="Value" c:type="GValue*"/>
3584           </parameter>
3585         </parameters>
3586       </method>
3587       <method name="append" c:identifier="g_value_array_append">
3588         <return-value transfer-ownership="full">
3589           <type name="ValueArray" c:type="GValueArray*"/>
3590         </return-value>
3591         <parameters>
3592           <parameter name="value" transfer-ownership="none">
3593             <type name="Value" c:type="GValue*"/>
3594           </parameter>
3595         </parameters>
3596       </method>
3597       <method name="insert" c:identifier="g_value_array_insert">
3598         <return-value transfer-ownership="full">
3599           <type name="ValueArray" c:type="GValueArray*"/>
3600         </return-value>
3601         <parameters>
3602           <parameter name="index_" transfer-ownership="none">
3603             <type name="uint" c:type="guint"/>
3604           </parameter>
3605           <parameter name="value" transfer-ownership="none">
3606             <type name="Value" c:type="GValue*"/>
3607           </parameter>
3608         </parameters>
3609       </method>
3610       <method name="remove" c:identifier="g_value_array_remove">
3611         <return-value transfer-ownership="full">
3612           <type name="ValueArray" c:type="GValueArray*"/>
3613         </return-value>
3614         <parameters>
3615           <parameter name="index_" transfer-ownership="none">
3616             <type name="uint" c:type="guint"/>
3617           </parameter>
3618         </parameters>
3619       </method>
3620       <method name="sort" c:identifier="g_value_array_sort">
3621         <return-value transfer-ownership="full">
3622           <type name="ValueArray" c:type="GValueArray*"/>
3623         </return-value>
3624         <parameters>
3625           <parameter name="compare_func"
3626                      transfer-ownership="none"
3627                      scope="call">
3628             <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
3629           </parameter>
3630         </parameters>
3631       </method>
3632       <method name="sort_with_data"
3633               c:identifier="g_value_array_sort_with_data">
3634         <return-value transfer-ownership="full">
3635           <type name="ValueArray" c:type="GValueArray*"/>
3636         </return-value>
3637         <parameters>
3638           <parameter name="compare_func"
3639                      transfer-ownership="none"
3640                      scope="call"
3641                      closure="2">
3642             <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
3643           </parameter>
3644           <parameter name="user_data" transfer-ownership="none">
3645             <type name="any" c:type="gpointer"/>
3646           </parameter>
3647         </parameters>
3648       </method>
3649     </record>
3650     <callback name="ValueTransform" c:type="GValueTransform">
3651       <doc xml:whitespace="preserve">The type of value transformation functions which can be registered with
3652 g_value_register_transform_func().</doc>
3653       <return-value transfer-ownership="none">
3654         <type name="none" c:type="void"/>
3655       </return-value>
3656       <parameters>
3657         <parameter name="src_value" transfer-ownership="none">
3658           <doc xml:whitespace="preserve">Source value.</doc>
3659           <type name="Value" c:type="GValue*"/>
3660         </parameter>
3661         <parameter name="dest_value" transfer-ownership="none">
3662           <doc xml:whitespace="preserve">Target value.</doc>
3663           <type name="Value" c:type="GValue*"/>
3664         </parameter>
3665       </parameters>
3666     </callback>
3667     <callback name="WeakNotify" c:type="GWeakNotify">
3668       <doc xml:whitespace="preserve">A #GWeakNotify function can be added to an object as a callback that gets
3669 triggered when the object is finalized. Since the object is already being
3670 finalized when the #GWeakNotify is called, there's not much you could do 
3671 with the object, apart from e.g. using its adress as hash-index or the like.</doc>
3672       <return-value transfer-ownership="none">
3673         <type name="none" c:type="void"/>
3674       </return-value>
3675       <parameters>
3676         <parameter name="data" transfer-ownership="none">
3677           <doc xml:whitespace="preserve">data that was provided when the weak reference was established</doc>
3678           <type name="any" c:type="gpointer"/>
3679         </parameter>
3680         <parameter name="where_the_object_was" transfer-ownership="none">
3681           <doc xml:whitespace="preserve">the object being finalized</doc>
3682           <type name="Object" c:type="GObject*"/>
3683         </parameter>
3684       </parameters>
3685     </callback>
3686     <function name="boxed_copy" c:identifier="g_boxed_copy">
3687       <return-value transfer-ownership="none">
3688         <type name="any" c:type="gpointer"/>
3689       </return-value>
3690       <parameters>
3691         <parameter name="boxed_type" transfer-ownership="none">
3692           <type name="GType" c:type="GType"/>
3693         </parameter>
3694         <parameter name="src_boxed" transfer-ownership="none">
3695           <type name="any" c:type="gconstpointer"/>
3696         </parameter>
3697       </parameters>
3698     </function>
3699     <function name="boxed_free" c:identifier="g_boxed_free">
3700       <return-value transfer-ownership="none">
3701         <type name="none" c:type="void"/>
3702       </return-value>
3703       <parameters>
3704         <parameter name="boxed_type" transfer-ownership="none">
3705           <type name="GType" c:type="GType"/>
3706         </parameter>
3707         <parameter name="boxed" transfer-ownership="none">
3708           <type name="any" c:type="gpointer"/>
3709         </parameter>
3710       </parameters>
3711     </function>
3712     <function name="boxed_type_init" c:identifier="g_boxed_type_init">
3713       <return-value transfer-ownership="none">
3714         <type name="none" c:type="void"/>
3715       </return-value>
3716     </function>
3717     <function name="boxed_type_register_static"
3718               c:identifier="g_boxed_type_register_static">
3719       <return-value transfer-ownership="none">
3720         <type name="GType" c:type="GType"/>
3721       </return-value>
3722       <parameters>
3723         <parameter name="name" transfer-ownership="none">
3724           <type name="utf8" c:type="gchar*"/>
3725         </parameter>
3726         <parameter name="boxed_copy" transfer-ownership="none" scope="call">
3727           <type name="BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
3728         </parameter>
3729         <parameter name="boxed_free" transfer-ownership="none" scope="call">
3730           <type name="BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
3731         </parameter>
3732       </parameters>
3733     </function>
3734     <function name="cclosure_new" c:identifier="g_cclosure_new">
3735       <return-value transfer-ownership="full">
3736         <type name="Closure" c:type="GClosure*"/>
3737       </return-value>
3738       <parameters>
3739         <parameter name="callback_func"
3740                    transfer-ownership="none"
3741                    scope="call"
3742                    closure="1">
3743           <type name="Callback" c:type="GCallback"/>
3744         </parameter>
3745         <parameter name="user_data" transfer-ownership="none">
3746           <type name="any" c:type="gpointer"/>
3747         </parameter>
3748         <parameter name="destroy_data" transfer-ownership="none" scope="call">
3749           <type name="ClosureNotify" c:type="GClosureNotify"/>
3750         </parameter>
3751       </parameters>
3752     </function>
3753     <function name="cclosure_new_object" c:identifier="g_cclosure_new_object">
3754       <return-value transfer-ownership="full">
3755         <type name="Closure" c:type="GClosure*"/>
3756       </return-value>
3757       <parameters>
3758         <parameter name="callback_func" transfer-ownership="none" scope="call">
3759           <type name="Callback" c:type="GCallback"/>
3760         </parameter>
3761         <parameter name="object" transfer-ownership="none">
3762           <type name="Object" c:type="GObject*"/>
3763         </parameter>
3764       </parameters>
3765     </function>
3766     <function name="cclosure_new_object_swap"
3767               c:identifier="g_cclosure_new_object_swap">
3768       <return-value transfer-ownership="full">
3769         <type name="Closure" c:type="GClosure*"/>
3770       </return-value>
3771       <parameters>
3772         <parameter name="callback_func" transfer-ownership="none" scope="call">
3773           <type name="Callback" c:type="GCallback"/>
3774         </parameter>
3775         <parameter name="object" transfer-ownership="none">
3776           <type name="Object" c:type="GObject*"/>
3777         </parameter>
3778       </parameters>
3779     </function>
3780     <function name="cclosure_new_swap" c:identifier="g_cclosure_new_swap">
3781       <return-value transfer-ownership="full">
3782         <type name="Closure" c:type="GClosure*"/>
3783       </return-value>
3784       <parameters>
3785         <parameter name="callback_func"
3786                    transfer-ownership="none"
3787                    scope="call"
3788                    closure="1">
3789           <type name="Callback" c:type="GCallback"/>
3790         </parameter>
3791         <parameter name="user_data" transfer-ownership="none">
3792           <type name="any" c:type="gpointer"/>
3793         </parameter>
3794         <parameter name="destroy_data" transfer-ownership="none" scope="call">
3795           <type name="ClosureNotify" c:type="GClosureNotify"/>
3796         </parameter>
3797       </parameters>
3798     </function>
3799     <function name="enum_complete_type_info"
3800               c:identifier="g_enum_complete_type_info">
3801       <return-value transfer-ownership="none">
3802         <type name="none" c:type="void"/>
3803       </return-value>
3804       <parameters>
3805         <parameter name="g_enum_type" transfer-ownership="none">
3806           <type name="GType" c:type="GType"/>
3807         </parameter>
3808         <parameter name="info" transfer-ownership="none">
3809           <type name="TypeInfo" c:type="GTypeInfo*"/>
3810         </parameter>
3811         <parameter name="const_values" transfer-ownership="none">
3812           <type name="EnumValue" c:type="GEnumValue*"/>
3813         </parameter>
3814       </parameters>
3815     </function>
3816     <function name="enum_get_value" c:identifier="g_enum_get_value">
3817       <return-value transfer-ownership="full">
3818         <type name="EnumValue" c:type="GEnumValue*"/>
3819       </return-value>
3820       <parameters>
3821         <parameter name="enum_class" transfer-ownership="none">
3822           <type name="EnumClass" c:type="GEnumClass*"/>
3823         </parameter>
3824         <parameter name="value" transfer-ownership="none">
3825           <type name="int" c:type="gint"/>
3826         </parameter>
3827       </parameters>
3828     </function>
3829     <function name="enum_get_value_by_name"
3830               c:identifier="g_enum_get_value_by_name">
3831       <return-value transfer-ownership="full">
3832         <type name="EnumValue" c:type="GEnumValue*"/>
3833       </return-value>
3834       <parameters>
3835         <parameter name="enum_class" transfer-ownership="none">
3836           <type name="EnumClass" c:type="GEnumClass*"/>
3837         </parameter>
3838         <parameter name="name" transfer-ownership="none">
3839           <type name="utf8" c:type="gchar*"/>
3840         </parameter>
3841       </parameters>
3842     </function>
3843     <function name="enum_get_value_by_nick"
3844               c:identifier="g_enum_get_value_by_nick">
3845       <return-value transfer-ownership="full">
3846         <type name="EnumValue" c:type="GEnumValue*"/>
3847       </return-value>
3848       <parameters>
3849         <parameter name="enum_class" transfer-ownership="none">
3850           <type name="EnumClass" c:type="GEnumClass*"/>
3851         </parameter>
3852         <parameter name="nick" transfer-ownership="none">
3853           <type name="utf8" c:type="gchar*"/>
3854         </parameter>
3855       </parameters>
3856     </function>
3857     <function name="enum_register_static"
3858               c:identifier="g_enum_register_static">
3859       <return-value transfer-ownership="none">
3860         <type name="GType" c:type="GType"/>
3861       </return-value>
3862       <parameters>
3863         <parameter name="name" transfer-ownership="none">
3864           <type name="utf8" c:type="gchar*"/>
3865         </parameter>
3866         <parameter name="const_static_values" transfer-ownership="none">
3867           <type name="EnumValue" c:type="GEnumValue*"/>
3868         </parameter>
3869       </parameters>
3870     </function>
3871     <function name="enum_types_init" c:identifier="g_enum_types_init">
3872       <return-value transfer-ownership="none">
3873         <type name="none" c:type="void"/>
3874       </return-value>
3875     </function>
3876     <function name="flags_complete_type_info"
3877               c:identifier="g_flags_complete_type_info">
3878       <return-value transfer-ownership="none">
3879         <type name="none" c:type="void"/>
3880       </return-value>
3881       <parameters>
3882         <parameter name="g_flags_type" transfer-ownership="none">
3883           <type name="GType" c:type="GType"/>
3884         </parameter>
3885         <parameter name="info" transfer-ownership="none">
3886           <type name="TypeInfo" c:type="GTypeInfo*"/>
3887         </parameter>
3888         <parameter name="const_values" transfer-ownership="none">
3889           <type name="FlagsValue" c:type="GFlagsValue*"/>
3890         </parameter>
3891       </parameters>
3892     </function>
3893     <function name="flags_get_first_value"
3894               c:identifier="g_flags_get_first_value">
3895       <return-value transfer-ownership="full">
3896         <type name="FlagsValue" c:type="GFlagsValue*"/>
3897       </return-value>
3898       <parameters>
3899         <parameter name="flags_class" transfer-ownership="none">
3900           <type name="FlagsClass" c:type="GFlagsClass*"/>
3901         </parameter>
3902         <parameter name="value" transfer-ownership="none">
3903           <type name="uint" c:type="guint"/>
3904         </parameter>
3905       </parameters>
3906     </function>
3907     <function name="flags_get_value_by_name"
3908               c:identifier="g_flags_get_value_by_name">
3909       <return-value transfer-ownership="full">
3910         <type name="FlagsValue" c:type="GFlagsValue*"/>
3911       </return-value>
3912       <parameters>
3913         <parameter name="flags_class" transfer-ownership="none">
3914           <type name="FlagsClass" c:type="GFlagsClass*"/>
3915         </parameter>
3916         <parameter name="name" transfer-ownership="none">
3917           <type name="utf8" c:type="gchar*"/>
3918         </parameter>
3919       </parameters>
3920     </function>
3921     <function name="flags_get_value_by_nick"
3922               c:identifier="g_flags_get_value_by_nick">
3923       <return-value transfer-ownership="full">
3924         <type name="FlagsValue" c:type="GFlagsValue*"/>
3925       </return-value>
3926       <parameters>
3927         <parameter name="flags_class" transfer-ownership="none">
3928           <type name="FlagsClass" c:type="GFlagsClass*"/>
3929         </parameter>
3930         <parameter name="nick" transfer-ownership="none">
3931           <type name="utf8" c:type="gchar*"/>
3932         </parameter>
3933       </parameters>
3934     </function>
3935     <function name="flags_register_static"
3936               c:identifier="g_flags_register_static">
3937       <return-value transfer-ownership="none">
3938         <type name="GType" c:type="GType"/>
3939       </return-value>
3940       <parameters>
3941         <parameter name="name" transfer-ownership="none">
3942           <type name="utf8" c:type="gchar*"/>
3943         </parameter>
3944         <parameter name="const_static_values" transfer-ownership="none">
3945           <type name="FlagsValue" c:type="GFlagsValue*"/>
3946         </parameter>
3947       </parameters>
3948     </function>
3949     <function name="param_spec_boolean" c:identifier="g_param_spec_boolean">
3950       <return-value transfer-ownership="full">
3951         <type name="ParamSpec" c:type="GParamSpec*"/>
3952       </return-value>
3953       <parameters>
3954         <parameter name="name" transfer-ownership="none">
3955           <type name="utf8" c:type="gchar*"/>
3956         </parameter>
3957         <parameter name="nick" transfer-ownership="none">
3958           <type name="utf8" c:type="gchar*"/>
3959         </parameter>
3960         <parameter name="blurb" transfer-ownership="none">
3961           <type name="utf8" c:type="gchar*"/>
3962         </parameter>
3963         <parameter name="default_value" transfer-ownership="none">
3964           <type name="boolean" c:type="gboolean"/>
3965         </parameter>
3966         <parameter name="flags" transfer-ownership="none">
3967           <type name="ParamFlags" c:type="GParamFlags"/>
3968         </parameter>
3969       </parameters>
3970     </function>
3971     <function name="param_spec_boxed" c:identifier="g_param_spec_boxed">
3972       <return-value transfer-ownership="full">
3973         <type name="ParamSpec" c:type="GParamSpec*"/>
3974       </return-value>
3975       <parameters>
3976         <parameter name="name" transfer-ownership="none">
3977           <type name="utf8" c:type="gchar*"/>
3978         </parameter>
3979         <parameter name="nick" transfer-ownership="none">
3980           <type name="utf8" c:type="gchar*"/>
3981         </parameter>
3982         <parameter name="blurb" transfer-ownership="none">
3983           <type name="utf8" c:type="gchar*"/>
3984         </parameter>
3985         <parameter name="boxed_type" transfer-ownership="none">
3986           <type name="GType" c:type="GType"/>
3987         </parameter>
3988         <parameter name="flags" transfer-ownership="none">
3989           <type name="ParamFlags" c:type="GParamFlags"/>
3990         </parameter>
3991       </parameters>
3992     </function>
3993     <function name="param_spec_char" c:identifier="g_param_spec_char">
3994       <return-value transfer-ownership="full">
3995         <type name="ParamSpec" c:type="GParamSpec*"/>
3996       </return-value>
3997       <parameters>
3998         <parameter name="name" transfer-ownership="none">
3999           <type name="utf8" c:type="gchar*"/>
4000         </parameter>
4001         <parameter name="nick" transfer-ownership="none">
4002           <type name="utf8" c:type="gchar*"/>
4003         </parameter>
4004         <parameter name="blurb" transfer-ownership="none">
4005           <type name="utf8" c:type="gchar*"/>
4006         </parameter>
4007         <parameter name="minimum" transfer-ownership="none">
4008           <type name="int8" c:type="gint8"/>
4009         </parameter>
4010         <parameter name="maximum" transfer-ownership="none">
4011           <type name="int8" c:type="gint8"/>
4012         </parameter>
4013         <parameter name="default_value" transfer-ownership="none">
4014           <type name="int8" c:type="gint8"/>
4015         </parameter>
4016         <parameter name="flags" transfer-ownership="none">
4017           <type name="ParamFlags" c:type="GParamFlags"/>
4018         </parameter>
4019       </parameters>
4020     </function>
4021     <function name="param_spec_double" c:identifier="g_param_spec_double">
4022       <return-value transfer-ownership="full">
4023         <type name="ParamSpec" c:type="GParamSpec*"/>
4024       </return-value>
4025       <parameters>
4026         <parameter name="name" transfer-ownership="none">
4027           <type name="utf8" c:type="gchar*"/>
4028         </parameter>
4029         <parameter name="nick" transfer-ownership="none">
4030           <type name="utf8" c:type="gchar*"/>
4031         </parameter>
4032         <parameter name="blurb" transfer-ownership="none">
4033           <type name="utf8" c:type="gchar*"/>
4034         </parameter>
4035         <parameter name="minimum" transfer-ownership="none">
4036           <type name="double" c:type="gdouble"/>
4037         </parameter>
4038         <parameter name="maximum" transfer-ownership="none">
4039           <type name="double" c:type="gdouble"/>
4040         </parameter>
4041         <parameter name="default_value" transfer-ownership="none">
4042           <type name="double" c:type="gdouble"/>
4043         </parameter>
4044         <parameter name="flags" transfer-ownership="none">
4045           <type name="ParamFlags" c:type="GParamFlags"/>
4046         </parameter>
4047       </parameters>
4048     </function>
4049     <function name="param_spec_enum" c:identifier="g_param_spec_enum">
4050       <return-value transfer-ownership="full">
4051         <type name="ParamSpec" c:type="GParamSpec*"/>
4052       </return-value>
4053       <parameters>
4054         <parameter name="name" transfer-ownership="none">
4055           <type name="utf8" c:type="gchar*"/>
4056         </parameter>
4057         <parameter name="nick" transfer-ownership="none">
4058           <type name="utf8" c:type="gchar*"/>
4059         </parameter>
4060         <parameter name="blurb" transfer-ownership="none">
4061           <type name="utf8" c:type="gchar*"/>
4062         </parameter>
4063         <parameter name="enum_type" transfer-ownership="none">
4064           <type name="GType" c:type="GType"/>
4065         </parameter>
4066         <parameter name="default_value" transfer-ownership="none">
4067           <type name="int" c:type="gint"/>
4068         </parameter>
4069         <parameter name="flags" transfer-ownership="none">
4070           <type name="ParamFlags" c:type="GParamFlags"/>
4071         </parameter>
4072       </parameters>
4073     </function>
4074     <function name="param_spec_flags" c:identifier="g_param_spec_flags">
4075       <return-value transfer-ownership="full">
4076         <type name="ParamSpec" c:type="GParamSpec*"/>
4077       </return-value>
4078       <parameters>
4079         <parameter name="name" transfer-ownership="none">
4080           <type name="utf8" c:type="gchar*"/>
4081         </parameter>
4082         <parameter name="nick" transfer-ownership="none">
4083           <type name="utf8" c:type="gchar*"/>
4084         </parameter>
4085         <parameter name="blurb" transfer-ownership="none">
4086           <type name="utf8" c:type="gchar*"/>
4087         </parameter>
4088         <parameter name="flags_type" transfer-ownership="none">
4089           <type name="GType" c:type="GType"/>
4090         </parameter>
4091         <parameter name="default_value" transfer-ownership="none">
4092           <type name="uint" c:type="guint"/>
4093         </parameter>
4094         <parameter name="flags" transfer-ownership="none">
4095           <type name="ParamFlags" c:type="GParamFlags"/>
4096         </parameter>
4097       </parameters>
4098     </function>
4099     <function name="param_spec_float" c:identifier="g_param_spec_float">
4100       <return-value transfer-ownership="full">
4101         <type name="ParamSpec" c:type="GParamSpec*"/>
4102       </return-value>
4103       <parameters>
4104         <parameter name="name" transfer-ownership="none">
4105           <type name="utf8" c:type="gchar*"/>
4106         </parameter>
4107         <parameter name="nick" transfer-ownership="none">
4108           <type name="utf8" c:type="gchar*"/>
4109         </parameter>
4110         <parameter name="blurb" transfer-ownership="none">
4111           <type name="utf8" c:type="gchar*"/>
4112         </parameter>
4113         <parameter name="minimum" transfer-ownership="none">
4114           <type name="float" c:type="gfloat"/>
4115         </parameter>
4116         <parameter name="maximum" transfer-ownership="none">
4117           <type name="float" c:type="gfloat"/>
4118         </parameter>
4119         <parameter name="default_value" transfer-ownership="none">
4120           <type name="float" c:type="gfloat"/>
4121         </parameter>
4122         <parameter name="flags" transfer-ownership="none">
4123           <type name="ParamFlags" c:type="GParamFlags"/>
4124         </parameter>
4125       </parameters>
4126     </function>
4127     <function name="param_spec_gtype" c:identifier="g_param_spec_gtype">
4128       <return-value transfer-ownership="full">
4129         <type name="ParamSpec" c:type="GParamSpec*"/>
4130       </return-value>
4131       <parameters>
4132         <parameter name="name" transfer-ownership="none">
4133           <type name="utf8" c:type="gchar*"/>
4134         </parameter>
4135         <parameter name="nick" transfer-ownership="none">
4136           <type name="utf8" c:type="gchar*"/>
4137         </parameter>
4138         <parameter name="blurb" transfer-ownership="none">
4139           <type name="utf8" c:type="gchar*"/>
4140         </parameter>
4141         <parameter name="is_a_type" transfer-ownership="none">
4142           <type name="GType" c:type="GType"/>
4143         </parameter>
4144         <parameter name="flags" transfer-ownership="none">
4145           <type name="ParamFlags" c:type="GParamFlags"/>
4146         </parameter>
4147       </parameters>
4148     </function>
4149     <function name="param_spec_int" c:identifier="g_param_spec_int">
4150       <return-value transfer-ownership="full">
4151         <type name="ParamSpec" c:type="GParamSpec*"/>
4152       </return-value>
4153       <parameters>
4154         <parameter name="name" transfer-ownership="none">
4155           <type name="utf8" c:type="gchar*"/>
4156         </parameter>
4157         <parameter name="nick" transfer-ownership="none">
4158           <type name="utf8" c:type="gchar*"/>
4159         </parameter>
4160         <parameter name="blurb" transfer-ownership="none">
4161           <type name="utf8" c:type="gchar*"/>
4162         </parameter>
4163         <parameter name="minimum" transfer-ownership="none">
4164           <type name="int" c:type="gint"/>
4165         </parameter>
4166         <parameter name="maximum" transfer-ownership="none">
4167           <type name="int" c:type="gint"/>
4168         </parameter>
4169         <parameter name="default_value" transfer-ownership="none">
4170           <type name="int" c:type="gint"/>
4171         </parameter>
4172         <parameter name="flags" transfer-ownership="none">
4173           <type name="ParamFlags" c:type="GParamFlags"/>
4174         </parameter>
4175       </parameters>
4176     </function>
4177     <function name="param_spec_int64" c:identifier="g_param_spec_int64">
4178       <return-value transfer-ownership="full">
4179         <type name="ParamSpec" c:type="GParamSpec*"/>
4180       </return-value>
4181       <parameters>
4182         <parameter name="name" transfer-ownership="none">
4183           <type name="utf8" c:type="gchar*"/>
4184         </parameter>
4185         <parameter name="nick" transfer-ownership="none">
4186           <type name="utf8" c:type="gchar*"/>
4187         </parameter>
4188         <parameter name="blurb" transfer-ownership="none">
4189           <type name="utf8" c:type="gchar*"/>
4190         </parameter>
4191         <parameter name="minimum" transfer-ownership="none">
4192           <type name="int64" c:type="gint64"/>
4193         </parameter>
4194         <parameter name="maximum" transfer-ownership="none">
4195           <type name="int64" c:type="gint64"/>
4196         </parameter>
4197         <parameter name="default_value" transfer-ownership="none">
4198           <type name="int64" c:type="gint64"/>
4199         </parameter>
4200         <parameter name="flags" transfer-ownership="none">
4201           <type name="ParamFlags" c:type="GParamFlags"/>
4202         </parameter>
4203       </parameters>
4204     </function>
4205     <function name="param_spec_internal" c:identifier="g_param_spec_internal">
4206       <return-value transfer-ownership="none">
4207         <type name="any" c:type="gpointer"/>
4208       </return-value>
4209       <parameters>
4210         <parameter name="param_type" transfer-ownership="none">
4211           <type name="GType" c:type="GType"/>
4212         </parameter>
4213         <parameter name="name" transfer-ownership="none">
4214           <type name="utf8" c:type="gchar*"/>
4215         </parameter>
4216         <parameter name="nick" transfer-ownership="none">
4217           <type name="utf8" c:type="gchar*"/>
4218         </parameter>
4219         <parameter name="blurb" transfer-ownership="none">
4220           <type name="utf8" c:type="gchar*"/>
4221         </parameter>
4222         <parameter name="flags" transfer-ownership="none">
4223           <type name="ParamFlags" c:type="GParamFlags"/>
4224         </parameter>
4225       </parameters>
4226     </function>
4227     <function name="param_spec_long" c:identifier="g_param_spec_long">
4228       <return-value transfer-ownership="full">
4229         <type name="ParamSpec" c:type="GParamSpec*"/>
4230       </return-value>
4231       <parameters>
4232         <parameter name="name" transfer-ownership="none">
4233           <type name="utf8" c:type="gchar*"/>
4234         </parameter>
4235         <parameter name="nick" transfer-ownership="none">
4236           <type name="utf8" c:type="gchar*"/>
4237         </parameter>
4238         <parameter name="blurb" transfer-ownership="none">
4239           <type name="utf8" c:type="gchar*"/>
4240         </parameter>
4241         <parameter name="minimum" transfer-ownership="none">
4242           <type name="long" c:type="glong"/>
4243         </parameter>
4244         <parameter name="maximum" transfer-ownership="none">
4245           <type name="long" c:type="glong"/>
4246         </parameter>
4247         <parameter name="default_value" transfer-ownership="none">
4248           <type name="long" c:type="glong"/>
4249         </parameter>
4250         <parameter name="flags" transfer-ownership="none">
4251           <type name="ParamFlags" c:type="GParamFlags"/>
4252         </parameter>
4253       </parameters>
4254     </function>
4255     <function name="param_spec_object" c:identifier="g_param_spec_object">
4256       <return-value transfer-ownership="full">
4257         <type name="ParamSpec" c:type="GParamSpec*"/>
4258       </return-value>
4259       <parameters>
4260         <parameter name="name" transfer-ownership="none">
4261           <type name="utf8" c:type="gchar*"/>
4262         </parameter>
4263         <parameter name="nick" transfer-ownership="none">
4264           <type name="utf8" c:type="gchar*"/>
4265         </parameter>
4266         <parameter name="blurb" transfer-ownership="none">
4267           <type name="utf8" c:type="gchar*"/>
4268         </parameter>
4269         <parameter name="object_type" transfer-ownership="none">
4270           <type name="GType" c:type="GType"/>
4271         </parameter>
4272         <parameter name="flags" transfer-ownership="none">
4273           <type name="ParamFlags" c:type="GParamFlags"/>
4274         </parameter>
4275       </parameters>
4276     </function>
4277     <function name="param_spec_override" c:identifier="g_param_spec_override">
4278       <return-value transfer-ownership="full">
4279         <type name="ParamSpec" c:type="GParamSpec*"/>
4280       </return-value>
4281       <parameters>
4282         <parameter name="name" transfer-ownership="none">
4283           <type name="utf8" c:type="gchar*"/>
4284         </parameter>
4285         <parameter name="overridden" transfer-ownership="none">
4286           <type name="ParamSpec" c:type="GParamSpec*"/>
4287         </parameter>
4288       </parameters>
4289     </function>
4290     <function name="param_spec_param" c:identifier="g_param_spec_param">
4291       <return-value transfer-ownership="full">
4292         <type name="ParamSpec" c:type="GParamSpec*"/>
4293       </return-value>
4294       <parameters>
4295         <parameter name="name" transfer-ownership="none">
4296           <type name="utf8" c:type="gchar*"/>
4297         </parameter>
4298         <parameter name="nick" transfer-ownership="none">
4299           <type name="utf8" c:type="gchar*"/>
4300         </parameter>
4301         <parameter name="blurb" transfer-ownership="none">
4302           <type name="utf8" c:type="gchar*"/>
4303         </parameter>
4304         <parameter name="param_type" transfer-ownership="none">
4305           <type name="GType" c:type="GType"/>
4306         </parameter>
4307         <parameter name="flags" transfer-ownership="none">
4308           <type name="ParamFlags" c:type="GParamFlags"/>
4309         </parameter>
4310       </parameters>
4311     </function>
4312     <function name="param_spec_pointer" c:identifier="g_param_spec_pointer">
4313       <return-value transfer-ownership="full">
4314         <type name="ParamSpec" c:type="GParamSpec*"/>
4315       </return-value>
4316       <parameters>
4317         <parameter name="name" transfer-ownership="none">
4318           <type name="utf8" c:type="gchar*"/>
4319         </parameter>
4320         <parameter name="nick" transfer-ownership="none">
4321           <type name="utf8" c:type="gchar*"/>
4322         </parameter>
4323         <parameter name="blurb" transfer-ownership="none">
4324           <type name="utf8" c:type="gchar*"/>
4325         </parameter>
4326         <parameter name="flags" transfer-ownership="none">
4327           <type name="ParamFlags" c:type="GParamFlags"/>
4328         </parameter>
4329       </parameters>
4330     </function>
4331     <function name="param_spec_string" c:identifier="g_param_spec_string">
4332       <return-value transfer-ownership="full">
4333         <type name="ParamSpec" c:type="GParamSpec*"/>
4334       </return-value>
4335       <parameters>
4336         <parameter name="name" transfer-ownership="none">
4337           <type name="utf8" c:type="gchar*"/>
4338         </parameter>
4339         <parameter name="nick" transfer-ownership="none">
4340           <type name="utf8" c:type="gchar*"/>
4341         </parameter>
4342         <parameter name="blurb" transfer-ownership="none">
4343           <type name="utf8" c:type="gchar*"/>
4344         </parameter>
4345         <parameter name="default_value" transfer-ownership="none">
4346           <type name="utf8" c:type="gchar*"/>
4347         </parameter>
4348         <parameter name="flags" transfer-ownership="none">
4349           <type name="ParamFlags" c:type="GParamFlags"/>
4350         </parameter>
4351       </parameters>
4352     </function>
4353     <function name="param_spec_types_init"
4354               c:identifier="g_param_spec_types_init">
4355       <return-value transfer-ownership="none">
4356         <type name="none" c:type="void"/>
4357       </return-value>
4358     </function>
4359     <function name="param_spec_uchar" c:identifier="g_param_spec_uchar">
4360       <return-value transfer-ownership="full">
4361         <type name="ParamSpec" c:type="GParamSpec*"/>
4362       </return-value>
4363       <parameters>
4364         <parameter name="name" transfer-ownership="none">
4365           <type name="utf8" c:type="gchar*"/>
4366         </parameter>
4367         <parameter name="nick" transfer-ownership="none">
4368           <type name="utf8" c:type="gchar*"/>
4369         </parameter>
4370         <parameter name="blurb" transfer-ownership="none">
4371           <type name="utf8" c:type="gchar*"/>
4372         </parameter>
4373         <parameter name="minimum" transfer-ownership="none">
4374           <type name="uint8" c:type="guint8"/>
4375         </parameter>
4376         <parameter name="maximum" transfer-ownership="none">
4377           <type name="uint8" c:type="guint8"/>
4378         </parameter>
4379         <parameter name="default_value" transfer-ownership="none">
4380           <type name="uint8" c:type="guint8"/>
4381         </parameter>
4382         <parameter name="flags" transfer-ownership="none">
4383           <type name="ParamFlags" c:type="GParamFlags"/>
4384         </parameter>
4385       </parameters>
4386     </function>
4387     <function name="param_spec_uint" c:identifier="g_param_spec_uint">
4388       <return-value transfer-ownership="full">
4389         <type name="ParamSpec" c:type="GParamSpec*"/>
4390       </return-value>
4391       <parameters>
4392         <parameter name="name" transfer-ownership="none">
4393           <type name="utf8" c:type="gchar*"/>
4394         </parameter>
4395         <parameter name="nick" transfer-ownership="none">
4396           <type name="utf8" c:type="gchar*"/>
4397         </parameter>
4398         <parameter name="blurb" transfer-ownership="none">
4399           <type name="utf8" c:type="gchar*"/>
4400         </parameter>
4401         <parameter name="minimum" transfer-ownership="none">
4402           <type name="uint" c:type="guint"/>
4403         </parameter>
4404         <parameter name="maximum" transfer-ownership="none">
4405           <type name="uint" c:type="guint"/>
4406         </parameter>
4407         <parameter name="default_value" transfer-ownership="none">
4408           <type name="uint" c:type="guint"/>
4409         </parameter>
4410         <parameter name="flags" transfer-ownership="none">
4411           <type name="ParamFlags" c:type="GParamFlags"/>
4412         </parameter>
4413       </parameters>
4414     </function>
4415     <function name="param_spec_uint64" c:identifier="g_param_spec_uint64">
4416       <return-value transfer-ownership="full">
4417         <type name="ParamSpec" c:type="GParamSpec*"/>
4418       </return-value>
4419       <parameters>
4420         <parameter name="name" transfer-ownership="none">
4421           <type name="utf8" c:type="gchar*"/>
4422         </parameter>
4423         <parameter name="nick" transfer-ownership="none">
4424           <type name="utf8" c:type="gchar*"/>
4425         </parameter>
4426         <parameter name="blurb" transfer-ownership="none">
4427           <type name="utf8" c:type="gchar*"/>
4428         </parameter>
4429         <parameter name="minimum" transfer-ownership="none">
4430           <type name="uint64" c:type="guint64"/>
4431         </parameter>
4432         <parameter name="maximum" transfer-ownership="none">
4433           <type name="uint64" c:type="guint64"/>
4434         </parameter>
4435         <parameter name="default_value" transfer-ownership="none">
4436           <type name="uint64" c:type="guint64"/>
4437         </parameter>
4438         <parameter name="flags" transfer-ownership="none">
4439           <type name="ParamFlags" c:type="GParamFlags"/>
4440         </parameter>
4441       </parameters>
4442     </function>
4443     <function name="param_spec_ulong" c:identifier="g_param_spec_ulong">
4444       <return-value transfer-ownership="full">
4445         <type name="ParamSpec" c:type="GParamSpec*"/>
4446       </return-value>
4447       <parameters>
4448         <parameter name="name" transfer-ownership="none">
4449           <type name="utf8" c:type="gchar*"/>
4450         </parameter>
4451         <parameter name="nick" transfer-ownership="none">
4452           <type name="utf8" c:type="gchar*"/>
4453         </parameter>
4454         <parameter name="blurb" transfer-ownership="none">
4455           <type name="utf8" c:type="gchar*"/>
4456         </parameter>
4457         <parameter name="minimum" transfer-ownership="none">
4458           <type name="ulong" c:type="gulong"/>
4459         </parameter>
4460         <parameter name="maximum" transfer-ownership="none">
4461           <type name="ulong" c:type="gulong"/>
4462         </parameter>
4463         <parameter name="default_value" transfer-ownership="none">
4464           <type name="ulong" c:type="gulong"/>
4465         </parameter>
4466         <parameter name="flags" transfer-ownership="none">
4467           <type name="ParamFlags" c:type="GParamFlags"/>
4468         </parameter>
4469       </parameters>
4470     </function>
4471     <function name="param_spec_unichar" c:identifier="g_param_spec_unichar">
4472       <return-value transfer-ownership="full">
4473         <type name="ParamSpec" c:type="GParamSpec*"/>
4474       </return-value>
4475       <parameters>
4476         <parameter name="name" transfer-ownership="none">
4477           <type name="utf8" c:type="gchar*"/>
4478         </parameter>
4479         <parameter name="nick" transfer-ownership="none">
4480           <type name="utf8" c:type="gchar*"/>
4481         </parameter>
4482         <parameter name="blurb" transfer-ownership="none">
4483           <type name="utf8" c:type="gchar*"/>
4484         </parameter>
4485         <parameter name="default_value" transfer-ownership="none">
4486           <type name="GLib.unichar" c:type="gunichar"/>
4487         </parameter>
4488         <parameter name="flags" transfer-ownership="none">
4489           <type name="ParamFlags" c:type="GParamFlags"/>
4490         </parameter>
4491       </parameters>
4492     </function>
4493     <function name="param_spec_value_array"
4494               c:identifier="g_param_spec_value_array">
4495       <return-value transfer-ownership="full">
4496         <type name="ParamSpec" c:type="GParamSpec*"/>
4497       </return-value>
4498       <parameters>
4499         <parameter name="name" transfer-ownership="none">
4500           <type name="utf8" c:type="gchar*"/>
4501         </parameter>
4502         <parameter name="nick" transfer-ownership="none">
4503           <type name="utf8" c:type="gchar*"/>
4504         </parameter>
4505         <parameter name="blurb" transfer-ownership="none">
4506           <type name="utf8" c:type="gchar*"/>
4507         </parameter>
4508         <parameter name="element_spec" transfer-ownership="none">
4509           <type name="ParamSpec" c:type="GParamSpec*"/>
4510         </parameter>
4511         <parameter name="flags" transfer-ownership="none">
4512           <type name="ParamFlags" c:type="GParamFlags"/>
4513         </parameter>
4514       </parameters>
4515     </function>
4516     <function name="param_spec_variant" c:identifier="g_param_spec_variant">
4517       <return-value transfer-ownership="full">
4518         <type name="ParamSpec" c:type="GParamSpec*"/>
4519       </return-value>
4520       <parameters>
4521         <parameter name="name" transfer-ownership="none">
4522           <type name="utf8" c:type="gchar*"/>
4523         </parameter>
4524         <parameter name="nick" transfer-ownership="none">
4525           <type name="utf8" c:type="gchar*"/>
4526         </parameter>
4527         <parameter name="blurb" transfer-ownership="none">
4528           <type name="utf8" c:type="gchar*"/>
4529         </parameter>
4530         <parameter name="type" transfer-ownership="none">
4531           <type name="GLib.VariantType" c:type="GVariantType*"/>
4532         </parameter>
4533         <parameter name="default_value" transfer-ownership="none">
4534           <type name="GLib.Variant" c:type="GVariant*"/>
4535         </parameter>
4536         <parameter name="flags" transfer-ownership="none">
4537           <type name="ParamFlags" c:type="GParamFlags"/>
4538         </parameter>
4539       </parameters>
4540     </function>
4541     <function name="param_type_init" c:identifier="g_param_type_init">
4542       <return-value transfer-ownership="none">
4543         <type name="none" c:type="void"/>
4544       </return-value>
4545     </function>
4546     <function name="param_type_register_static"
4547               c:identifier="g_param_type_register_static">
4548       <return-value transfer-ownership="none">
4549         <type name="GType" c:type="GType"/>
4550       </return-value>
4551       <parameters>
4552         <parameter name="name" transfer-ownership="none">
4553           <type name="utf8" c:type="gchar*"/>
4554         </parameter>
4555         <parameter name="pspec_info" transfer-ownership="none">
4556           <type name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo*"/>
4557         </parameter>
4558       </parameters>
4559     </function>
4560     <function name="param_value_convert" c:identifier="g_param_value_convert">
4561       <return-value transfer-ownership="none">
4562         <type name="boolean" c:type="gboolean"/>
4563       </return-value>
4564       <parameters>
4565         <parameter name="pspec" transfer-ownership="none">
4566           <type name="ParamSpec" c:type="GParamSpec*"/>
4567         </parameter>
4568         <parameter name="src_value" transfer-ownership="none">
4569           <type name="Value" c:type="GValue*"/>
4570         </parameter>
4571         <parameter name="dest_value" transfer-ownership="none">
4572           <type name="Value" c:type="GValue*"/>
4573         </parameter>
4574         <parameter name="strict_validation" transfer-ownership="none">
4575           <type name="boolean" c:type="gboolean"/>
4576         </parameter>
4577       </parameters>
4578     </function>
4579     <function name="param_value_defaults"
4580               c:identifier="g_param_value_defaults">
4581       <return-value transfer-ownership="none">
4582         <type name="boolean" c:type="gboolean"/>
4583       </return-value>
4584       <parameters>
4585         <parameter name="pspec" transfer-ownership="none">
4586           <type name="ParamSpec" c:type="GParamSpec*"/>
4587         </parameter>
4588         <parameter name="value" transfer-ownership="none">
4589           <type name="Value" c:type="GValue*"/>
4590         </parameter>
4591       </parameters>
4592     </function>
4593     <function name="param_value_set_default"
4594               c:identifier="g_param_value_set_default">
4595       <return-value transfer-ownership="none">
4596         <type name="none" c:type="void"/>
4597       </return-value>
4598       <parameters>
4599         <parameter name="pspec" transfer-ownership="none">
4600           <type name="ParamSpec" c:type="GParamSpec*"/>
4601         </parameter>
4602         <parameter name="value" transfer-ownership="none">
4603           <type name="Value" c:type="GValue*"/>
4604         </parameter>
4605       </parameters>
4606     </function>
4607     <function name="param_value_validate"
4608               c:identifier="g_param_value_validate">
4609       <return-value transfer-ownership="none">
4610         <type name="boolean" c:type="gboolean"/>
4611       </return-value>
4612       <parameters>
4613         <parameter name="pspec" transfer-ownership="none">
4614           <type name="ParamSpec" c:type="GParamSpec*"/>
4615         </parameter>
4616         <parameter name="value" transfer-ownership="none">
4617           <type name="Value" c:type="GValue*"/>
4618         </parameter>
4619       </parameters>
4620     </function>
4621     <function name="param_values_cmp" c:identifier="g_param_values_cmp">
4622       <return-value transfer-ownership="none">
4623         <type name="int" c:type="gint"/>
4624       </return-value>
4625       <parameters>
4626         <parameter name="pspec" transfer-ownership="none">
4627           <type name="ParamSpec" c:type="GParamSpec*"/>
4628         </parameter>
4629         <parameter name="value1" transfer-ownership="none">
4630           <type name="Value" c:type="GValue*"/>
4631         </parameter>
4632         <parameter name="value2" transfer-ownership="none">
4633           <type name="Value" c:type="GValue*"/>
4634         </parameter>
4635       </parameters>
4636     </function>
4637     <function name="pointer_type_register_static"
4638               c:identifier="g_pointer_type_register_static">
4639       <return-value transfer-ownership="none">
4640         <type name="GType" c:type="GType"/>
4641       </return-value>
4642       <parameters>
4643         <parameter name="name" transfer-ownership="none">
4644           <type name="utf8" c:type="gchar*"/>
4645         </parameter>
4646       </parameters>
4647     </function>
4648     <function name="signal_accumulator_true_handled"
4649               c:identifier="g_signal_accumulator_true_handled">
4650       <return-value transfer-ownership="none">
4651         <type name="boolean" c:type="gboolean"/>
4652       </return-value>
4653       <parameters>
4654         <parameter name="ihint" transfer-ownership="none">
4655           <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
4656         </parameter>
4657         <parameter name="return_accu" transfer-ownership="none">
4658           <type name="Value" c:type="GValue*"/>
4659         </parameter>
4660         <parameter name="handler_return" transfer-ownership="none">
4661           <type name="Value" c:type="GValue*"/>
4662         </parameter>
4663         <parameter name="dummy" transfer-ownership="none">
4664           <type name="any" c:type="gpointer"/>
4665         </parameter>
4666       </parameters>
4667     </function>
4668     <function name="signal_add_emission_hook"
4669               c:identifier="g_signal_add_emission_hook">
4670       <return-value transfer-ownership="none">
4671         <type name="ulong" c:type="gulong"/>
4672       </return-value>
4673       <parameters>
4674         <parameter name="signal_id" transfer-ownership="none">
4675           <type name="uint" c:type="guint"/>
4676         </parameter>
4677         <parameter name="detail" transfer-ownership="none">
4678           <type name="GLib.Quark" c:type="GQuark"/>
4679         </parameter>
4680         <parameter name="hook_func"
4681                    transfer-ownership="none"
4682                    scope="notified"
4683                    closure="3"
4684                    destroy="4">
4685           <type name="SignalEmissionHook" c:type="GSignalEmissionHook"/>
4686         </parameter>
4687         <parameter name="hook_data" transfer-ownership="none">
4688           <type name="any" c:type="gpointer"/>
4689         </parameter>
4690         <parameter name="data_destroy" transfer-ownership="none" scope="call">
4691           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4692         </parameter>
4693       </parameters>
4694     </function>
4695     <function name="signal_chain_from_overridden"
4696               c:identifier="g_signal_chain_from_overridden">
4697       <return-value transfer-ownership="none">
4698         <type name="none" c:type="void"/>
4699       </return-value>
4700       <parameters>
4701         <parameter name="instance_and_params" transfer-ownership="none">
4702           <type name="Value" c:type="GValue*"/>
4703         </parameter>
4704         <parameter name="return_value" transfer-ownership="none">
4705           <type name="Value" c:type="GValue*"/>
4706         </parameter>
4707       </parameters>
4708     </function>
4709     <function name="signal_chain_from_overridden_handler"
4710               c:identifier="g_signal_chain_from_overridden_handler"
4711               introspectable="0">
4712       <return-value transfer-ownership="none">
4713         <type name="none" c:type="void"/>
4714       </return-value>
4715       <parameters>
4716         <parameter name="instance" transfer-ownership="none">
4717           <type name="any" c:type="gpointer"/>
4718         </parameter>
4719         <parameter transfer-ownership="none">
4720           <varargs>
4721           </varargs>
4722         </parameter>
4723       </parameters>
4724     </function>
4725     <function name="signal_connect_closure"
4726               c:identifier="g_signal_connect_closure">
4727       <return-value transfer-ownership="none">
4728         <type name="ulong" c:type="gulong"/>
4729       </return-value>
4730       <parameters>
4731         <parameter name="instance" transfer-ownership="none">
4732           <type name="any" c:type="gpointer"/>
4733         </parameter>
4734         <parameter name="detailed_signal" transfer-ownership="none">
4735           <type name="utf8" c:type="gchar*"/>
4736         </parameter>
4737         <parameter name="closure" transfer-ownership="none">
4738           <type name="Closure" c:type="GClosure*"/>
4739         </parameter>
4740         <parameter name="after" transfer-ownership="none">
4741           <type name="boolean" c:type="gboolean"/>
4742         </parameter>
4743       </parameters>
4744     </function>
4745     <function name="signal_connect_closure_by_id"
4746               c:identifier="g_signal_connect_closure_by_id">
4747       <return-value transfer-ownership="none">
4748         <type name="ulong" c:type="gulong"/>
4749       </return-value>
4750       <parameters>
4751         <parameter name="instance" transfer-ownership="none">
4752           <type name="any" c:type="gpointer"/>
4753         </parameter>
4754         <parameter name="signal_id" transfer-ownership="none">
4755           <type name="uint" c:type="guint"/>
4756         </parameter>
4757         <parameter name="detail" transfer-ownership="none">
4758           <type name="GLib.Quark" c:type="GQuark"/>
4759         </parameter>
4760         <parameter name="closure" transfer-ownership="none">
4761           <type name="Closure" c:type="GClosure*"/>
4762         </parameter>
4763         <parameter name="after" transfer-ownership="none">
4764           <type name="boolean" c:type="gboolean"/>
4765         </parameter>
4766       </parameters>
4767     </function>
4768     <function name="signal_connect_data" c:identifier="g_signal_connect_data">
4769       <return-value transfer-ownership="none">
4770         <type name="ulong" c:type="gulong"/>
4771       </return-value>
4772       <parameters>
4773         <parameter name="instance" transfer-ownership="none">
4774           <type name="any" c:type="gpointer"/>
4775         </parameter>
4776         <parameter name="detailed_signal" transfer-ownership="none">
4777           <type name="utf8" c:type="gchar*"/>
4778         </parameter>
4779         <parameter name="c_handler"
4780                    transfer-ownership="none"
4781                    scope="call"
4782                    closure="3">
4783           <type name="Callback" c:type="GCallback"/>
4784         </parameter>
4785         <parameter name="data" transfer-ownership="none">
4786           <type name="any" c:type="gpointer"/>
4787         </parameter>
4788         <parameter name="destroy_data" transfer-ownership="none" scope="call">
4789           <type name="ClosureNotify" c:type="GClosureNotify"/>
4790         </parameter>
4791         <parameter name="connect_flags" transfer-ownership="none">
4792           <type name="ConnectFlags" c:type="GConnectFlags"/>
4793         </parameter>
4794       </parameters>
4795     </function>
4796     <function name="signal_connect_object"
4797               c:identifier="g_signal_connect_object">
4798       <return-value transfer-ownership="none">
4799         <type name="ulong" c:type="gulong"/>
4800       </return-value>
4801       <parameters>
4802         <parameter name="instance" transfer-ownership="none">
4803           <type name="any" c:type="gpointer"/>
4804         </parameter>
4805         <parameter name="detailed_signal" transfer-ownership="none">
4806           <type name="utf8" c:type="gchar*"/>
4807         </parameter>
4808         <parameter name="c_handler" transfer-ownership="none" scope="call">
4809           <type name="Callback" c:type="GCallback"/>
4810         </parameter>
4811         <parameter name="gobject" transfer-ownership="none">
4812           <type name="any" c:type="gpointer"/>
4813         </parameter>
4814         <parameter name="connect_flags" transfer-ownership="none">
4815           <type name="ConnectFlags" c:type="GConnectFlags"/>
4816         </parameter>
4817       </parameters>
4818     </function>
4819     <function name="signal_emit"
4820               c:identifier="g_signal_emit"
4821               introspectable="0">
4822       <return-value transfer-ownership="none">
4823         <type name="none" c:type="void"/>
4824       </return-value>
4825       <parameters>
4826         <parameter name="instance" transfer-ownership="none">
4827           <type name="any" c:type="gpointer"/>
4828         </parameter>
4829         <parameter name="signal_id" transfer-ownership="none">
4830           <type name="uint" c:type="guint"/>
4831         </parameter>
4832         <parameter name="detail" transfer-ownership="none">
4833           <type name="GLib.Quark" c:type="GQuark"/>
4834         </parameter>
4835         <parameter transfer-ownership="none">
4836           <varargs>
4837           </varargs>
4838         </parameter>
4839       </parameters>
4840     </function>
4841     <function name="signal_emit_by_name"
4842               c:identifier="g_signal_emit_by_name"
4843               introspectable="0">
4844       <return-value transfer-ownership="none">
4845         <type name="none" c:type="void"/>
4846       </return-value>
4847       <parameters>
4848         <parameter name="instance" transfer-ownership="none">
4849           <type name="any" c:type="gpointer"/>
4850         </parameter>
4851         <parameter name="detailed_signal" transfer-ownership="none">
4852           <type name="utf8" c:type="gchar*"/>
4853         </parameter>
4854         <parameter transfer-ownership="none">
4855           <varargs>
4856           </varargs>
4857         </parameter>
4858       </parameters>
4859     </function>
4860     <function name="signal_emitv" c:identifier="g_signal_emitv">
4861       <return-value transfer-ownership="none">
4862         <type name="none" c:type="void"/>
4863       </return-value>
4864       <parameters>
4865         <parameter name="instance_and_params" transfer-ownership="none">
4866           <type name="Value" c:type="GValue*"/>
4867         </parameter>
4868         <parameter name="signal_id" transfer-ownership="none">
4869           <type name="uint" c:type="guint"/>
4870         </parameter>
4871         <parameter name="detail" transfer-ownership="none">
4872           <type name="GLib.Quark" c:type="GQuark"/>
4873         </parameter>
4874         <parameter name="return_value" transfer-ownership="none">
4875           <type name="Value" c:type="GValue*"/>
4876         </parameter>
4877       </parameters>
4878     </function>
4879     <function name="signal_get_invocation_hint"
4880               c:identifier="g_signal_get_invocation_hint">
4881       <return-value transfer-ownership="full">
4882         <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
4883       </return-value>
4884       <parameters>
4885         <parameter name="instance" transfer-ownership="none">
4886           <type name="any" c:type="gpointer"/>
4887         </parameter>
4888       </parameters>
4889     </function>
4890     <function name="signal_handler_block"
4891               c:identifier="g_signal_handler_block">
4892       <return-value transfer-ownership="none">
4893         <type name="none" c:type="void"/>
4894       </return-value>
4895       <parameters>
4896         <parameter name="instance" transfer-ownership="none">
4897           <type name="any" c:type="gpointer"/>
4898         </parameter>
4899         <parameter name="handler_id" transfer-ownership="none">
4900           <type name="ulong" c:type="gulong"/>
4901         </parameter>
4902       </parameters>
4903     </function>
4904     <function name="signal_handler_disconnect"
4905               c:identifier="g_signal_handler_disconnect">
4906       <return-value transfer-ownership="none">
4907         <type name="none" c:type="void"/>
4908       </return-value>
4909       <parameters>
4910         <parameter name="instance" transfer-ownership="none">
4911           <type name="any" c:type="gpointer"/>
4912         </parameter>
4913         <parameter name="handler_id" transfer-ownership="none">
4914           <type name="ulong" c:type="gulong"/>
4915         </parameter>
4916       </parameters>
4917     </function>
4918     <function name="signal_handler_find" c:identifier="g_signal_handler_find">
4919       <return-value transfer-ownership="none">
4920         <type name="ulong" c:type="gulong"/>
4921       </return-value>
4922       <parameters>
4923         <parameter name="instance" transfer-ownership="none">
4924           <type name="any" c:type="gpointer"/>
4925         </parameter>
4926         <parameter name="mask" transfer-ownership="none">
4927           <type name="SignalMatchType" c:type="GSignalMatchType"/>
4928         </parameter>
4929         <parameter name="signal_id" transfer-ownership="none">
4930           <type name="uint" c:type="guint"/>
4931         </parameter>
4932         <parameter name="detail" transfer-ownership="none">
4933           <type name="GLib.Quark" c:type="GQuark"/>
4934         </parameter>
4935         <parameter name="closure" transfer-ownership="none">
4936           <type name="Closure" c:type="GClosure*"/>
4937         </parameter>
4938         <parameter name="func" transfer-ownership="none">
4939           <type name="any" c:type="gpointer"/>
4940         </parameter>
4941         <parameter name="data" transfer-ownership="none">
4942           <type name="any" c:type="gpointer"/>
4943         </parameter>
4944       </parameters>
4945     </function>
4946     <function name="signal_handler_is_connected"
4947               c:identifier="g_signal_handler_is_connected">
4948       <return-value transfer-ownership="none">
4949         <type name="boolean" c:type="gboolean"/>
4950       </return-value>
4951       <parameters>
4952         <parameter name="instance" transfer-ownership="none">
4953           <type name="any" c:type="gpointer"/>
4954         </parameter>
4955         <parameter name="handler_id" transfer-ownership="none">
4956           <type name="ulong" c:type="gulong"/>
4957         </parameter>
4958       </parameters>
4959     </function>
4960     <function name="signal_handler_unblock"
4961               c:identifier="g_signal_handler_unblock">
4962       <return-value transfer-ownership="none">
4963         <type name="none" c:type="void"/>
4964       </return-value>
4965       <parameters>
4966         <parameter name="instance" transfer-ownership="none">
4967           <type name="any" c:type="gpointer"/>
4968         </parameter>
4969         <parameter name="handler_id" transfer-ownership="none">
4970           <type name="ulong" c:type="gulong"/>
4971         </parameter>
4972       </parameters>
4973     </function>
4974     <function name="signal_handlers_block_matched"
4975               c:identifier="g_signal_handlers_block_matched">
4976       <return-value transfer-ownership="none">
4977         <type name="uint" c:type="guint"/>
4978       </return-value>
4979       <parameters>
4980         <parameter name="instance" transfer-ownership="none">
4981           <type name="any" c:type="gpointer"/>
4982         </parameter>
4983         <parameter name="mask" transfer-ownership="none">
4984           <type name="SignalMatchType" c:type="GSignalMatchType"/>
4985         </parameter>
4986         <parameter name="signal_id" transfer-ownership="none">
4987           <type name="uint" c:type="guint"/>
4988         </parameter>
4989         <parameter name="detail" transfer-ownership="none">
4990           <type name="GLib.Quark" c:type="GQuark"/>
4991         </parameter>
4992         <parameter name="closure" transfer-ownership="none">
4993           <type name="Closure" c:type="GClosure*"/>
4994         </parameter>
4995         <parameter name="func" transfer-ownership="none">
4996           <type name="any" c:type="gpointer"/>
4997         </parameter>
4998         <parameter name="data" transfer-ownership="none">
4999           <type name="any" c:type="gpointer"/>
5000         </parameter>
5001       </parameters>
5002     </function>
5003     <function name="signal_handlers_destroy"
5004               c:identifier="g_signal_handlers_destroy">
5005       <return-value transfer-ownership="none">
5006         <type name="none" c:type="void"/>
5007       </return-value>
5008       <parameters>
5009         <parameter name="instance" transfer-ownership="none">
5010           <type name="any" c:type="gpointer"/>
5011         </parameter>
5012       </parameters>
5013     </function>
5014     <function name="signal_handlers_disconnect_matched"
5015               c:identifier="g_signal_handlers_disconnect_matched">
5016       <return-value transfer-ownership="none">
5017         <type name="uint" c:type="guint"/>
5018       </return-value>
5019       <parameters>
5020         <parameter name="instance" transfer-ownership="none">
5021           <type name="any" c:type="gpointer"/>
5022         </parameter>
5023         <parameter name="mask" transfer-ownership="none">
5024           <type name="SignalMatchType" c:type="GSignalMatchType"/>
5025         </parameter>
5026         <parameter name="signal_id" transfer-ownership="none">
5027           <type name="uint" c:type="guint"/>
5028         </parameter>
5029         <parameter name="detail" transfer-ownership="none">
5030           <type name="GLib.Quark" c:type="GQuark"/>
5031         </parameter>
5032         <parameter name="closure" transfer-ownership="none">
5033           <type name="Closure" c:type="GClosure*"/>
5034         </parameter>
5035         <parameter name="func" transfer-ownership="none">
5036           <type name="any" c:type="gpointer"/>
5037         </parameter>
5038         <parameter name="data" transfer-ownership="none">
5039           <type name="any" c:type="gpointer"/>
5040         </parameter>
5041       </parameters>
5042     </function>
5043     <function name="signal_handlers_unblock_matched"
5044               c:identifier="g_signal_handlers_unblock_matched">
5045       <return-value transfer-ownership="none">
5046         <type name="uint" c:type="guint"/>
5047       </return-value>
5048       <parameters>
5049         <parameter name="instance" transfer-ownership="none">
5050           <type name="any" c:type="gpointer"/>
5051         </parameter>
5052         <parameter name="mask" transfer-ownership="none">
5053           <type name="SignalMatchType" c:type="GSignalMatchType"/>
5054         </parameter>
5055         <parameter name="signal_id" transfer-ownership="none">
5056           <type name="uint" c:type="guint"/>
5057         </parameter>
5058         <parameter name="detail" transfer-ownership="none">
5059           <type name="GLib.Quark" c:type="GQuark"/>
5060         </parameter>
5061         <parameter name="closure" transfer-ownership="none">
5062           <type name="Closure" c:type="GClosure*"/>
5063         </parameter>
5064         <parameter name="func" transfer-ownership="none">
5065           <type name="any" c:type="gpointer"/>
5066         </parameter>
5067         <parameter name="data" transfer-ownership="none">
5068           <type name="any" c:type="gpointer"/>
5069         </parameter>
5070       </parameters>
5071     </function>
5072     <function name="signal_has_handler_pending"
5073               c:identifier="g_signal_has_handler_pending">
5074       <return-value transfer-ownership="none">
5075         <type name="boolean" c:type="gboolean"/>
5076       </return-value>
5077       <parameters>
5078         <parameter name="instance" transfer-ownership="none">
5079           <type name="any" c:type="gpointer"/>
5080         </parameter>
5081         <parameter name="signal_id" transfer-ownership="none">
5082           <type name="uint" c:type="guint"/>
5083         </parameter>
5084         <parameter name="detail" transfer-ownership="none">
5085           <type name="GLib.Quark" c:type="GQuark"/>
5086         </parameter>
5087         <parameter name="may_be_blocked" transfer-ownership="none">
5088           <type name="boolean" c:type="gboolean"/>
5089         </parameter>
5090       </parameters>
5091     </function>
5092     <function name="signal_init" c:identifier="g_signal_init">
5093       <return-value transfer-ownership="none">
5094         <type name="none" c:type="void"/>
5095       </return-value>
5096     </function>
5097     <function name="signal_list_ids" c:identifier="g_signal_list_ids">
5098       <return-value transfer-ownership="full">
5099         <type name="uint" c:type="guint*"/>
5100       </return-value>
5101       <parameters>
5102         <parameter name="itype" transfer-ownership="none">
5103           <type name="GType" c:type="GType"/>
5104         </parameter>
5105         <parameter name="n_ids"
5106                    direction="out"
5107                    caller-allocates="0"
5108                    transfer-ownership="full">
5109           <type name="uint" c:type="guint*"/>
5110         </parameter>
5111       </parameters>
5112     </function>
5113     <function name="signal_lookup" c:identifier="g_signal_lookup">
5114       <return-value transfer-ownership="none">
5115         <type name="uint" c:type="guint"/>
5116       </return-value>
5117       <parameters>
5118         <parameter name="name" transfer-ownership="none">
5119           <type name="utf8" c:type="gchar*"/>
5120         </parameter>
5121         <parameter name="itype" transfer-ownership="none">
5122           <type name="GType" c:type="GType"/>
5123         </parameter>
5124       </parameters>
5125     </function>
5126     <function name="signal_name" c:identifier="g_signal_name">
5127       <return-value transfer-ownership="none">
5128         <type name="utf8" c:type="gchar*"/>
5129       </return-value>
5130       <parameters>
5131         <parameter name="signal_id" transfer-ownership="none">
5132           <type name="uint" c:type="guint"/>
5133         </parameter>
5134       </parameters>
5135     </function>
5136     <function name="signal_new" c:identifier="g_signal_new" introspectable="0">
5137       <return-value transfer-ownership="none">
5138         <type name="uint" c:type="guint"/>
5139       </return-value>
5140       <parameters>
5141         <parameter name="signal_name" transfer-ownership="none">
5142           <type name="utf8" c:type="gchar*"/>
5143         </parameter>
5144         <parameter name="itype" transfer-ownership="none">
5145           <type name="GType" c:type="GType"/>
5146         </parameter>
5147         <parameter name="signal_flags" transfer-ownership="none">
5148           <type name="SignalFlags" c:type="GSignalFlags"/>
5149         </parameter>
5150         <parameter name="class_offset" transfer-ownership="none">
5151           <type name="uint" c:type="guint"/>
5152         </parameter>
5153         <parameter name="accumulator"
5154                    transfer-ownership="none"
5155                    scope="call"
5156                    closure="5">
5157           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
5158         </parameter>
5159         <parameter name="accu_data" transfer-ownership="none">
5160           <type name="any" c:type="gpointer"/>
5161         </parameter>
5162         <parameter name="c_marshaller" transfer-ownership="none">
5163           <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
5164         </parameter>
5165         <parameter name="return_type" transfer-ownership="none">
5166           <type name="GType" c:type="GType"/>
5167         </parameter>
5168         <parameter name="n_params" transfer-ownership="none">
5169           <type name="uint" c:type="guint"/>
5170         </parameter>
5171         <parameter transfer-ownership="none">
5172           <varargs>
5173           </varargs>
5174         </parameter>
5175       </parameters>
5176     </function>
5177     <function name="signal_new_class_handler"
5178               c:identifier="g_signal_new_class_handler"
5179               introspectable="0">
5180       <return-value transfer-ownership="none">
5181         <type name="uint" c:type="guint"/>
5182       </return-value>
5183       <parameters>
5184         <parameter name="signal_name" transfer-ownership="none">
5185           <type name="utf8" c:type="gchar*"/>
5186         </parameter>
5187         <parameter name="itype" transfer-ownership="none">
5188           <type name="GType" c:type="GType"/>
5189         </parameter>
5190         <parameter name="signal_flags" transfer-ownership="none">
5191           <type name="SignalFlags" c:type="GSignalFlags"/>
5192         </parameter>
5193         <parameter name="class_handler" transfer-ownership="none" scope="call">
5194           <type name="Callback" c:type="GCallback"/>
5195         </parameter>
5196         <parameter name="accumulator"
5197                    transfer-ownership="none"
5198                    scope="call"
5199                    closure="5">
5200           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
5201         </parameter>
5202         <parameter name="accu_data" transfer-ownership="none">
5203           <type name="any" c:type="gpointer"/>
5204         </parameter>
5205         <parameter name="c_marshaller" transfer-ownership="none">
5206           <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
5207         </parameter>
5208         <parameter name="return_type" transfer-ownership="none">
5209           <type name="GType" c:type="GType"/>
5210         </parameter>
5211         <parameter name="n_params" transfer-ownership="none">
5212           <type name="uint" c:type="guint"/>
5213         </parameter>
5214         <parameter transfer-ownership="none">
5215           <varargs>
5216           </varargs>
5217         </parameter>
5218       </parameters>
5219     </function>
5220     <function name="signal_newv" c:identifier="g_signal_newv">
5221       <return-value transfer-ownership="none">
5222         <type name="uint" c:type="guint"/>
5223       </return-value>
5224       <parameters>
5225         <parameter name="signal_name" transfer-ownership="none">
5226           <type name="utf8" c:type="gchar*"/>
5227         </parameter>
5228         <parameter name="itype" transfer-ownership="none">
5229           <type name="GType" c:type="GType"/>
5230         </parameter>
5231         <parameter name="signal_flags" transfer-ownership="none">
5232           <type name="SignalFlags" c:type="GSignalFlags"/>
5233         </parameter>
5234         <parameter name="class_closure" transfer-ownership="none">
5235           <type name="Closure" c:type="GClosure*"/>
5236         </parameter>
5237         <parameter name="accumulator"
5238                    transfer-ownership="none"
5239                    scope="call"
5240                    closure="5">
5241           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
5242         </parameter>
5243         <parameter name="accu_data" transfer-ownership="none">
5244           <type name="any" c:type="gpointer"/>
5245         </parameter>
5246         <parameter name="c_marshaller" transfer-ownership="none">
5247           <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
5248         </parameter>
5249         <parameter name="return_type" transfer-ownership="none">
5250           <type name="GType" c:type="GType"/>
5251         </parameter>
5252         <parameter name="n_params" transfer-ownership="none">
5253           <type name="uint" c:type="guint"/>
5254         </parameter>
5255         <parameter name="param_types"
5256                    direction="out"
5257                    caller-allocates="0"
5258                    transfer-ownership="full">
5259           <type name="GType" c:type="GType*"/>
5260         </parameter>
5261       </parameters>
5262     </function>
5263     <function name="signal_override_class_closure"
5264               c:identifier="g_signal_override_class_closure">
5265       <return-value transfer-ownership="none">
5266         <type name="none" c:type="void"/>
5267       </return-value>
5268       <parameters>
5269         <parameter name="signal_id" transfer-ownership="none">
5270           <type name="uint" c:type="guint"/>
5271         </parameter>
5272         <parameter name="instance_type" transfer-ownership="none">
5273           <type name="GType" c:type="GType"/>
5274         </parameter>
5275         <parameter name="class_closure" transfer-ownership="none">
5276           <type name="Closure" c:type="GClosure*"/>
5277         </parameter>
5278       </parameters>
5279     </function>
5280     <function name="signal_override_class_handler"
5281               c:identifier="g_signal_override_class_handler">
5282       <return-value transfer-ownership="none">
5283         <type name="none" c:type="void"/>
5284       </return-value>
5285       <parameters>
5286         <parameter name="signal_name" transfer-ownership="none">
5287           <type name="utf8" c:type="gchar*"/>
5288         </parameter>
5289         <parameter name="instance_type" transfer-ownership="none">
5290           <type name="GType" c:type="GType"/>
5291         </parameter>
5292         <parameter name="class_handler" transfer-ownership="none" scope="call">
5293           <type name="Callback" c:type="GCallback"/>
5294         </parameter>
5295       </parameters>
5296     </function>
5297     <function name="signal_parse_name" c:identifier="g_signal_parse_name">
5298       <return-value transfer-ownership="none">
5299         <type name="boolean" c:type="gboolean"/>
5300       </return-value>
5301       <parameters>
5302         <parameter name="detailed_signal" transfer-ownership="none">
5303           <type name="utf8" c:type="gchar*"/>
5304         </parameter>
5305         <parameter name="itype" transfer-ownership="none">
5306           <type name="GType" c:type="GType"/>
5307         </parameter>
5308         <parameter name="signal_id_p"
5309                    direction="out"
5310                    caller-allocates="0"
5311                    transfer-ownership="full">
5312           <type name="uint" c:type="guint*"/>
5313         </parameter>
5314         <parameter name="detail_p" transfer-ownership="none">
5315           <type name="GLib.Quark" c:type="GQuark*"/>
5316         </parameter>
5317         <parameter name="force_detail_quark" transfer-ownership="none">
5318           <type name="boolean" c:type="gboolean"/>
5319         </parameter>
5320       </parameters>
5321     </function>
5322     <function name="signal_query" c:identifier="g_signal_query">
5323       <return-value transfer-ownership="none">
5324         <type name="none" c:type="void"/>
5325       </return-value>
5326       <parameters>
5327         <parameter name="signal_id" transfer-ownership="none">
5328           <type name="uint" c:type="guint"/>
5329         </parameter>
5330         <parameter name="query" transfer-ownership="none">
5331           <type name="SignalQuery" c:type="GSignalQuery*"/>
5332         </parameter>
5333       </parameters>
5334     </function>
5335     <function name="signal_remove_emission_hook"
5336               c:identifier="g_signal_remove_emission_hook">
5337       <return-value transfer-ownership="none">
5338         <type name="none" c:type="void"/>
5339       </return-value>
5340       <parameters>
5341         <parameter name="signal_id" transfer-ownership="none">
5342           <type name="uint" c:type="guint"/>
5343         </parameter>
5344         <parameter name="hook_id" transfer-ownership="none">
5345           <type name="ulong" c:type="gulong"/>
5346         </parameter>
5347       </parameters>
5348     </function>
5349     <function name="signal_stop_emission"
5350               c:identifier="g_signal_stop_emission">
5351       <return-value transfer-ownership="none">
5352         <type name="none" c:type="void"/>
5353       </return-value>
5354       <parameters>
5355         <parameter name="instance" transfer-ownership="none">
5356           <type name="any" c:type="gpointer"/>
5357         </parameter>
5358         <parameter name="signal_id" transfer-ownership="none">
5359           <type name="uint" c:type="guint"/>
5360         </parameter>
5361         <parameter name="detail" transfer-ownership="none">
5362           <type name="GLib.Quark" c:type="GQuark"/>
5363         </parameter>
5364       </parameters>
5365     </function>
5366     <function name="signal_stop_emission_by_name"
5367               c:identifier="g_signal_stop_emission_by_name">
5368       <return-value transfer-ownership="none">
5369         <type name="none" c:type="void"/>
5370       </return-value>
5371       <parameters>
5372         <parameter name="instance" transfer-ownership="none">
5373           <type name="any" c:type="gpointer"/>
5374         </parameter>
5375         <parameter name="detailed_signal" transfer-ownership="none">
5376           <type name="utf8" c:type="gchar*"/>
5377         </parameter>
5378       </parameters>
5379     </function>
5380     <function name="signal_type_cclosure_new"
5381               c:identifier="g_signal_type_cclosure_new">
5382       <return-value transfer-ownership="full">
5383         <type name="Closure" c:type="GClosure*"/>
5384       </return-value>
5385       <parameters>
5386         <parameter name="itype" transfer-ownership="none">
5387           <type name="GType" c:type="GType"/>
5388         </parameter>
5389         <parameter name="struct_offset" transfer-ownership="none">
5390           <type name="uint" c:type="guint"/>
5391         </parameter>
5392       </parameters>
5393     </function>
5394     <function name="source_set_closure" c:identifier="g_source_set_closure">
5395       <return-value transfer-ownership="none">
5396         <type name="none" c:type="void"/>
5397       </return-value>
5398       <parameters>
5399         <parameter name="source" transfer-ownership="none">
5400           <type name="GLib.Source" c:type="GSource*"/>
5401         </parameter>
5402         <parameter name="closure" transfer-ownership="none">
5403           <type name="Closure" c:type="GClosure*"/>
5404         </parameter>
5405       </parameters>
5406     </function>
5407     <function name="strdup_value_contents"
5408               c:identifier="g_strdup_value_contents">
5409       <return-value transfer-ownership="full">
5410         <type name="utf8" c:type="gchar*"/>
5411       </return-value>
5412       <parameters>
5413         <parameter name="value" transfer-ownership="none">
5414           <type name="Value" c:type="GValue*"/>
5415         </parameter>
5416       </parameters>
5417     </function>
5418     <function name="type_add_class_cache_func"
5419               c:identifier="g_type_add_class_cache_func">
5420       <return-value transfer-ownership="none">
5421         <type name="none" c:type="void"/>
5422       </return-value>
5423       <parameters>
5424         <parameter name="cache_data" transfer-ownership="none">
5425           <type name="any" c:type="gpointer"/>
5426         </parameter>
5427         <parameter name="cache_func" transfer-ownership="none" scope="call">
5428           <type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
5429         </parameter>
5430       </parameters>
5431     </function>
5432     <function name="type_add_class_private"
5433               c:identifier="g_type_add_class_private">
5434       <return-value transfer-ownership="none">
5435         <type name="none" c:type="void"/>
5436       </return-value>
5437       <parameters>
5438         <parameter name="class_type" transfer-ownership="none">
5439           <type name="GType" c:type="GType"/>
5440         </parameter>
5441         <parameter name="private_size" transfer-ownership="none">
5442           <type name="gsize" c:type="gsize"/>
5443         </parameter>
5444       </parameters>
5445     </function>
5446     <function name="type_add_interface_check"
5447               c:identifier="g_type_add_interface_check">
5448       <return-value transfer-ownership="none">
5449         <type name="none" c:type="void"/>
5450       </return-value>
5451       <parameters>
5452         <parameter name="check_data" transfer-ownership="none">
5453           <type name="any" c:type="gpointer"/>
5454         </parameter>
5455         <parameter name="check_func" transfer-ownership="none" scope="call">
5456           <type name="TypeInterfaceCheckFunc"
5457                 c:type="GTypeInterfaceCheckFunc"/>
5458         </parameter>
5459       </parameters>
5460     </function>
5461     <function name="type_add_interface_dynamic"
5462               c:identifier="g_type_add_interface_dynamic">
5463       <return-value transfer-ownership="none">
5464         <type name="none" c:type="void"/>
5465       </return-value>
5466       <parameters>
5467         <parameter name="instance_type" transfer-ownership="none">
5468           <type name="GType" c:type="GType"/>
5469         </parameter>
5470         <parameter name="interface_type" transfer-ownership="none">
5471           <type name="GType" c:type="GType"/>
5472         </parameter>
5473         <parameter name="plugin" transfer-ownership="none">
5474           <type name="TypePlugin" c:type="GTypePlugin*"/>
5475         </parameter>
5476       </parameters>
5477     </function>
5478     <function name="type_add_interface_static"
5479               c:identifier="g_type_add_interface_static">
5480       <return-value transfer-ownership="none">
5481         <type name="none" c:type="void"/>
5482       </return-value>
5483       <parameters>
5484         <parameter name="instance_type" transfer-ownership="none">
5485           <type name="GType" c:type="GType"/>
5486         </parameter>
5487         <parameter name="interface_type" transfer-ownership="none">
5488           <type name="GType" c:type="GType"/>
5489         </parameter>
5490         <parameter name="info" transfer-ownership="none">
5491           <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
5492         </parameter>
5493       </parameters>
5494     </function>
5495     <function name="type_check_class_cast"
5496               c:identifier="g_type_check_class_cast">
5497       <return-value transfer-ownership="full">
5498         <type name="TypeClass" c:type="GTypeClass*"/>
5499       </return-value>
5500       <parameters>
5501         <parameter name="g_class" transfer-ownership="none">
5502           <type name="TypeClass" c:type="GTypeClass*"/>
5503         </parameter>
5504         <parameter name="is_a_type" transfer-ownership="none">
5505           <type name="GType" c:type="GType"/>
5506         </parameter>
5507       </parameters>
5508     </function>
5509     <function name="type_check_class_is_a"
5510               c:identifier="g_type_check_class_is_a">
5511       <return-value transfer-ownership="none">
5512         <type name="boolean" c:type="gboolean"/>
5513       </return-value>
5514       <parameters>
5515         <parameter name="g_class" transfer-ownership="none">
5516           <type name="TypeClass" c:type="GTypeClass*"/>
5517         </parameter>
5518         <parameter name="is_a_type" transfer-ownership="none">
5519           <type name="GType" c:type="GType"/>
5520         </parameter>
5521       </parameters>
5522     </function>
5523     <function name="type_check_instance" c:identifier="g_type_check_instance">
5524       <return-value transfer-ownership="none">
5525         <type name="boolean" c:type="gboolean"/>
5526       </return-value>
5527       <parameters>
5528         <parameter name="instance" transfer-ownership="none">
5529           <type name="TypeInstance" c:type="GTypeInstance*"/>
5530         </parameter>
5531       </parameters>
5532     </function>
5533     <function name="type_check_instance_cast"
5534               c:identifier="g_type_check_instance_cast">
5535       <return-value transfer-ownership="full">
5536         <type name="TypeInstance" c:type="GTypeInstance*"/>
5537       </return-value>
5538       <parameters>
5539         <parameter name="instance" transfer-ownership="none">
5540           <type name="TypeInstance" c:type="GTypeInstance*"/>
5541         </parameter>
5542         <parameter name="iface_type" transfer-ownership="none">
5543           <type name="GType" c:type="GType"/>
5544         </parameter>
5545       </parameters>
5546     </function>
5547     <function name="type_check_instance_is_a"
5548               c:identifier="g_type_check_instance_is_a">
5549       <return-value transfer-ownership="none">
5550         <type name="boolean" c:type="gboolean"/>
5551       </return-value>
5552       <parameters>
5553         <parameter name="instance" transfer-ownership="none">
5554           <type name="TypeInstance" c:type="GTypeInstance*"/>
5555         </parameter>
5556         <parameter name="iface_type" transfer-ownership="none">
5557           <type name="GType" c:type="GType"/>
5558         </parameter>
5559       </parameters>
5560     </function>
5561     <function name="type_check_is_value_type"
5562               c:identifier="g_type_check_is_value_type">
5563       <return-value transfer-ownership="none">
5564         <type name="boolean" c:type="gboolean"/>
5565       </return-value>
5566       <parameters>
5567         <parameter name="type" transfer-ownership="none">
5568           <type name="GType" c:type="GType"/>
5569         </parameter>
5570       </parameters>
5571     </function>
5572     <function name="type_check_value" c:identifier="g_type_check_value">
5573       <return-value transfer-ownership="none">
5574         <type name="boolean" c:type="gboolean"/>
5575       </return-value>
5576       <parameters>
5577         <parameter name="value" transfer-ownership="none">
5578           <type name="Value" c:type="GValue*"/>
5579         </parameter>
5580       </parameters>
5581     </function>
5582     <function name="type_check_value_holds"
5583               c:identifier="g_type_check_value_holds">
5584       <return-value transfer-ownership="none">
5585         <type name="boolean" c:type="gboolean"/>
5586       </return-value>
5587       <parameters>
5588         <parameter name="value" transfer-ownership="none">
5589           <type name="Value" c:type="GValue*"/>
5590         </parameter>
5591         <parameter name="type" transfer-ownership="none">
5592           <type name="GType" c:type="GType"/>
5593         </parameter>
5594       </parameters>
5595     </function>
5596     <function name="type_children" c:identifier="g_type_children">
5597       <return-value transfer-ownership="full">
5598         <type name="GType" c:type="GType*"/>
5599       </return-value>
5600       <parameters>
5601         <parameter name="type" transfer-ownership="none">
5602           <type name="GType" c:type="GType"/>
5603         </parameter>
5604         <parameter name="n_children"
5605                    direction="out"
5606                    caller-allocates="0"
5607                    transfer-ownership="full">
5608           <type name="uint" c:type="guint*"/>
5609         </parameter>
5610       </parameters>
5611     </function>
5612     <function name="type_class_add_private"
5613               c:identifier="g_type_class_add_private">
5614       <return-value transfer-ownership="none">
5615         <type name="none" c:type="void"/>
5616       </return-value>
5617       <parameters>
5618         <parameter name="g_class" transfer-ownership="none">
5619           <type name="any" c:type="gpointer"/>
5620         </parameter>
5621         <parameter name="private_size" transfer-ownership="none">
5622           <type name="gsize" c:type="gsize"/>
5623         </parameter>
5624       </parameters>
5625     </function>
5626     <function name="type_class_peek" c:identifier="g_type_class_peek">
5627       <return-value transfer-ownership="none">
5628         <type name="any" c:type="gpointer"/>
5629       </return-value>
5630       <parameters>
5631         <parameter name="type" transfer-ownership="none">
5632           <type name="GType" c:type="GType"/>
5633         </parameter>
5634       </parameters>
5635     </function>
5636     <function name="type_class_peek_parent"
5637               c:identifier="g_type_class_peek_parent">
5638       <return-value transfer-ownership="none">
5639         <type name="any" c:type="gpointer"/>
5640       </return-value>
5641       <parameters>
5642         <parameter name="g_class" transfer-ownership="none">
5643           <type name="any" c:type="gpointer"/>
5644         </parameter>
5645       </parameters>
5646     </function>
5647     <function name="type_class_peek_static"
5648               c:identifier="g_type_class_peek_static">
5649       <return-value transfer-ownership="none">
5650         <type name="any" c:type="gpointer"/>
5651       </return-value>
5652       <parameters>
5653         <parameter name="type" transfer-ownership="none">
5654           <type name="GType" c:type="GType"/>
5655         </parameter>
5656       </parameters>
5657     </function>
5658     <function name="type_class_ref" c:identifier="g_type_class_ref">
5659       <return-value transfer-ownership="none">
5660         <type name="any" c:type="gpointer"/>
5661       </return-value>
5662       <parameters>
5663         <parameter name="type" transfer-ownership="none">
5664           <type name="GType" c:type="GType"/>
5665         </parameter>
5666       </parameters>
5667     </function>
5668     <function name="type_class_unref" c:identifier="g_type_class_unref">
5669       <return-value transfer-ownership="none">
5670         <type name="none" c:type="void"/>
5671       </return-value>
5672       <parameters>
5673         <parameter name="g_class" transfer-ownership="none">
5674           <type name="any" c:type="gpointer"/>
5675         </parameter>
5676       </parameters>
5677     </function>
5678     <function name="type_class_unref_uncached"
5679               c:identifier="g_type_class_unref_uncached">
5680       <return-value transfer-ownership="none">
5681         <type name="none" c:type="void"/>
5682       </return-value>
5683       <parameters>
5684         <parameter name="g_class" transfer-ownership="none">
5685           <type name="any" c:type="gpointer"/>
5686         </parameter>
5687       </parameters>
5688     </function>
5689     <function name="type_create_instance"
5690               c:identifier="g_type_create_instance">
5691       <return-value transfer-ownership="full">
5692         <type name="TypeInstance" c:type="GTypeInstance*"/>
5693       </return-value>
5694       <parameters>
5695         <parameter name="type" transfer-ownership="none">
5696           <type name="GType" c:type="GType"/>
5697         </parameter>
5698       </parameters>
5699     </function>
5700     <function name="type_default_interface_peek"
5701               c:identifier="g_type_default_interface_peek">
5702       <return-value transfer-ownership="none">
5703         <type name="any" c:type="gpointer"/>
5704       </return-value>
5705       <parameters>
5706         <parameter name="g_type" transfer-ownership="none">
5707           <type name="GType" c:type="GType"/>
5708         </parameter>
5709       </parameters>
5710     </function>
5711     <function name="type_default_interface_ref"
5712               c:identifier="g_type_default_interface_ref">
5713       <return-value transfer-ownership="none">
5714         <type name="any" c:type="gpointer"/>
5715       </return-value>
5716       <parameters>
5717         <parameter name="g_type" transfer-ownership="none">
5718           <type name="GType" c:type="GType"/>
5719         </parameter>
5720       </parameters>
5721     </function>
5722     <function name="type_default_interface_unref"
5723               c:identifier="g_type_default_interface_unref">
5724       <return-value transfer-ownership="none">
5725         <type name="none" c:type="void"/>
5726       </return-value>
5727       <parameters>
5728         <parameter name="g_iface" transfer-ownership="none">
5729           <type name="any" c:type="gpointer"/>
5730         </parameter>
5731       </parameters>
5732     </function>
5733     <function name="type_depth" c:identifier="g_type_depth">
5734       <return-value transfer-ownership="none">
5735         <type name="uint" c:type="guint"/>
5736       </return-value>
5737       <parameters>
5738         <parameter name="type" transfer-ownership="none">
5739           <type name="GType" c:type="GType"/>
5740         </parameter>
5741       </parameters>
5742     </function>
5743     <function name="type_free_instance" c:identifier="g_type_free_instance">
5744       <return-value transfer-ownership="none">
5745         <type name="none" c:type="void"/>
5746       </return-value>
5747       <parameters>
5748         <parameter name="instance" transfer-ownership="none">
5749           <type name="TypeInstance" c:type="GTypeInstance*"/>
5750         </parameter>
5751       </parameters>
5752     </function>
5753     <function name="type_from_name" c:identifier="g_type_from_name">
5754       <return-value transfer-ownership="none">
5755         <type name="GType" c:type="GType"/>
5756       </return-value>
5757       <parameters>
5758         <parameter name="name" transfer-ownership="none">
5759           <type name="utf8" c:type="gchar*"/>
5760         </parameter>
5761       </parameters>
5762     </function>
5763     <function name="type_fundamental" c:identifier="g_type_fundamental">
5764       <return-value transfer-ownership="none">
5765         <type name="GType" c:type="GType"/>
5766       </return-value>
5767       <parameters>
5768         <parameter name="type_id" transfer-ownership="none">
5769           <type name="GType" c:type="GType"/>
5770         </parameter>
5771       </parameters>
5772     </function>
5773     <function name="type_fundamental_next"
5774               c:identifier="g_type_fundamental_next">
5775       <return-value transfer-ownership="none">
5776         <type name="GType" c:type="GType"/>
5777       </return-value>
5778     </function>
5779     <function name="type_get_plugin" c:identifier="g_type_get_plugin">
5780       <return-value transfer-ownership="full">
5781         <type name="TypePlugin" c:type="GTypePlugin*"/>
5782       </return-value>
5783       <parameters>
5784         <parameter name="type" transfer-ownership="none">
5785           <type name="GType" c:type="GType"/>
5786         </parameter>
5787       </parameters>
5788     </function>
5789     <function name="type_get_qdata" c:identifier="g_type_get_qdata">
5790       <return-value transfer-ownership="none">
5791         <type name="any" c:type="gpointer"/>
5792       </return-value>
5793       <parameters>
5794         <parameter name="type" transfer-ownership="none">
5795           <type name="GType" c:type="GType"/>
5796         </parameter>
5797         <parameter name="quark" transfer-ownership="none">
5798           <type name="GLib.Quark" c:type="GQuark"/>
5799         </parameter>
5800       </parameters>
5801     </function>
5802     <function name="type_init" c:identifier="g_type_init">
5803       <return-value transfer-ownership="none">
5804         <type name="none" c:type="void"/>
5805       </return-value>
5806     </function>
5807     <function name="type_init_with_debug_flags"
5808               c:identifier="g_type_init_with_debug_flags">
5809       <return-value transfer-ownership="none">
5810         <type name="none" c:type="void"/>
5811       </return-value>
5812       <parameters>
5813         <parameter name="debug_flags" transfer-ownership="none">
5814           <type name="TypeDebugFlags" c:type="GTypeDebugFlags"/>
5815         </parameter>
5816       </parameters>
5817     </function>
5818     <function name="type_interface_add_prerequisite"
5819               c:identifier="g_type_interface_add_prerequisite">
5820       <return-value transfer-ownership="none">
5821         <type name="none" c:type="void"/>
5822       </return-value>
5823       <parameters>
5824         <parameter name="interface_type" transfer-ownership="none">
5825           <type name="GType" c:type="GType"/>
5826         </parameter>
5827         <parameter name="prerequisite_type" transfer-ownership="none">
5828           <type name="GType" c:type="GType"/>
5829         </parameter>
5830       </parameters>
5831     </function>
5832     <function name="type_interface_get_plugin"
5833               c:identifier="g_type_interface_get_plugin">
5834       <return-value transfer-ownership="full">
5835         <type name="TypePlugin" c:type="GTypePlugin*"/>
5836       </return-value>
5837       <parameters>
5838         <parameter name="instance_type" transfer-ownership="none">
5839           <type name="GType" c:type="GType"/>
5840         </parameter>
5841         <parameter name="interface_type" transfer-ownership="none">
5842           <type name="GType" c:type="GType"/>
5843         </parameter>
5844       </parameters>
5845     </function>
5846     <function name="type_interface_peek" c:identifier="g_type_interface_peek">
5847       <return-value transfer-ownership="none">
5848         <type name="any" c:type="gpointer"/>
5849       </return-value>
5850       <parameters>
5851         <parameter name="instance_class" transfer-ownership="none">
5852           <type name="any" c:type="gpointer"/>
5853         </parameter>
5854         <parameter name="iface_type" transfer-ownership="none">
5855           <type name="GType" c:type="GType"/>
5856         </parameter>
5857       </parameters>
5858     </function>
5859     <function name="type_interface_peek_parent"
5860               c:identifier="g_type_interface_peek_parent">
5861       <return-value transfer-ownership="none">
5862         <type name="any" c:type="gpointer"/>
5863       </return-value>
5864       <parameters>
5865         <parameter name="g_iface" transfer-ownership="none">
5866           <type name="any" c:type="gpointer"/>
5867         </parameter>
5868       </parameters>
5869     </function>
5870     <function name="type_interface_prerequisites"
5871               c:identifier="g_type_interface_prerequisites">
5872       <return-value transfer-ownership="full">
5873         <type name="GType" c:type="GType*"/>
5874       </return-value>
5875       <parameters>
5876         <parameter name="interface_type" transfer-ownership="none">
5877           <type name="GType" c:type="GType"/>
5878         </parameter>
5879         <parameter name="n_prerequisites"
5880                    direction="out"
5881                    caller-allocates="0"
5882                    transfer-ownership="full">
5883           <type name="uint" c:type="guint*"/>
5884         </parameter>
5885       </parameters>
5886     </function>
5887     <function name="type_interfaces" c:identifier="g_type_interfaces">
5888       <return-value transfer-ownership="full">
5889         <type name="GType" c:type="GType*"/>
5890       </return-value>
5891       <parameters>
5892         <parameter name="type" transfer-ownership="none">
5893           <type name="GType" c:type="GType"/>
5894         </parameter>
5895         <parameter name="n_interfaces"
5896                    direction="out"
5897                    caller-allocates="0"
5898                    transfer-ownership="full">
5899           <type name="uint" c:type="guint*"/>
5900         </parameter>
5901       </parameters>
5902     </function>
5903     <function name="type_is_a" c:identifier="g_type_is_a">
5904       <return-value transfer-ownership="none">
5905         <type name="boolean" c:type="gboolean"/>
5906       </return-value>
5907       <parameters>
5908         <parameter name="type" transfer-ownership="none">
5909           <type name="GType" c:type="GType"/>
5910         </parameter>
5911         <parameter name="is_a_type" transfer-ownership="none">
5912           <type name="GType" c:type="GType"/>
5913         </parameter>
5914       </parameters>
5915     </function>
5916     <function name="type_name" c:identifier="g_type_name">
5917       <return-value transfer-ownership="none">
5918         <type name="utf8" c:type="gchar*"/>
5919       </return-value>
5920       <parameters>
5921         <parameter name="type" transfer-ownership="none">
5922           <type name="GType" c:type="GType"/>
5923         </parameter>
5924       </parameters>
5925     </function>
5926     <function name="type_name_from_class"
5927               c:identifier="g_type_name_from_class">
5928       <return-value transfer-ownership="none">
5929         <type name="utf8" c:type="gchar*"/>
5930       </return-value>
5931       <parameters>
5932         <parameter name="g_class" transfer-ownership="none">
5933           <type name="TypeClass" c:type="GTypeClass*"/>
5934         </parameter>
5935       </parameters>
5936     </function>
5937     <function name="type_name_from_instance"
5938               c:identifier="g_type_name_from_instance">
5939       <return-value transfer-ownership="none">
5940         <type name="utf8" c:type="gchar*"/>
5941       </return-value>
5942       <parameters>
5943         <parameter name="instance" transfer-ownership="none">
5944           <type name="TypeInstance" c:type="GTypeInstance*"/>
5945         </parameter>
5946       </parameters>
5947     </function>
5948     <function name="type_next_base" c:identifier="g_type_next_base">
5949       <return-value transfer-ownership="none">
5950         <type name="GType" c:type="GType"/>
5951       </return-value>
5952       <parameters>
5953         <parameter name="leaf_type" transfer-ownership="none">
5954           <type name="GType" c:type="GType"/>
5955         </parameter>
5956         <parameter name="root_type" transfer-ownership="none">
5957           <type name="GType" c:type="GType"/>
5958         </parameter>
5959       </parameters>
5960     </function>
5961     <function name="type_parent" c:identifier="g_type_parent">
5962       <return-value transfer-ownership="none">
5963         <type name="GType" c:type="GType"/>
5964       </return-value>
5965       <parameters>
5966         <parameter name="type" transfer-ownership="none">
5967           <type name="GType" c:type="GType"/>
5968         </parameter>
5969       </parameters>
5970     </function>
5971     <function name="type_qname" c:identifier="g_type_qname">
5972       <return-value transfer-ownership="full">
5973         <type name="GLib.Quark" c:type="GQuark"/>
5974       </return-value>
5975       <parameters>
5976         <parameter name="type" transfer-ownership="none">
5977           <type name="GType" c:type="GType"/>
5978         </parameter>
5979       </parameters>
5980     </function>
5981     <function name="type_query" c:identifier="g_type_query">
5982       <return-value transfer-ownership="none">
5983         <type name="none" c:type="void"/>
5984       </return-value>
5985       <parameters>
5986         <parameter name="type" transfer-ownership="none">
5987           <type name="GType" c:type="GType"/>
5988         </parameter>
5989         <parameter name="query" transfer-ownership="none">
5990           <type name="TypeQuery" c:type="GTypeQuery*"/>
5991         </parameter>
5992       </parameters>
5993     </function>
5994     <function name="type_register_dynamic"
5995               c:identifier="g_type_register_dynamic">
5996       <return-value transfer-ownership="none">
5997         <type name="GType" c:type="GType"/>
5998       </return-value>
5999       <parameters>
6000         <parameter name="parent_type" transfer-ownership="none">
6001           <type name="GType" c:type="GType"/>
6002         </parameter>
6003         <parameter name="type_name" transfer-ownership="none">
6004           <type name="utf8" c:type="gchar*"/>
6005         </parameter>
6006         <parameter name="plugin" transfer-ownership="none">
6007           <type name="TypePlugin" c:type="GTypePlugin*"/>
6008         </parameter>
6009         <parameter name="flags" transfer-ownership="none">
6010           <type name="TypeFlags" c:type="GTypeFlags"/>
6011         </parameter>
6012       </parameters>
6013     </function>
6014     <function name="type_register_fundamental"
6015               c:identifier="g_type_register_fundamental">
6016       <return-value transfer-ownership="none">
6017         <type name="GType" c:type="GType"/>
6018       </return-value>
6019       <parameters>
6020         <parameter name="type_id" transfer-ownership="none">
6021           <type name="GType" c:type="GType"/>
6022         </parameter>
6023         <parameter name="type_name" transfer-ownership="none">
6024           <type name="utf8" c:type="gchar*"/>
6025         </parameter>
6026         <parameter name="info" transfer-ownership="none">
6027           <type name="TypeInfo" c:type="GTypeInfo*"/>
6028         </parameter>
6029         <parameter name="finfo" transfer-ownership="none">
6030           <type name="TypeFundamentalInfo" c:type="GTypeFundamentalInfo*"/>
6031         </parameter>
6032         <parameter name="flags" transfer-ownership="none">
6033           <type name="TypeFlags" c:type="GTypeFlags"/>
6034         </parameter>
6035       </parameters>
6036     </function>
6037     <function name="type_register_static"
6038               c:identifier="g_type_register_static">
6039       <return-value transfer-ownership="none">
6040         <type name="GType" c:type="GType"/>
6041       </return-value>
6042       <parameters>
6043         <parameter name="parent_type" transfer-ownership="none">
6044           <type name="GType" c:type="GType"/>
6045         </parameter>
6046         <parameter name="type_name" transfer-ownership="none">
6047           <type name="utf8" c:type="gchar*"/>
6048         </parameter>
6049         <parameter name="info" transfer-ownership="none">
6050           <type name="TypeInfo" c:type="GTypeInfo*"/>
6051         </parameter>
6052         <parameter name="flags" transfer-ownership="none">
6053           <type name="TypeFlags" c:type="GTypeFlags"/>
6054         </parameter>
6055       </parameters>
6056     </function>
6057     <function name="type_register_static_simple"
6058               c:identifier="g_type_register_static_simple">
6059       <return-value transfer-ownership="none">
6060         <type name="GType" c:type="GType"/>
6061       </return-value>
6062       <parameters>
6063         <parameter name="parent_type" transfer-ownership="none">
6064           <type name="GType" c:type="GType"/>
6065         </parameter>
6066         <parameter name="type_name" transfer-ownership="none">
6067           <type name="utf8" c:type="gchar*"/>
6068         </parameter>
6069         <parameter name="class_size" transfer-ownership="none">
6070           <type name="uint" c:type="guint"/>
6071         </parameter>
6072         <parameter name="class_init" transfer-ownership="none" scope="call">
6073           <type name="ClassInitFunc" c:type="GClassInitFunc"/>
6074         </parameter>
6075         <parameter name="instance_size" transfer-ownership="none">
6076           <type name="uint" c:type="guint"/>
6077         </parameter>
6078         <parameter name="instance_init" transfer-ownership="none" scope="call">
6079           <type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
6080         </parameter>
6081         <parameter name="flags" transfer-ownership="none">
6082           <type name="TypeFlags" c:type="GTypeFlags"/>
6083         </parameter>
6084       </parameters>
6085     </function>
6086     <function name="type_remove_class_cache_func"
6087               c:identifier="g_type_remove_class_cache_func">
6088       <return-value transfer-ownership="none">
6089         <type name="none" c:type="void"/>
6090       </return-value>
6091       <parameters>
6092         <parameter name="cache_data" transfer-ownership="none">
6093           <type name="any" c:type="gpointer"/>
6094         </parameter>
6095         <parameter name="cache_func" transfer-ownership="none" scope="call">
6096           <type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
6097         </parameter>
6098       </parameters>
6099     </function>
6100     <function name="type_remove_interface_check"
6101               c:identifier="g_type_remove_interface_check">
6102       <return-value transfer-ownership="none">
6103         <type name="none" c:type="void"/>
6104       </return-value>
6105       <parameters>
6106         <parameter name="check_data" transfer-ownership="none">
6107           <type name="any" c:type="gpointer"/>
6108         </parameter>
6109         <parameter name="check_func" transfer-ownership="none" scope="call">
6110           <type name="TypeInterfaceCheckFunc"
6111                 c:type="GTypeInterfaceCheckFunc"/>
6112         </parameter>
6113       </parameters>
6114     </function>
6115     <function name="type_set_qdata" c:identifier="g_type_set_qdata">
6116       <return-value transfer-ownership="none">
6117         <type name="none" c:type="void"/>
6118       </return-value>
6119       <parameters>
6120         <parameter name="type" transfer-ownership="none">
6121           <type name="GType" c:type="GType"/>
6122         </parameter>
6123         <parameter name="quark" transfer-ownership="none">
6124           <type name="GLib.Quark" c:type="GQuark"/>
6125         </parameter>
6126         <parameter name="data" transfer-ownership="none">
6127           <type name="any" c:type="gpointer"/>
6128         </parameter>
6129       </parameters>
6130     </function>
6131     <function name="type_test_flags" c:identifier="g_type_test_flags">
6132       <return-value transfer-ownership="none">
6133         <type name="boolean" c:type="gboolean"/>
6134       </return-value>
6135       <parameters>
6136         <parameter name="type" transfer-ownership="none">
6137           <type name="GType" c:type="GType"/>
6138         </parameter>
6139         <parameter name="flags" transfer-ownership="none">
6140           <type name="uint" c:type="guint"/>
6141         </parameter>
6142       </parameters>
6143     </function>
6144     <function name="type_value_table_peek"
6145               c:identifier="g_type_value_table_peek">
6146       <return-value transfer-ownership="full">
6147         <type name="TypeValueTable" c:type="GTypeValueTable*"/>
6148       </return-value>
6149       <parameters>
6150         <parameter name="type" transfer-ownership="none">
6151           <type name="GType" c:type="GType"/>
6152         </parameter>
6153       </parameters>
6154     </function>
6155     <function name="value_c_init" c:identifier="g_value_c_init">
6156       <return-value transfer-ownership="none">
6157         <type name="none" c:type="void"/>
6158       </return-value>
6159     </function>
6160     <function name="value_register_transform_func"
6161               c:identifier="g_value_register_transform_func">
6162       <return-value transfer-ownership="none">
6163         <type name="none" c:type="void"/>
6164       </return-value>
6165       <parameters>
6166         <parameter name="src_type" transfer-ownership="none">
6167           <type name="GType" c:type="GType"/>
6168         </parameter>
6169         <parameter name="dest_type" transfer-ownership="none">
6170           <type name="GType" c:type="GType"/>
6171         </parameter>
6172         <parameter name="transform_func"
6173                    transfer-ownership="none"
6174                    scope="call">
6175           <type name="ValueTransform" c:type="GValueTransform"/>
6176         </parameter>
6177       </parameters>
6178     </function>
6179     <function name="value_transforms_init"
6180               c:identifier="g_value_transforms_init">
6181       <return-value transfer-ownership="none">
6182         <type name="none" c:type="void"/>
6183       </return-value>
6184     </function>
6185     <function name="value_type_compatible"
6186               c:identifier="g_value_type_compatible">
6187       <return-value transfer-ownership="none">
6188         <type name="boolean" c:type="gboolean"/>
6189       </return-value>
6190       <parameters>
6191         <parameter name="src_type" transfer-ownership="none">
6192           <type name="GType" c:type="GType"/>
6193         </parameter>
6194         <parameter name="dest_type" transfer-ownership="none">
6195           <type name="GType" c:type="GType"/>
6196         </parameter>
6197       </parameters>
6198     </function>
6199     <function name="value_type_transformable"
6200               c:identifier="g_value_type_transformable">
6201       <return-value transfer-ownership="none">
6202         <type name="boolean" c:type="gboolean"/>
6203       </return-value>
6204       <parameters>
6205         <parameter name="src_type" transfer-ownership="none">
6206           <type name="GType" c:type="GType"/>
6207         </parameter>
6208         <parameter name="dest_type" transfer-ownership="none">
6209           <type name="GType" c:type="GType"/>
6210         </parameter>
6211       </parameters>
6212     </function>
6213     <function name="value_types_init" c:identifier="g_value_types_init">
6214       <return-value transfer-ownership="none">
6215         <type name="none" c:type="void"/>
6216       </return-value>
6217     </function>
6218     <function name="variant_get_gtype" c:identifier="g_variant_get_gtype">
6219       <return-value transfer-ownership="none">
6220         <type name="GType" c:type="GType"/>
6221       </return-value>
6222     </function>
6223     <function name="variant_type_get_gtype"
6224               c:identifier="g_variant_type_get_gtype">
6225       <return-value transfer-ownership="none">
6226         <type name="GType" c:type="GType"/>
6227       </return-value>
6228     </function>
6229   </namespace>
6230 </repository>