sync
[gir-1.1] / Everything-1.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   <include name="GObject" version="2.0"/>
11   <include name="Gio" version="2.0"/>
12   <include name="cairo" version="1.0"/>
13   <package name="cairo"/>
14   <package name="gio-2.0"/>
15   <package name="gobject-2.0"/>
16   <namespace name="Everything"
17              version="1.0"
18              shared-library="libgirepository-everything-1.0.so.1"
19              c:prefix="Everything">
20     <record name="TestBoxed"
21             c:type="TestBoxed"
22             glib:type-name="TestBoxed"
23             glib:get-type="test_boxed_get_type">
24       <field name="some_int8" writable="1">
25         <type name="int8" c:type="gint8"/>
26       </field>
27       <field name="nested_a" writable="1">
28         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
29       </field>
30       <field name="priv" writable="1">
31         <type name="TestBoxedPrivate" c:type="TestBoxedPrivate*"/>
32       </field>
33       <constructor name="new" c:identifier="test_boxed_new">
34         <return-value transfer-ownership="full">
35           <type name="TestBoxed" c:type="TestBoxed*"/>
36         </return-value>
37       </constructor>
38       <constructor name="new_alternative_constructor1"
39                    c:identifier="test_boxed_new_alternative_constructor1">
40         <return-value transfer-ownership="full">
41           <type name="TestBoxed" c:type="TestBoxed*"/>
42         </return-value>
43         <parameters>
44           <parameter name="i" transfer-ownership="none">
45             <type name="int" c:type="int"/>
46           </parameter>
47         </parameters>
48       </constructor>
49       <constructor name="new_alternative_constructor2"
50                    c:identifier="test_boxed_new_alternative_constructor2">
51         <return-value transfer-ownership="full">
52           <type name="TestBoxed" c:type="TestBoxed*"/>
53         </return-value>
54         <parameters>
55           <parameter name="i" transfer-ownership="none">
56             <type name="int" c:type="int"/>
57           </parameter>
58           <parameter name="j" transfer-ownership="none">
59             <type name="int" c:type="int"/>
60           </parameter>
61         </parameters>
62       </constructor>
63       <constructor name="new_alternative_constructor3"
64                    c:identifier="test_boxed_new_alternative_constructor3">
65         <return-value transfer-ownership="full">
66           <type name="TestBoxed" c:type="TestBoxed*"/>
67         </return-value>
68         <parameters>
69           <parameter name="s" transfer-ownership="full">
70             <type name="utf8" c:type="char*"/>
71           </parameter>
72         </parameters>
73       </constructor>
74       <method name="copy" c:identifier="test_boxed_copy">
75         <return-value transfer-ownership="full">
76           <type name="TestBoxed" c:type="TestBoxed*"/>
77         </return-value>
78       </method>
79       <method name="equals" c:identifier="test_boxed_equals">
80         <return-value transfer-ownership="none">
81           <type name="boolean" c:type="gboolean"/>
82         </return-value>
83         <parameters>
84           <parameter name="other" transfer-ownership="none">
85             <type name="TestBoxed" c:type="TestBoxed*"/>
86           </parameter>
87         </parameters>
88       </method>
89     </record>
90     <record name="TestBoxedPrivate" c:type="TestBoxedPrivate">
91     </record>
92     <callback name="TestCallback" c:type="TestCallback">
93       <return-value transfer-ownership="none">
94         <type name="int" c:type="int"/>
95       </return-value>
96     </callback>
97     <callback name="TestCallbackUserData" c:type="TestCallbackUserData">
98       <return-value transfer-ownership="none">
99         <type name="int" c:type="int"/>
100       </return-value>
101       <parameters>
102         <parameter name="user_data" transfer-ownership="none" closure="0">
103           <type name="any" c:type="gpointer"/>
104         </parameter>
105       </parameters>
106     </callback>
107     <enumeration name="TestEnum"
108                  glib:type-name="TestEnum"
109                  glib:get-type="test_enum_get_type"
110                  c:type="TestEnum">
111       <member name="value1"
112               value="0"
113               c:identifier="TEST_VALUE1"
114               glib:nick="value1"/>
115       <member name="value2"
116               value="1"
117               c:identifier="TEST_VALUE2"
118               glib:nick="value2"/>
119       <member name="value3"
120               value="42"
121               c:identifier="TEST_VALUE3"
122               glib:nick="value3"/>
123     </enumeration>
124     <bitfield name="TestFlags"
125               glib:type-name="TestFlags"
126               glib:get-type="test_flags_get_type"
127               c:type="TestFlags">
128       <member name="flag1"
129               value="1"
130               c:identifier="TEST_FLAG1"
131               glib:nick="flag1"/>
132       <member name="flag2"
133               value="2"
134               c:identifier="TEST_FLAG2"
135               glib:nick="flag2"/>
136       <member name="flag3"
137               value="4"
138               c:identifier="TEST_FLAG3"
139               glib:nick="flag3"/>
140     </bitfield>
141     <class name="TestFloating"
142            c:type="TestFloating"
143            parent="GObject.InitiallyUnowned"
144            glib:type-name="TestFloating"
145            glib:get-type="test_floating_get_type"
146            glib:type-struct="TestFloatingClass">
147       <constructor name="new" c:identifier="test_floating_new">
148         <return-value transfer-ownership="full">
149           <type name="TestFloating" c:type="TestFloating*"/>
150         </return-value>
151       </constructor>
152       <field name="parent_instance">
153         <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
154       </field>
155     </class>
156     <record name="TestFloatingClass"
157             c:type="TestFloatingClass"
158             glib:is-gtype-struct-for="TestFloating">
159       <field name="parent_class">
160         <type name="GObject.InitiallyUnownedClass"
161               c:type="GInitiallyUnownedClass"/>
162       </field>
163     </record>
164     <class name="TestFundamentalObject"
165            c:type="TestFundamentalObject"
166            abstract="1"
167            glib:type-name="TestFundamentalObject"
168            glib:get-type="test_fundamental_object_get_type"
169            glib:type-struct="TestFundamentalObjectClass"
170            glib:fundamental="1"
171            glib:ref-func="test_fundamental_object_ref"
172            glib:unref-func="test_fundamental_object_unref"
173            glib:set-value-func="test_value_set_fundamental_object"
174            glib:get-value-func="test_value_get_fundamental_object">
175       <method name="ref" c:identifier="test_fundamental_object_ref">
176         <return-value transfer-ownership="full">
177           <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
178         </return-value>
179       </method>
180       <method name="unref" c:identifier="test_fundamental_object_unref">
181         <return-value transfer-ownership="none">
182           <type name="none" c:type="void"/>
183         </return-value>
184       </method>
185       <field name="instance">
186         <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
187       </field>
188       <field name="refcount">
189         <type name="int" c:type="gint"/>
190       </field>
191       <field name="flags">
192         <type name="uint" c:type="guint"/>
193       </field>
194     </class>
195     <record name="TestFundamentalObjectClass"
196             c:type="TestFundamentalObjectClass"
197             glib:is-gtype-struct-for="TestFundamentalObject">
198       <field name="type_class">
199         <type name="GObject.TypeClass" c:type="GTypeClass"/>
200       </field>
201       <field name="copy">
202         <type name="TestFundamentalObjectCopyFunction"
203               c:type="TestFundamentalObjectCopyFunction"/>
204       </field>
205       <field name="finalize">
206         <type name="TestFundamentalObjectFinalizeFunction"
207               c:type="TestFundamentalObjectFinalizeFunction"/>
208       </field>
209     </record>
210     <callback name="TestFundamentalObjectCopyFunction"
211               c:type="TestFundamentalObjectCopyFunction">
212       <return-value transfer-ownership="full">
213         <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
214       </return-value>
215       <parameters>
216         <parameter name="obj" transfer-ownership="none">
217           <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
218         </parameter>
219       </parameters>
220     </callback>
221     <callback name="TestFundamentalObjectFinalizeFunction"
222               c:type="TestFundamentalObjectFinalizeFunction">
223       <return-value transfer-ownership="none">
224         <type name="none" c:type="void"/>
225       </return-value>
226       <parameters>
227         <parameter name="obj" transfer-ownership="none">
228           <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
229         </parameter>
230       </parameters>
231     </callback>
232     <class name="TestFundamentalSubObject"
233            c:type="TestFundamentalSubObject"
234            parent="TestFundamentalObject"
235            glib:type-name="TestFundamentalSubObject"
236            glib:get-type="test_fundamental_sub_object_get_type"
237            glib:type-struct="TestFundamentalSubObjectClass"
238            glib:fundamental="1">
239       <constructor name="new" c:identifier="test_fundamental_sub_object_new">
240         <return-value transfer-ownership="full">
241           <type name="TestFundamentalSubObject"
242                 c:type="TestFundamentalSubObject*"/>
243         </return-value>
244         <parameters>
245           <parameter name="data" transfer-ownership="none">
246             <type name="utf8" c:type="char*"/>
247           </parameter>
248         </parameters>
249       </constructor>
250       <field name="fundamental_object">
251         <type name="TestFundamentalObject" c:type="TestFundamentalObject"/>
252       </field>
253       <field name="data">
254         <type name="utf8" c:type="char*"/>
255       </field>
256     </class>
257     <record name="TestFundamentalSubObjectClass"
258             c:type="TestFundamentalSubObjectClass"
259             glib:is-gtype-struct-for="TestFundamentalSubObject">
260       <field name="fundamental_object_class">
261         <type name="TestFundamentalObjectClass"
262               c:type="TestFundamentalObjectClass"/>
263       </field>
264     </record>
265     <interface name="TestInterface"
266                c:type="EverythingTestInterface"
267                glib:type-name="EverythingTestInterface"
268                glib:get-type="test_interface_get_type"
269                glib:type-struct="TestInterfaceIface">
270     </interface>
271     <record name="TestInterfaceIface"
272             c:type="TestInterfaceIface"
273             glib:is-gtype-struct-for="TestInterface">
274       <field name="base_iface">
275         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
276       </field>
277     </record>
278     <class name="TestObj"
279            c:type="TestObj"
280            parent="GObject.Object"
281            glib:type-name="TestObj"
282            glib:get-type="test_obj_get_type"
283            glib:type-struct="TestObjClass">
284       <constructor name="new_from_file"
285                    c:identifier="test_obj_new_from_file"
286                    throws="1">
287         <return-value transfer-ownership="full">
288           <type name="TestObj" c:type="TestObj*"/>
289         </return-value>
290         <parameters>
291           <parameter name="x" transfer-ownership="none">
292             <type name="utf8" c:type="char*"/>
293           </parameter>
294         </parameters>
295       </constructor>
296       <constructor name="new_callback" c:identifier="test_obj_new_callback">
297         <return-value transfer-ownership="full">
298           <type name="TestObj" c:type="TestObj*"/>
299         </return-value>
300         <parameters>
301           <parameter name="callback"
302                      transfer-ownership="none"
303                      scope="notified"
304                      closure="1"
305                      destroy="2">
306             <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
307           </parameter>
308           <parameter name="user_data" transfer-ownership="none">
309             <type name="any" c:type="gpointer"/>
310           </parameter>
311           <parameter name="notify" transfer-ownership="none" scope="call">
312             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
313           </parameter>
314         </parameters>
315       </constructor>
316       <function name="static_method" c:identifier="test_obj_static_method">
317         <return-value transfer-ownership="none">
318           <type name="double" c:type="double"/>
319         </return-value>
320         <parameters>
321           <parameter name="x" transfer-ownership="none">
322             <type name="int" c:type="int"/>
323           </parameter>
324         </parameters>
325       </function>
326       <function name="static_method_callback"
327                 c:identifier="test_obj_static_method_callback">
328         <return-value transfer-ownership="none">
329           <type name="none" c:type="void"/>
330         </return-value>
331         <parameters>
332           <parameter name="callback"
333                      transfer-ownership="none"
334                      allow-none="1"
335                      scope="call">
336             <type name="TestCallback" c:type="TestCallback"/>
337           </parameter>
338         </parameters>
339       </function>
340       <virtual-method name="matrix" invoker="do_matrix">
341         <doc xml:whitespace="preserve">This method is virtual.  Notably its name differs from the virtual
342 slot name, which makes it useful for testing bindings handle this
343 case.</doc>
344         <return-value transfer-ownership="none">
345           <type name="int" c:type="int"/>
346         </return-value>
347         <parameters>
348           <parameter name="somestr" transfer-ownership="none">
349             <doc xml:whitespace="preserve">Meaningless string</doc>
350             <type name="utf8" c:type="char*"/>
351           </parameter>
352         </parameters>
353       </virtual-method>
354       <method name="set_bare" c:identifier="test_obj_set_bare">
355         <return-value transfer-ownership="none">
356           <type name="none" c:type="void"/>
357         </return-value>
358         <parameters>
359           <parameter name="bare" transfer-ownership="none" allow-none="1">
360             <type name="GObject.Object" c:type="GObject*"/>
361           </parameter>
362         </parameters>
363       </method>
364       <method name="instance_method" c:identifier="test_obj_instance_method">
365         <return-value transfer-ownership="none">
366           <type name="int" c:type="int"/>
367         </return-value>
368       </method>
369       <method name="torture_signature_0"
370               c:identifier="test_obj_torture_signature_0">
371         <return-value transfer-ownership="none">
372           <type name="none" c:type="void"/>
373         </return-value>
374         <parameters>
375           <parameter name="x" transfer-ownership="none">
376             <type name="int" c:type="int"/>
377           </parameter>
378           <parameter name="y"
379                      direction="out"
380                      caller-allocates="0"
381                      transfer-ownership="full">
382             <type name="double" c:type="double*"/>
383           </parameter>
384           <parameter name="z"
385                      direction="out"
386                      caller-allocates="0"
387                      transfer-ownership="full">
388             <type name="int" c:type="int*"/>
389           </parameter>
390           <parameter name="foo" transfer-ownership="none">
391             <type name="utf8" c:type="char*"/>
392           </parameter>
393           <parameter name="q"
394                      direction="out"
395                      caller-allocates="0"
396                      transfer-ownership="full">
397             <type name="int" c:type="int*"/>
398           </parameter>
399           <parameter name="m" transfer-ownership="none">
400             <type name="uint" c:type="guint"/>
401           </parameter>
402         </parameters>
403       </method>
404       <method name="torture_signature_1"
405               c:identifier="test_obj_torture_signature_1"
406               throws="1">
407         <doc xml:whitespace="preserve">This function throws an error if m is odd.</doc>
408         <return-value transfer-ownership="none">
409           <type name="boolean" c:type="gboolean"/>
410         </return-value>
411         <parameters>
412           <parameter name="x" transfer-ownership="none">
413             <type name="int" c:type="int"/>
414           </parameter>
415           <parameter name="y"
416                      direction="out"
417                      caller-allocates="0"
418                      transfer-ownership="full">
419             <type name="double" c:type="double*"/>
420           </parameter>
421           <parameter name="z"
422                      direction="out"
423                      caller-allocates="0"
424                      transfer-ownership="full">
425             <type name="int" c:type="int*"/>
426           </parameter>
427           <parameter name="foo" transfer-ownership="none">
428             <type name="utf8" c:type="char*"/>
429           </parameter>
430           <parameter name="q"
431                      direction="out"
432                      caller-allocates="0"
433                      transfer-ownership="full">
434             <type name="int" c:type="int*"/>
435           </parameter>
436           <parameter name="m" transfer-ownership="none">
437             <type name="uint" c:type="guint"/>
438           </parameter>
439         </parameters>
440       </method>
441       <method name="do_matrix" c:identifier="test_obj_do_matrix">
442         <doc xml:whitespace="preserve">This method is virtual.  Notably its name differs from the virtual
443 slot name, which makes it useful for testing bindings handle this
444 case.</doc>
445         <return-value transfer-ownership="none">
446           <type name="int" c:type="int"/>
447         </return-value>
448         <parameters>
449           <parameter name="somestr" transfer-ownership="none">
450             <doc xml:whitespace="preserve">Meaningless string</doc>
451             <type name="utf8" c:type="char*"/>
452           </parameter>
453         </parameters>
454       </method>
455       <method name="instance_method_callback"
456               c:identifier="test_obj_instance_method_callback">
457         <return-value transfer-ownership="none">
458           <type name="none" c:type="void"/>
459         </return-value>
460         <parameters>
461           <parameter name="callback"
462                      transfer-ownership="none"
463                      allow-none="1"
464                      scope="call">
465             <type name="TestCallback" c:type="TestCallback"/>
466           </parameter>
467         </parameters>
468       </method>
469       <property name="bare" writable="1" transfer-ownership="none">
470         <type name="GObject.Object" c:type="GObject"/>
471       </property>
472       <property name="boxed" writable="1" transfer-ownership="none">
473         <type name="TestBoxed" c:type="TestBoxed"/>
474       </property>
475       <property name="double" writable="1" transfer-ownership="none">
476         <type name="double" c:type="gdouble"/>
477       </property>
478       <property name="float" writable="1" transfer-ownership="none">
479         <type name="float" c:type="gfloat"/>
480       </property>
481       <property name="hash-table" writable="1" transfer-ownership="container">
482         <type name="GLib.HashTable" c:type="GHashTable">
483           <type name="utf8"/>
484           <type name="int8"/>
485         </type>
486       </property>
487       <property name="int" writable="1" transfer-ownership="none">
488         <type name="int" c:type="gint"/>
489       </property>
490       <property name="list" writable="1" transfer-ownership="none">
491         <type name="GLib.List" c:type="gpointer">
492           <type name="utf8"/>
493         </type>
494       </property>
495       <property name="string" writable="1" transfer-ownership="none">
496         <type name="utf8" c:type="gchararray"/>
497       </property>
498       <field name="parent_instance">
499         <type name="GObject.Object" c:type="GObject"/>
500       </field>
501       <field name="bare">
502         <type name="GObject.Object" c:type="GObject*"/>
503       </field>
504       <field name="boxed">
505         <type name="TestBoxed" c:type="TestBoxed*"/>
506       </field>
507       <field name="hash_table">
508         <type name="GLib.HashTable" c:type="GHashTable*"/>
509       </field>
510       <field name="list">
511         <type name="GLib.List" c:type="GList*">
512           <type name="any" c:type="gpointer"/>
513         </type>
514       </field>
515       <field name="some_int8">
516         <type name="int8" c:type="gint8"/>
517       </field>
518       <field name="some_float">
519         <type name="float" c:type="float"/>
520       </field>
521       <field name="some_double">
522         <type name="double" c:type="double"/>
523       </field>
524       <field name="string">
525         <type name="utf8" c:type="char*"/>
526       </field>
527       <glib:signal name="test">
528         <return-value transfer-ownership="full">
529           <type name="none" c:type="void"/>
530         </return-value>
531       </glib:signal>
532       <glib:signal name="test-with-static-scope-arg">
533         <return-value transfer-ownership="full">
534           <type name="none" c:type="void"/>
535         </return-value>
536         <parameters>
537           <parameter name="object" transfer-ownership="none">
538             <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
539           </parameter>
540         </parameters>
541       </glib:signal>
542     </class>
543     <record name="TestObjClass"
544             c:type="TestObjClass"
545             glib:is-gtype-struct-for="TestObj">
546       <field name="parent_class">
547         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
548       </field>
549       <field name="matrix">
550         <callback name="matrix" c:type="matrix">
551           <return-value transfer-ownership="none">
552             <type name="int" c:type="int"/>
553           </return-value>
554           <parameters>
555             <parameter name="obj" transfer-ownership="none">
556               <type name="TestObj" c:type="TestObj*"/>
557             </parameter>
558             <parameter name="somestr" transfer-ownership="none">
559               <doc xml:whitespace="preserve">Meaningless string</doc>
560               <type name="utf8" c:type="char*"/>
561             </parameter>
562           </parameters>
563         </callback>
564       </field>
565       <field name="test_signal">
566         <type name="uint" c:type="guint"/>
567       </field>
568       <field name="test_signal_with_static_scope_arg">
569         <type name="uint" c:type="guint"/>
570       </field>
571     </record>
572     <record name="TestSimpleBoxedA"
573             c:type="TestSimpleBoxedA"
574             glib:type-name="TestSimpleBoxedA"
575             glib:get-type="test_simple_boxed_a_get_type">
576       <field name="some_int" writable="1">
577         <type name="int" c:type="gint"/>
578       </field>
579       <field name="some_int8" writable="1">
580         <type name="int8" c:type="gint8"/>
581       </field>
582       <field name="some_double" writable="1">
583         <type name="double" c:type="gdouble"/>
584       </field>
585       <field name="some_enum" writable="1">
586         <type name="TestEnum" c:type="TestEnum"/>
587       </field>
588       <method name="copy" c:identifier="test_simple_boxed_a_copy">
589         <return-value transfer-ownership="full">
590           <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
591         </return-value>
592       </method>
593       <method name="equals" c:identifier="test_simple_boxed_a_equals">
594         <return-value transfer-ownership="none">
595           <type name="boolean" c:type="gboolean"/>
596         </return-value>
597         <parameters>
598           <parameter name="other_a" transfer-ownership="none">
599             <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
600           </parameter>
601         </parameters>
602       </method>
603     </record>
604     <record name="TestSimpleBoxedB"
605             c:type="TestSimpleBoxedB"
606             glib:type-name="TestSimpleBoxedB"
607             glib:get-type="test_simple_boxed_b_get_type">
608       <field name="some_int8" writable="1">
609         <type name="int8" c:type="gint8"/>
610       </field>
611       <field name="nested_a" writable="1">
612         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
613       </field>
614       <method name="copy" c:identifier="test_simple_boxed_b_copy">
615         <return-value transfer-ownership="full">
616           <type name="TestSimpleBoxedB" c:type="TestSimpleBoxedB*"/>
617         </return-value>
618       </method>
619     </record>
620     <callback name="TestSimpleCallback" c:type="TestSimpleCallback">
621       <return-value transfer-ownership="none">
622         <type name="none" c:type="void"/>
623       </return-value>
624     </callback>
625     <record name="TestStructA" c:type="TestStructA">
626       <field name="some_int" writable="1">
627         <type name="int" c:type="gint"/>
628       </field>
629       <field name="some_int8" writable="1">
630         <type name="int8" c:type="gint8"/>
631       </field>
632       <field name="some_double" writable="1">
633         <type name="double" c:type="gdouble"/>
634       </field>
635       <field name="some_enum" writable="1">
636         <type name="TestEnum" c:type="TestEnum"/>
637       </field>
638       <method name="clone" c:identifier="test_struct_a_clone">
639         <doc xml:whitespace="preserve">Make a copy of a TestStructA</doc>
640         <return-value transfer-ownership="none">
641           <type name="none" c:type="void"/>
642         </return-value>
643         <parameters>
644           <parameter name="a_out"
645                      direction="out"
646                      caller-allocates="1"
647                      transfer-ownership="none">
648             <doc xml:whitespace="preserve">the cloned structure</doc>
649             <type name="TestStructA" c:type="TestStructA*"/>
650           </parameter>
651         </parameters>
652       </method>
653     </record>
654     <record name="TestStructB" c:type="TestStructB">
655       <field name="some_int8" writable="1">
656         <type name="int8" c:type="gint8"/>
657       </field>
658       <field name="nested_a" writable="1">
659         <type name="TestStructA" c:type="TestStructA"/>
660       </field>
661       <method name="clone" c:identifier="test_struct_b_clone">
662         <doc xml:whitespace="preserve">Make a copy of a TestStructB</doc>
663         <return-value transfer-ownership="none">
664           <type name="none" c:type="void"/>
665         </return-value>
666         <parameters>
667           <parameter name="b_out"
668                      direction="out"
669                      caller-allocates="1"
670                      transfer-ownership="none">
671             <doc xml:whitespace="preserve">the cloned structure</doc>
672             <type name="TestStructB" c:type="TestStructB*"/>
673           </parameter>
674         </parameters>
675       </method>
676     </record>
677     <record name="TestStructC" c:type="_TestStructC">
678       <field name="another_int" writable="1">
679         <type name="int" c:type="gint"/>
680       </field>
681       <field name="obj" writable="1">
682         <type name="GObject.Object" c:type="GObject*"/>
683       </field>
684     </record>
685     <class name="TestSubObj"
686            c:type="TestSubObj"
687            parent="TestObj"
688            glib:type-name="TestSubObj"
689            glib:get-type="test_sub_obj_get_type"
690            glib:type-struct="TestSubObjClass">
691       <constructor name="new" c:identifier="test_sub_obj_new">
692         <return-value transfer-ownership="full">
693           <type name="TestSubObj" c:type="TestSubObj*"/>
694         </return-value>
695       </constructor>
696       <method name="unset_bare" c:identifier="test_sub_obj_unset_bare">
697         <return-value transfer-ownership="none">
698           <type name="none" c:type="void"/>
699         </return-value>
700       </method>
701       <method name="instance_method"
702               c:identifier="test_sub_obj_instance_method">
703         <return-value transfer-ownership="none">
704           <type name="int" c:type="int"/>
705         </return-value>
706       </method>
707       <field name="parent_instance">
708         <type name="TestObj" c:type="TestObj"/>
709       </field>
710     </class>
711     <record name="TestSubObjClass"
712             c:type="TestSubObjClass"
713             glib:is-gtype-struct-for="TestSubObj">
714       <field name="parent_class">
715         <type name="TestObjClass" c:type="TestObjClass"/>
716       </field>
717     </record>
718     <class name="TestWi8021x"
719            c:type="TestWi8021x"
720            parent="GObject.Object"
721            glib:type-name="TestWi8021x"
722            glib:get-type="test_wi_802_1x_get_type"
723            glib:type-struct="TestWi8021xClass">
724       <constructor name="new" c:identifier="test_wi_802_1x_new">
725         <return-value transfer-ownership="full">
726           <type name="TestWi8021x" c:type="TestWi8021x*"/>
727         </return-value>
728       </constructor>
729       <function name="static_method"
730                 c:identifier="test_wi_802_1x_static_method">
731         <return-value transfer-ownership="none">
732           <type name="int" c:type="int"/>
733         </return-value>
734         <parameters>
735           <parameter name="x" transfer-ownership="none">
736             <type name="int" c:type="int"/>
737           </parameter>
738         </parameters>
739       </function>
740       <method name="get_testbool" c:identifier="test_wi_802_1x_get_testbool">
741         <return-value transfer-ownership="none">
742           <type name="boolean" c:type="gboolean"/>
743         </return-value>
744       </method>
745       <method name="set_testbool" c:identifier="test_wi_802_1x_set_testbool">
746         <return-value transfer-ownership="none">
747           <type name="none" c:type="void"/>
748         </return-value>
749         <parameters>
750           <parameter name="v" transfer-ownership="none">
751             <type name="boolean" c:type="gboolean"/>
752           </parameter>
753         </parameters>
754       </method>
755       <property name="testbool" writable="1" transfer-ownership="none">
756         <type name="boolean" c:type="gboolean"/>
757       </property>
758       <field name="parent_instance">
759         <type name="GObject.Object" c:type="GObject"/>
760       </field>
761       <field name="testbool">
762         <type name="boolean" c:type="gboolean"/>
763       </field>
764     </class>
765     <record name="TestWi8021xClass"
766             c:type="TestWi8021xClass"
767             glib:is-gtype-struct-for="TestWi8021x">
768       <field name="parent_class">
769         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
770       </field>
771     </record>
772     <function name="set_abort_on_error" c:identifier="set_abort_on_error">
773       <return-value transfer-ownership="none">
774         <type name="none" c:type="void"/>
775       </return-value>
776       <parameters>
777         <parameter name="abort_on_error" transfer-ownership="none">
778           <type name="boolean" c:type="gboolean"/>
779         </parameter>
780       </parameters>
781     </function>
782     <function name="test_array_fixed_size_int_in"
783               c:identifier="test_array_fixed_size_int_in">
784       <return-value transfer-ownership="none">
785         <doc xml:whitespace="preserve">the sum of the items in @ints</doc>
786         <type name="int" c:type="int"/>
787       </return-value>
788       <parameters>
789         <parameter name="ints" transfer-ownership="none">
790           <doc xml:whitespace="preserve">a list of 5 integers</doc>
791           <array c:type="int*" fixed-size="5">
792             <type name="int"/>
793           </array>
794         </parameter>
795       </parameters>
796     </function>
797     <function name="test_array_fixed_size_int_out"
798               c:identifier="test_array_fixed_size_int_out">
799       <return-value transfer-ownership="none">
800         <type name="none" c:type="void"/>
801       </return-value>
802       <parameters>
803         <parameter name="ints"
804                    direction="out"
805                    caller-allocates="0"
806                    transfer-ownership="full">
807           <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
808           <array c:type="int**" fixed-size="5">
809             <type name="int"/>
810           </array>
811         </parameter>
812       </parameters>
813     </function>
814     <function name="test_array_fixed_size_int_return"
815               c:identifier="test_array_fixed_size_int_return">
816       <return-value transfer-ownership="full">
817         <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
818         <array c:type="int*" fixed-size="5">
819           <type name="int"/>
820         </array>
821       </return-value>
822     </function>
823     <function name="test_array_gint16_in" c:identifier="test_array_gint16_in">
824       <return-value transfer-ownership="none">
825         <type name="int" c:type="int"/>
826       </return-value>
827       <parameters>
828         <parameter name="n_ints" transfer-ownership="none">
829           <type name="int" c:type="int"/>
830         </parameter>
831         <parameter name="ints" transfer-ownership="none">
832           <doc xml:whitespace="preserve">List of ints</doc>
833           <array length="0" c:type="gint16*">
834             <type name="int16"/>
835           </array>
836         </parameter>
837       </parameters>
838     </function>
839     <function name="test_array_gint32_in" c:identifier="test_array_gint32_in">
840       <return-value transfer-ownership="none">
841         <type name="int32" c:type="gint32"/>
842       </return-value>
843       <parameters>
844         <parameter name="n_ints" transfer-ownership="none">
845           <type name="int" c:type="int"/>
846         </parameter>
847         <parameter name="ints" transfer-ownership="none">
848           <doc xml:whitespace="preserve">List of ints</doc>
849           <array length="0" c:type="gint32*">
850             <type name="int32"/>
851           </array>
852         </parameter>
853       </parameters>
854     </function>
855     <function name="test_array_gint64_in" c:identifier="test_array_gint64_in">
856       <return-value transfer-ownership="none">
857         <type name="int64" c:type="gint64"/>
858       </return-value>
859       <parameters>
860         <parameter name="n_ints" transfer-ownership="none">
861           <type name="int" c:type="int"/>
862         </parameter>
863         <parameter name="ints" transfer-ownership="none">
864           <doc xml:whitespace="preserve">List of ints</doc>
865           <array length="0" c:type="gint64*">
866             <type name="int64"/>
867           </array>
868         </parameter>
869       </parameters>
870     </function>
871     <function name="test_array_gint8_in" c:identifier="test_array_gint8_in">
872       <return-value transfer-ownership="none">
873         <type name="int" c:type="int"/>
874       </return-value>
875       <parameters>
876         <parameter name="n_ints" transfer-ownership="none">
877           <type name="int" c:type="int"/>
878         </parameter>
879         <parameter name="ints" transfer-ownership="none">
880           <doc xml:whitespace="preserve">List of ints</doc>
881           <array length="0" c:type="gint8*">
882             <type name="int8"/>
883           </array>
884         </parameter>
885       </parameters>
886     </function>
887     <function name="test_array_gtype_in" c:identifier="test_array_gtype_in">
888       <return-value transfer-ownership="full">
889         <doc xml:whitespace="preserve">string representation of provided types</doc>
890         <type name="utf8" c:type="char*"/>
891       </return-value>
892       <parameters>
893         <parameter name="n_types" transfer-ownership="none">
894           <type name="int" c:type="int"/>
895         </parameter>
896         <parameter name="types" transfer-ownership="none">
897           <doc xml:whitespace="preserve">List of types</doc>
898           <array length="0" c:type="GType*">
899             <type name="GType"/>
900           </array>
901         </parameter>
902       </parameters>
903     </function>
904     <function name="test_array_int_full_out"
905               c:identifier="test_array_int_full_out">
906       <return-value transfer-ownership="full">
907         <doc xml:whitespace="preserve">a new array of integers.</doc>
908         <array length="0" c:type="int*">
909           <type name="int"/>
910         </array>
911       </return-value>
912       <parameters>
913         <parameter name="len"
914                    direction="out"
915                    caller-allocates="0"
916                    transfer-ownership="full">
917           <doc xml:whitespace="preserve">length of the returned array.</doc>
918           <type name="int" c:type="int*"/>
919         </parameter>
920       </parameters>
921     </function>
922     <function name="test_array_int_in" c:identifier="test_array_int_in">
923       <return-value transfer-ownership="none">
924         <type name="int" c:type="int"/>
925       </return-value>
926       <parameters>
927         <parameter name="n_ints" transfer-ownership="none">
928           <type name="int" c:type="int"/>
929         </parameter>
930         <parameter name="ints" transfer-ownership="none">
931           <doc xml:whitespace="preserve">List of ints</doc>
932           <array length="0" c:type="int*">
933             <type name="int"/>
934           </array>
935         </parameter>
936       </parameters>
937     </function>
938     <function name="test_array_int_in_take"
939               c:identifier="test_array_int_in_take">
940       <return-value transfer-ownership="none">
941         <type name="int" c:type="int"/>
942       </return-value>
943       <parameters>
944         <parameter name="n_ints" transfer-ownership="none">
945           <type name="int" c:type="int"/>
946         </parameter>
947         <parameter name="ints" transfer-ownership="full">
948           <doc xml:whitespace="preserve">List of ints</doc>
949           <array length="0" c:type="int*">
950             <type name="int"/>
951           </array>
952         </parameter>
953       </parameters>
954     </function>
955     <function name="test_array_int_inout" c:identifier="test_array_int_inout">
956       <return-value transfer-ownership="none">
957         <type name="none" c:type="void"/>
958       </return-value>
959       <parameters>
960         <parameter name="n_ints"
961                    direction="inout"
962                    caller-allocates="0"
963                    transfer-ownership="full">
964           <doc xml:whitespace="preserve">the length of @ints</doc>
965           <type name="int" c:type="int*"/>
966         </parameter>
967         <parameter name="ints"
968                    direction="inout"
969                    caller-allocates="0"
970                    transfer-ownership="full">
971           <doc xml:whitespace="preserve">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
972           <array length="0" c:type="int**">
973             <type name="int"/>
974           </array>
975         </parameter>
976       </parameters>
977     </function>
978     <function name="test_array_int_none_out"
979               c:identifier="test_array_int_none_out">
980       <return-value transfer-ownership="none">
981         <doc xml:whitespace="preserve">a static array of integers.</doc>
982         <array length="0" c:type="int*">
983           <type name="int"/>
984         </array>
985       </return-value>
986       <parameters>
987         <parameter name="len"
988                    direction="out"
989                    caller-allocates="0"
990                    transfer-ownership="full">
991           <doc xml:whitespace="preserve">length of the returned array.</doc>
992           <type name="int" c:type="int*"/>
993         </parameter>
994       </parameters>
995     </function>
996     <function name="test_array_int_null_in"
997               c:identifier="test_array_int_null_in">
998       <return-value transfer-ownership="none">
999         <type name="none" c:type="void"/>
1000       </return-value>
1001       <parameters>
1002         <parameter name="arr" transfer-ownership="none" allow-none="1">
1003           <array length="1" c:type="int*">
1004             <type name="int"/>
1005           </array>
1006         </parameter>
1007         <parameter name="len" transfer-ownership="none">
1008           <doc xml:whitespace="preserve">length</doc>
1009           <type name="int" c:type="int"/>
1010         </parameter>
1011       </parameters>
1012     </function>
1013     <function name="test_array_int_null_out"
1014               c:identifier="test_array_int_null_out">
1015       <return-value transfer-ownership="none">
1016         <type name="none" c:type="void"/>
1017       </return-value>
1018       <parameters>
1019         <parameter name="arr"
1020                    direction="out"
1021                    caller-allocates="0"
1022                    transfer-ownership="full"
1023                    allow-none="1">
1024           <array length="1" c:type="int**">
1025             <type name="int"/>
1026           </array>
1027         </parameter>
1028         <parameter name="len"
1029                    direction="out"
1030                    caller-allocates="0"
1031                    transfer-ownership="full">
1032           <doc xml:whitespace="preserve">length</doc>
1033           <type name="int" c:type="int*"/>
1034         </parameter>
1035       </parameters>
1036     </function>
1037     <function name="test_array_int_out" c:identifier="test_array_int_out">
1038       <return-value transfer-ownership="none">
1039         <type name="none" c:type="void"/>
1040       </return-value>
1041       <parameters>
1042         <parameter name="n_ints"
1043                    direction="out"
1044                    caller-allocates="0"
1045                    transfer-ownership="full">
1046           <doc xml:whitespace="preserve">the length of @ints</doc>
1047           <type name="int" c:type="int*"/>
1048         </parameter>
1049         <parameter name="ints"
1050                    direction="out"
1051                    caller-allocates="0"
1052                    transfer-ownership="full">
1053           <doc xml:whitespace="preserve">a list of 5 integers, from 0 to 4 in consecutive order</doc>
1054           <array length="0" c:type="int**">
1055             <type name="int"/>
1056           </array>
1057         </parameter>
1058       </parameters>
1059     </function>
1060     <function name="test_async_ready_callback"
1061               c:identifier="test_async_ready_callback">
1062       <return-value transfer-ownership="none">
1063         <type name="none" c:type="void"/>
1064       </return-value>
1065       <parameters>
1066         <parameter name="callback" transfer-ownership="none" scope="async">
1067           <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
1068         </parameter>
1069       </parameters>
1070     </function>
1071     <function name="test_boolean" c:identifier="test_boolean">
1072       <return-value transfer-ownership="none">
1073         <type name="boolean" c:type="gboolean"/>
1074       </return-value>
1075       <parameters>
1076         <parameter name="in" transfer-ownership="none">
1077           <type name="boolean" c:type="gboolean"/>
1078         </parameter>
1079       </parameters>
1080     </function>
1081     <function name="test_boolean_false" c:identifier="test_boolean_false">
1082       <return-value transfer-ownership="none">
1083         <type name="boolean" c:type="gboolean"/>
1084       </return-value>
1085       <parameters>
1086         <parameter name="in" transfer-ownership="none">
1087           <type name="boolean" c:type="gboolean"/>
1088         </parameter>
1089       </parameters>
1090     </function>
1091     <function name="test_boolean_true" c:identifier="test_boolean_true">
1092       <return-value transfer-ownership="none">
1093         <type name="boolean" c:type="gboolean"/>
1094       </return-value>
1095       <parameters>
1096         <parameter name="in" transfer-ownership="none">
1097           <type name="boolean" c:type="gboolean"/>
1098         </parameter>
1099       </parameters>
1100     </function>
1101     <function name="test_cairo_context_full_return"
1102               c:identifier="test_cairo_context_full_return">
1103       <return-value transfer-ownership="full">
1104         <type name="cairo.Context" c:type="cairo_t*"/>
1105       </return-value>
1106     </function>
1107     <function name="test_cairo_context_none_in"
1108               c:identifier="test_cairo_context_none_in">
1109       <return-value transfer-ownership="none">
1110         <type name="none" c:type="void"/>
1111       </return-value>
1112       <parameters>
1113         <parameter name="context" transfer-ownership="none">
1114           <type name="cairo.Context" c:type="cairo_t*"/>
1115         </parameter>
1116       </parameters>
1117     </function>
1118     <function name="test_cairo_surface_full_out"
1119               c:identifier="test_cairo_surface_full_out">
1120       <return-value transfer-ownership="none">
1121         <type name="none" c:type="void"/>
1122       </return-value>
1123       <parameters>
1124         <parameter name="surface"
1125                    direction="out"
1126                    caller-allocates="0"
1127                    transfer-ownership="full">
1128           <type name="cairo.Surface" c:type="cairo_surface_t**"/>
1129         </parameter>
1130       </parameters>
1131     </function>
1132     <function name="test_cairo_surface_full_return"
1133               c:identifier="test_cairo_surface_full_return">
1134       <return-value transfer-ownership="full">
1135         <type name="cairo.Surface" c:type="cairo_surface_t*"/>
1136       </return-value>
1137     </function>
1138     <function name="test_cairo_surface_none_in"
1139               c:identifier="test_cairo_surface_none_in">
1140       <return-value transfer-ownership="none">
1141         <type name="none" c:type="void"/>
1142       </return-value>
1143       <parameters>
1144         <parameter name="surface" transfer-ownership="none">
1145           <type name="cairo.Surface" c:type="cairo_surface_t*"/>
1146         </parameter>
1147       </parameters>
1148     </function>
1149     <function name="test_cairo_surface_none_return"
1150               c:identifier="test_cairo_surface_none_return">
1151       <return-value transfer-ownership="none">
1152         <type name="cairo.Surface" c:type="cairo_surface_t*"/>
1153       </return-value>
1154     </function>
1155     <function name="test_callback" c:identifier="test_callback">
1156       <return-value transfer-ownership="none">
1157         <type name="int" c:type="int"/>
1158       </return-value>
1159       <parameters>
1160         <parameter name="callback"
1161                    transfer-ownership="none"
1162                    allow-none="1"
1163                    scope="call">
1164           <type name="TestCallback" c:type="TestCallback"/>
1165         </parameter>
1166       </parameters>
1167     </function>
1168     <function name="test_callback_async" c:identifier="test_callback_async">
1169       <return-value transfer-ownership="none">
1170         <type name="none" c:type="void"/>
1171       </return-value>
1172       <parameters>
1173         <parameter name="callback"
1174                    transfer-ownership="none"
1175                    scope="async"
1176                    closure="1">
1177           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
1178         </parameter>
1179         <parameter name="user_data" transfer-ownership="none">
1180           <type name="any" c:type="gpointer"/>
1181         </parameter>
1182       </parameters>
1183     </function>
1184     <function name="test_callback_destroy_notify"
1185               c:identifier="test_callback_destroy_notify">
1186       <doc xml:whitespace="preserve">Notified - callback persists until a DestroyNotify delegate
1187 is invoked.</doc>
1188       <return-value transfer-ownership="none">
1189         <type name="int" c:type="int"/>
1190       </return-value>
1191       <parameters>
1192         <parameter name="callback"
1193                    transfer-ownership="none"
1194                    scope="notified"
1195                    closure="1"
1196                    destroy="2">
1197           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
1198         </parameter>
1199         <parameter name="user_data" transfer-ownership="none">
1200           <type name="any" c:type="gpointer"/>
1201         </parameter>
1202         <parameter name="notify" transfer-ownership="none" scope="call">
1203           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1204         </parameter>
1205       </parameters>
1206     </function>
1207     <function name="test_callback_thaw_async"
1208               c:identifier="test_callback_thaw_async">
1209       <return-value transfer-ownership="none">
1210         <type name="int" c:type="int"/>
1211       </return-value>
1212     </function>
1213     <function name="test_callback_thaw_notifications"
1214               c:identifier="test_callback_thaw_notifications">
1215       <doc xml:whitespace="preserve">Invokes all callbacks installed by #test_callback_destroy_notify(),
1216 adding up their return values, and removes them, invoking the
1217 corresponding destroy notfications.</doc>
1218       <return-value transfer-ownership="none">
1219         <doc xml:whitespace="preserve">Sum of the return values of the invoked callbacks.</doc>
1220         <type name="int" c:type="int"/>
1221       </return-value>
1222     </function>
1223     <function name="test_callback_user_data"
1224               c:identifier="test_callback_user_data">
1225       <doc xml:whitespace="preserve">Call - callback parameter persists for the duration of the method
1226 call and can be released on return.</doc>
1227       <return-value transfer-ownership="none">
1228         <type name="int" c:type="int"/>
1229       </return-value>
1230       <parameters>
1231         <parameter name="callback"
1232                    transfer-ownership="none"
1233                    scope="call"
1234                    closure="1">
1235           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
1236         </parameter>
1237         <parameter name="user_data" transfer-ownership="none">
1238           <type name="any" c:type="gpointer"/>
1239         </parameter>
1240       </parameters>
1241     </function>
1242     <function name="test_closure" c:identifier="test_closure">
1243       <return-value transfer-ownership="none">
1244         <type name="int" c:type="int"/>
1245       </return-value>
1246       <parameters>
1247         <parameter name="closure" transfer-ownership="none">
1248           <type name="GObject.Closure" c:type="GClosure*"/>
1249         </parameter>
1250       </parameters>
1251     </function>
1252     <function name="test_closure_one_arg" c:identifier="test_closure_one_arg">
1253       <return-value transfer-ownership="none">
1254         <type name="int" c:type="int"/>
1255       </return-value>
1256       <parameters>
1257         <parameter name="closure" transfer-ownership="none">
1258           <type name="GObject.Closure" c:type="GClosure*"/>
1259         </parameter>
1260         <parameter name="arg" transfer-ownership="none">
1261           <type name="int" c:type="int"/>
1262         </parameter>
1263       </parameters>
1264     </function>
1265     <function name="test_date_in_gvalue" c:identifier="test_date_in_gvalue">
1266       <return-value transfer-ownership="full">
1267         <type name="GObject.Value" c:type="GValue*"/>
1268       </return-value>
1269     </function>
1270     <function name="test_double" c:identifier="test_double">
1271       <return-value transfer-ownership="none">
1272         <type name="double" c:type="gdouble"/>
1273       </return-value>
1274       <parameters>
1275         <parameter name="in" transfer-ownership="none">
1276           <type name="double" c:type="gdouble"/>
1277         </parameter>
1278       </parameters>
1279     </function>
1280     <function name="test_enum_param" c:identifier="test_enum_param">
1281       <return-value transfer-ownership="none">
1282         <type name="utf8" c:type="gchar*"/>
1283       </return-value>
1284       <parameters>
1285         <parameter name="e" transfer-ownership="none">
1286           <type name="TestEnum" c:type="TestEnum"/>
1287         </parameter>
1288       </parameters>
1289     </function>
1290     <function name="test_filename_return" c:identifier="test_filename_return">
1291       <return-value transfer-ownership="full">
1292         <doc xml:whitespace="preserve">list of strings</doc>
1293         <type name="GLib.SList" c:type="GSList*">
1294           <type name="filename"/>
1295         </type>
1296       </return-value>
1297     </function>
1298     <function name="test_float" c:identifier="test_float">
1299       <return-value transfer-ownership="none">
1300         <type name="float" c:type="gfloat"/>
1301       </return-value>
1302       <parameters>
1303         <parameter name="in" transfer-ownership="none">
1304           <type name="float" c:type="gfloat"/>
1305         </parameter>
1306       </parameters>
1307     </function>
1308     <function name="test_ghash_container_in"
1309               c:identifier="test_ghash_container_in">
1310       <return-value transfer-ownership="none">
1311         <type name="none" c:type="void"/>
1312       </return-value>
1313       <parameters>
1314         <parameter name="in" transfer-ownership="container">
1315           <type name="GLib.HashTable" c:type="GHashTable*">
1316             <type name="utf8"/>
1317             <type name="utf8"/>
1318           </type>
1319         </parameter>
1320       </parameters>
1321     </function>
1322     <function name="test_ghash_container_return"
1323               c:identifier="test_ghash_container_return">
1324       <return-value transfer-ownership="container">
1325         <type name="GLib.HashTable" c:type="GHashTable*">
1326           <type name="utf8"/>
1327           <type name="utf8"/>
1328         </type>
1329       </return-value>
1330     </function>
1331     <function name="test_ghash_everything_in"
1332               c:identifier="test_ghash_everything_in">
1333       <return-value transfer-ownership="none">
1334         <type name="none" c:type="void"/>
1335       </return-value>
1336       <parameters>
1337         <parameter name="in" transfer-ownership="full">
1338           <type name="GLib.HashTable" c:type="GHashTable*">
1339             <type name="utf8"/>
1340             <type name="utf8"/>
1341           </type>
1342         </parameter>
1343       </parameters>
1344     </function>
1345     <function name="test_ghash_everything_return"
1346               c:identifier="test_ghash_everything_return">
1347       <return-value transfer-ownership="full">
1348         <type name="GLib.HashTable" c:type="GHashTable*">
1349           <type name="utf8"/>
1350           <type name="utf8"/>
1351         </type>
1352       </return-value>
1353     </function>
1354     <function name="test_ghash_free" c:identifier="test_ghash_free">
1355       <return-value transfer-ownership="none">
1356         <type name="none" c:type="void"/>
1357       </return-value>
1358       <parameters>
1359         <parameter name="in" transfer-ownership="full">
1360           <type name="GLib.HashTable" c:type="GHashTable*">
1361             <type name="utf8"/>
1362             <type name="utf8"/>
1363           </type>
1364         </parameter>
1365       </parameters>
1366     </function>
1367     <function name="test_ghash_nested_everything_return"
1368               c:identifier="test_ghash_nested_everything_return">
1369       <doc xml:whitespace="preserve">Specify nested parameterized types directly with the (type ) annotation.</doc>
1370       <return-value transfer-ownership="full">
1371         <type name="GLib.HashTable" c:type="GHashTable*">
1372           <type name="utf8"/>
1373           <type name="GLib.HashTable">
1374             <type name="utf8"/>
1375             <type name="utf8"/>
1376           </type>
1377         </type>
1378       </return-value>
1379     </function>
1380     <function name="test_ghash_nested_everything_return2"
1381               c:identifier="test_ghash_nested_everything_return2">
1382       <doc xml:whitespace="preserve">element-type annotation.</doc>
1383       <return-value transfer-ownership="full">
1384         <type name="GLib.HashTable" c:type="GHashTable*">
1385           <type name="utf8"/>
1386           <type name="GLib.HashTable">
1387             <type name="utf8"/>
1388             <type name="utf8"/>
1389           </type>
1390         </type>
1391       </return-value>
1392     </function>
1393     <function name="test_ghash_nothing_in"
1394               c:identifier="test_ghash_nothing_in">
1395       <return-value transfer-ownership="none">
1396         <type name="none" c:type="void"/>
1397       </return-value>
1398       <parameters>
1399         <parameter name="in" transfer-ownership="none">
1400           <type name="GLib.HashTable" c:type="GHashTable*">
1401             <type name="utf8"/>
1402             <type name="utf8"/>
1403           </type>
1404         </parameter>
1405       </parameters>
1406     </function>
1407     <function name="test_ghash_nothing_in2"
1408               c:identifier="test_ghash_nothing_in2">
1409       <return-value transfer-ownership="none">
1410         <type name="none" c:type="void"/>
1411       </return-value>
1412       <parameters>
1413         <parameter name="in" transfer-ownership="none">
1414           <type name="GLib.HashTable" c:type="GHashTable*">
1415             <type name="utf8"/>
1416             <type name="utf8"/>
1417           </type>
1418         </parameter>
1419       </parameters>
1420     </function>
1421     <function name="test_ghash_nothing_return"
1422               c:identifier="test_ghash_nothing_return">
1423       <return-value transfer-ownership="none">
1424         <type name="GLib.HashTable" c:type="GHashTable*">
1425           <type name="utf8"/>
1426           <type name="utf8"/>
1427         </type>
1428       </return-value>
1429     </function>
1430     <function name="test_ghash_nothing_return2"
1431               c:identifier="test_ghash_nothing_return2">
1432       <return-value transfer-ownership="none">
1433         <type name="GLib.HashTable" c:type="GHashTable*">
1434           <type name="utf8"/>
1435           <type name="utf8"/>
1436         </type>
1437       </return-value>
1438     </function>
1439     <function name="test_ghash_null_in" c:identifier="test_ghash_null_in">
1440       <return-value transfer-ownership="none">
1441         <type name="none" c:type="void"/>
1442       </return-value>
1443       <parameters>
1444         <parameter name="in" transfer-ownership="none" allow-none="1">
1445           <type name="GLib.HashTable" c:type="GHashTable*">
1446             <type name="utf8"/>
1447             <type name="utf8"/>
1448           </type>
1449         </parameter>
1450       </parameters>
1451     </function>
1452     <function name="test_ghash_null_out" c:identifier="test_ghash_null_out">
1453       <return-value transfer-ownership="none">
1454         <type name="none" c:type="void"/>
1455       </return-value>
1456       <parameters>
1457         <parameter name="out"
1458                    direction="out"
1459                    caller-allocates="0"
1460                    transfer-ownership="full"
1461                    allow-none="1">
1462           <type name="GLib.HashTable" c:type="GHashTable**">
1463             <type name="utf8"/>
1464             <type name="utf8"/>
1465           </type>
1466         </parameter>
1467       </parameters>
1468     </function>
1469     <function name="test_ghash_null_return"
1470               c:identifier="test_ghash_null_return">
1471       <return-value transfer-ownership="none">
1472         <type name="GLib.HashTable" c:type="GHashTable*">
1473           <type name="utf8"/>
1474           <type name="utf8"/>
1475         </type>
1476       </return-value>
1477     </function>
1478     <function name="test_glist_container_in"
1479               c:identifier="test_glist_container_in">
1480       <return-value transfer-ownership="none">
1481         <type name="none" c:type="void"/>
1482       </return-value>
1483       <parameters>
1484         <parameter name="in" transfer-ownership="container">
1485           <type name="GLib.List" c:type="GList*">
1486             <type name="utf8"/>
1487           </type>
1488         </parameter>
1489       </parameters>
1490     </function>
1491     <function name="test_glist_container_return"
1492               c:identifier="test_glist_container_return">
1493       <return-value transfer-ownership="container">
1494         <type name="GLib.List" c:type="GList*">
1495           <type name="utf8"/>
1496         </type>
1497       </return-value>
1498     </function>
1499     <function name="test_glist_everything_in"
1500               c:identifier="test_glist_everything_in">
1501       <return-value transfer-ownership="none">
1502         <type name="none" c:type="void"/>
1503       </return-value>
1504       <parameters>
1505         <parameter name="in" transfer-ownership="full">
1506           <type name="GLib.List" c:type="GList*">
1507             <type name="utf8"/>
1508           </type>
1509         </parameter>
1510       </parameters>
1511     </function>
1512     <function name="test_glist_everything_return"
1513               c:identifier="test_glist_everything_return">
1514       <return-value transfer-ownership="full">
1515         <type name="GLib.List" c:type="GList*">
1516           <type name="utf8"/>
1517         </type>
1518       </return-value>
1519     </function>
1520     <function name="test_glist_free" c:identifier="test_glist_free">
1521       <return-value transfer-ownership="none">
1522         <type name="none" c:type="void"/>
1523       </return-value>
1524       <parameters>
1525         <parameter name="in" transfer-ownership="full">
1526           <type name="GLib.List" c:type="GList*">
1527             <type name="utf8"/>
1528           </type>
1529         </parameter>
1530       </parameters>
1531     </function>
1532     <function name="test_glist_nothing_in"
1533               c:identifier="test_glist_nothing_in">
1534       <return-value transfer-ownership="none">
1535         <type name="none" c:type="void"/>
1536       </return-value>
1537       <parameters>
1538         <parameter name="in" transfer-ownership="none">
1539           <type name="GLib.List" c:type="GList*">
1540             <type name="utf8"/>
1541           </type>
1542         </parameter>
1543       </parameters>
1544     </function>
1545     <function name="test_glist_nothing_in2"
1546               c:identifier="test_glist_nothing_in2">
1547       <return-value transfer-ownership="none">
1548         <type name="none" c:type="void"/>
1549       </return-value>
1550       <parameters>
1551         <parameter name="in" transfer-ownership="none">
1552           <type name="GLib.List" c:type="GList*">
1553             <type name="utf8"/>
1554           </type>
1555         </parameter>
1556       </parameters>
1557     </function>
1558     <function name="test_glist_nothing_return"
1559               c:identifier="test_glist_nothing_return">
1560       <return-value transfer-ownership="none">
1561         <type name="GLib.List" c:type="GList*">
1562           <type name="utf8"/>
1563         </type>
1564       </return-value>
1565     </function>
1566     <function name="test_glist_nothing_return2"
1567               c:identifier="test_glist_nothing_return2">
1568       <return-value transfer-ownership="none">
1569         <type name="GLib.List" c:type="GList*">
1570           <type name="utf8"/>
1571         </type>
1572       </return-value>
1573     </function>
1574     <function name="test_glist_null_in" c:identifier="test_glist_null_in">
1575       <return-value transfer-ownership="none">
1576         <type name="none" c:type="void"/>
1577       </return-value>
1578       <parameters>
1579         <parameter name="in" transfer-ownership="none" allow-none="1">
1580           <type name="GLib.SList" c:type="GSList*">
1581             <type name="utf8"/>
1582           </type>
1583         </parameter>
1584       </parameters>
1585     </function>
1586     <function name="test_glist_null_out" c:identifier="test_glist_null_out">
1587       <return-value transfer-ownership="none">
1588         <type name="none" c:type="void"/>
1589       </return-value>
1590       <parameters>
1591         <parameter name="out_list"
1592                    direction="out"
1593                    caller-allocates="0"
1594                    transfer-ownership="full"
1595                    allow-none="1">
1596           <type name="GLib.SList" c:type="GSList**">
1597             <type name="utf8"/>
1598           </type>
1599         </parameter>
1600       </parameters>
1601     </function>
1602     <function name="test_gslist_container_in"
1603               c:identifier="test_gslist_container_in">
1604       <return-value transfer-ownership="none">
1605         <type name="none" c:type="void"/>
1606       </return-value>
1607       <parameters>
1608         <parameter name="in" transfer-ownership="container">
1609           <type name="GLib.SList" c:type="GSList*">
1610             <type name="utf8"/>
1611           </type>
1612         </parameter>
1613       </parameters>
1614     </function>
1615     <function name="test_gslist_container_return"
1616               c:identifier="test_gslist_container_return">
1617       <return-value transfer-ownership="container">
1618         <type name="GLib.SList" c:type="GSList*">
1619           <type name="utf8"/>
1620         </type>
1621       </return-value>
1622     </function>
1623     <function name="test_gslist_everything_in"
1624               c:identifier="test_gslist_everything_in">
1625       <return-value transfer-ownership="none">
1626         <type name="none" c:type="void"/>
1627       </return-value>
1628       <parameters>
1629         <parameter name="in" transfer-ownership="full">
1630           <type name="GLib.SList" c:type="GSList*">
1631             <type name="utf8"/>
1632           </type>
1633         </parameter>
1634       </parameters>
1635     </function>
1636     <function name="test_gslist_everything_return"
1637               c:identifier="test_gslist_everything_return">
1638       <return-value transfer-ownership="full">
1639         <type name="GLib.SList" c:type="GSList*">
1640           <type name="utf8"/>
1641         </type>
1642       </return-value>
1643     </function>
1644     <function name="test_gslist_free" c:identifier="test_gslist_free">
1645       <return-value transfer-ownership="none">
1646         <type name="none" c:type="void"/>
1647       </return-value>
1648       <parameters>
1649         <parameter name="in" transfer-ownership="full">
1650           <type name="GLib.SList" c:type="GSList*">
1651             <type name="utf8"/>
1652           </type>
1653         </parameter>
1654       </parameters>
1655     </function>
1656     <function name="test_gslist_nothing_in"
1657               c:identifier="test_gslist_nothing_in">
1658       <return-value transfer-ownership="none">
1659         <type name="none" c:type="void"/>
1660       </return-value>
1661       <parameters>
1662         <parameter name="in" transfer-ownership="none">
1663           <type name="GLib.SList" c:type="GSList*">
1664             <type name="utf8"/>
1665           </type>
1666         </parameter>
1667       </parameters>
1668     </function>
1669     <function name="test_gslist_nothing_in2"
1670               c:identifier="test_gslist_nothing_in2">
1671       <return-value transfer-ownership="none">
1672         <type name="none" c:type="void"/>
1673       </return-value>
1674       <parameters>
1675         <parameter name="in" transfer-ownership="none">
1676           <type name="GLib.SList" c:type="GSList*">
1677             <type name="utf8"/>
1678           </type>
1679         </parameter>
1680       </parameters>
1681     </function>
1682     <function name="test_gslist_nothing_return"
1683               c:identifier="test_gslist_nothing_return">
1684       <return-value transfer-ownership="none">
1685         <type name="GLib.SList" c:type="GSList*">
1686           <type name="utf8"/>
1687         </type>
1688       </return-value>
1689     </function>
1690     <function name="test_gslist_nothing_return2"
1691               c:identifier="test_gslist_nothing_return2">
1692       <return-value transfer-ownership="none">
1693         <type name="GLib.SList" c:type="GSList*">
1694           <type name="utf8"/>
1695         </type>
1696       </return-value>
1697     </function>
1698     <function name="test_gslist_null_in" c:identifier="test_gslist_null_in">
1699       <return-value transfer-ownership="none">
1700         <type name="none" c:type="void"/>
1701       </return-value>
1702       <parameters>
1703         <parameter name="in" transfer-ownership="none" allow-none="1">
1704           <type name="GLib.SList" c:type="GSList*">
1705             <type name="utf8"/>
1706           </type>
1707         </parameter>
1708       </parameters>
1709     </function>
1710     <function name="test_gslist_null_out" c:identifier="test_gslist_null_out">
1711       <return-value transfer-ownership="none">
1712         <type name="none" c:type="void"/>
1713       </return-value>
1714       <parameters>
1715         <parameter name="out_list"
1716                    direction="out"
1717                    caller-allocates="0"
1718                    transfer-ownership="full"
1719                    allow-none="1">
1720           <type name="GLib.SList" c:type="GSList**">
1721             <type name="utf8"/>
1722           </type>
1723         </parameter>
1724       </parameters>
1725     </function>
1726     <function name="test_gtype" c:identifier="test_gtype">
1727       <return-value transfer-ownership="none">
1728         <type name="GType" c:type="GType"/>
1729       </return-value>
1730       <parameters>
1731         <parameter name="in" transfer-ownership="none">
1732           <type name="GType" c:type="GType"/>
1733         </parameter>
1734       </parameters>
1735     </function>
1736     <function name="test_int" c:identifier="test_int">
1737       <return-value transfer-ownership="none">
1738         <type name="int" c:type="gint"/>
1739       </return-value>
1740       <parameters>
1741         <parameter name="in" transfer-ownership="none">
1742           <type name="int" c:type="gint"/>
1743         </parameter>
1744       </parameters>
1745     </function>
1746     <function name="test_int16" c:identifier="test_int16">
1747       <return-value transfer-ownership="none">
1748         <type name="int16" c:type="gint16"/>
1749       </return-value>
1750       <parameters>
1751         <parameter name="in" transfer-ownership="none">
1752           <type name="int16" c:type="gint16"/>
1753         </parameter>
1754       </parameters>
1755     </function>
1756     <function name="test_int32" c:identifier="test_int32">
1757       <return-value transfer-ownership="none">
1758         <type name="int32" c:type="gint32"/>
1759       </return-value>
1760       <parameters>
1761         <parameter name="in" transfer-ownership="none">
1762           <type name="int32" c:type="gint32"/>
1763         </parameter>
1764       </parameters>
1765     </function>
1766     <function name="test_int64" c:identifier="test_int64">
1767       <return-value transfer-ownership="none">
1768         <type name="int64" c:type="gint64"/>
1769       </return-value>
1770       <parameters>
1771         <parameter name="in" transfer-ownership="none">
1772           <type name="int64" c:type="gint64"/>
1773         </parameter>
1774       </parameters>
1775     </function>
1776     <function name="test_int8" c:identifier="test_int8">
1777       <return-value transfer-ownership="none">
1778         <type name="int8" c:type="gint8"/>
1779       </return-value>
1780       <parameters>
1781         <parameter name="in" transfer-ownership="none">
1782           <type name="int8" c:type="gint8"/>
1783         </parameter>
1784       </parameters>
1785     </function>
1786     <function name="test_int_out_utf8" c:identifier="test_int_out_utf8">
1787       <return-value transfer-ownership="none">
1788         <type name="none" c:type="void"/>
1789       </return-value>
1790       <parameters>
1791         <parameter name="length"
1792                    direction="out"
1793                    caller-allocates="0"
1794                    transfer-ownership="full">
1795           <type name="int" c:type="int*"/>
1796         </parameter>
1797         <parameter name="in" transfer-ownership="none">
1798           <type name="utf8" c:type="char*"/>
1799         </parameter>
1800       </parameters>
1801     </function>
1802     <function name="test_int_value_arg" c:identifier="test_int_value_arg">
1803       <return-value transfer-ownership="none">
1804         <type name="int" c:type="int"/>
1805       </return-value>
1806       <parameters>
1807         <parameter name="v" transfer-ownership="none">
1808           <type name="GObject.Value" c:type="GValue*"/>
1809         </parameter>
1810       </parameters>
1811     </function>
1812     <function name="test_long" c:identifier="test_long">
1813       <return-value transfer-ownership="none">
1814         <type name="long" c:type="glong"/>
1815       </return-value>
1816       <parameters>
1817         <parameter name="in" transfer-ownership="none">
1818           <type name="long" c:type="glong"/>
1819         </parameter>
1820       </parameters>
1821     </function>
1822     <function name="test_multi_callback" c:identifier="test_multi_callback">
1823       <return-value transfer-ownership="none">
1824         <type name="int" c:type="int"/>
1825       </return-value>
1826       <parameters>
1827         <parameter name="callback"
1828                    transfer-ownership="none"
1829                    allow-none="1"
1830                    scope="call">
1831           <type name="TestCallback" c:type="TestCallback"/>
1832         </parameter>
1833       </parameters>
1834     </function>
1835     <function name="test_multi_double_args"
1836               c:identifier="test_multi_double_args">
1837       <return-value transfer-ownership="none">
1838         <type name="none" c:type="void"/>
1839       </return-value>
1840       <parameters>
1841         <parameter name="in" transfer-ownership="none">
1842           <type name="double" c:type="gdouble"/>
1843         </parameter>
1844         <parameter name="one"
1845                    direction="out"
1846                    caller-allocates="0"
1847                    transfer-ownership="full">
1848           <type name="double" c:type="gdouble*"/>
1849         </parameter>
1850         <parameter name="two"
1851                    direction="out"
1852                    caller-allocates="0"
1853                    transfer-ownership="full">
1854           <type name="double" c:type="gdouble*"/>
1855         </parameter>
1856       </parameters>
1857     </function>
1858     <function name="test_object_null_in" c:identifier="test_object_null_in">
1859       <return-value transfer-ownership="none">
1860         <type name="none" c:type="void"/>
1861       </return-value>
1862       <parameters>
1863         <parameter name="obj" transfer-ownership="none" allow-none="1">
1864           <doc xml:whitespace="preserve">A #TestObj</doc>
1865           <type name="TestObj" c:type="TestObj*"/>
1866         </parameter>
1867       </parameters>
1868     </function>
1869     <function name="test_object_null_out" c:identifier="test_object_null_out">
1870       <return-value transfer-ownership="none">
1871         <type name="none" c:type="void"/>
1872       </return-value>
1873       <parameters>
1874         <parameter name="obj"
1875                    direction="out"
1876                    caller-allocates="0"
1877                    transfer-ownership="full"
1878                    allow-none="1">
1879           <doc xml:whitespace="preserve">A #TestObj</doc>
1880           <type name="TestObj" c:type="TestObj**"/>
1881         </parameter>
1882       </parameters>
1883     </function>
1884     <function name="test_short" c:identifier="test_short">
1885       <return-value transfer-ownership="none">
1886         <type name="short" c:type="gshort"/>
1887       </return-value>
1888       <parameters>
1889         <parameter name="in" transfer-ownership="none">
1890           <type name="short" c:type="gshort"/>
1891         </parameter>
1892       </parameters>
1893     </function>
1894     <function name="test_simple_boxed_a_const_return"
1895               c:identifier="test_simple_boxed_a_const_return">
1896       <return-value transfer-ownership="none">
1897         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
1898       </return-value>
1899     </function>
1900     <function name="test_simple_callback" c:identifier="test_simple_callback">
1901       <return-value transfer-ownership="none">
1902         <type name="none" c:type="void"/>
1903       </return-value>
1904       <parameters>
1905         <parameter name="callback"
1906                    transfer-ownership="none"
1907                    allow-none="1"
1908                    scope="call">
1909           <type name="TestSimpleCallback" c:type="TestSimpleCallback"/>
1910         </parameter>
1911       </parameters>
1912     </function>
1913     <function name="test_size" c:identifier="test_size">
1914       <return-value transfer-ownership="none">
1915         <type name="gsize" c:type="gsize"/>
1916       </return-value>
1917       <parameters>
1918         <parameter name="in" transfer-ownership="none">
1919           <type name="gsize" c:type="gsize"/>
1920         </parameter>
1921       </parameters>
1922     </function>
1923     <function name="test_ssize" c:identifier="test_ssize">
1924       <return-value transfer-ownership="none">
1925         <type name="gssize" c:type="gssize"/>
1926       </return-value>
1927       <parameters>
1928         <parameter name="in" transfer-ownership="none">
1929           <type name="gssize" c:type="gssize"/>
1930         </parameter>
1931       </parameters>
1932     </function>
1933     <function name="test_strv_in" c:identifier="test_strv_in">
1934       <return-value transfer-ownership="none">
1935         <type name="boolean" c:type="gboolean"/>
1936       </return-value>
1937       <parameters>
1938         <parameter name="arr" transfer-ownership="none">
1939           <array c:type="char**">
1940             <type name="utf8"/>
1941           </array>
1942         </parameter>
1943       </parameters>
1944     </function>
1945     <function name="test_strv_in_container"
1946               c:identifier="test_strv_in_container">
1947       <return-value transfer-ownership="none">
1948         <type name="boolean" c:type="gboolean"/>
1949       </return-value>
1950       <parameters>
1951         <parameter name="arr" transfer-ownership="container">
1952           <array c:type="char**">
1953             <type name="utf8"/>
1954           </array>
1955         </parameter>
1956       </parameters>
1957     </function>
1958     <function name="test_strv_in_gvalue" c:identifier="test_strv_in_gvalue">
1959       <return-value transfer-ownership="full">
1960         <type name="GObject.Value" c:type="GValue*"/>
1961       </return-value>
1962     </function>
1963     <function name="test_strv_out" c:identifier="test_strv_out">
1964       <doc xml:whitespace="preserve">No annotations here.  We want the default to Do The Right Thing.</doc>
1965       <return-value transfer-ownership="full">
1966         <array c:type="char**">
1967           <type name="utf8"/>
1968         </array>
1969       </return-value>
1970     </function>
1971     <function name="test_strv_out_c" c:identifier="test_strv_out_c">
1972       <doc xml:whitespace="preserve">No annotations here.  We want the default to Do The Right Thing.</doc>
1973       <return-value transfer-ownership="full">
1974         <array c:type="char**">
1975           <type name="utf8"/>
1976         </array>
1977       </return-value>
1978     </function>
1979     <function name="test_strv_out_container"
1980               c:identifier="test_strv_out_container">
1981       <return-value transfer-ownership="container">
1982         <array c:type="char**">
1983           <type name="utf8"/>
1984         </array>
1985       </return-value>
1986     </function>
1987     <function name="test_strv_outarg" c:identifier="test_strv_outarg">
1988       <return-value transfer-ownership="none">
1989         <type name="none" c:type="void"/>
1990       </return-value>
1991       <parameters>
1992         <parameter name="retp"
1993                    direction="out"
1994                    caller-allocates="0"
1995                    transfer-ownership="container">
1996           <array c:type="char***">
1997             <type name="utf8"/>
1998           </array>
1999         </parameter>
2000       </parameters>
2001     </function>
2002     <function name="test_timet" c:identifier="test_timet">
2003       <return-value transfer-ownership="none">
2004         <type name="long" c:type="time_t"/>
2005       </return-value>
2006       <parameters>
2007         <parameter name="in" transfer-ownership="none">
2008           <type name="long" c:type="time_t"/>
2009         </parameter>
2010       </parameters>
2011     </function>
2012     <function name="test_torture_signature_0"
2013               c:identifier="test_torture_signature_0">
2014       <return-value transfer-ownership="none">
2015         <type name="none" c:type="void"/>
2016       </return-value>
2017       <parameters>
2018         <parameter name="x" transfer-ownership="none">
2019           <type name="int" c:type="int"/>
2020         </parameter>
2021         <parameter name="y"
2022                    direction="out"
2023                    caller-allocates="0"
2024                    transfer-ownership="full">
2025           <type name="double" c:type="double*"/>
2026         </parameter>
2027         <parameter name="z"
2028                    direction="out"
2029                    caller-allocates="0"
2030                    transfer-ownership="full">
2031           <type name="int" c:type="int*"/>
2032         </parameter>
2033         <parameter name="foo" transfer-ownership="none">
2034           <type name="utf8" c:type="char*"/>
2035         </parameter>
2036         <parameter name="q"
2037                    direction="out"
2038                    caller-allocates="0"
2039                    transfer-ownership="full">
2040           <type name="int" c:type="int*"/>
2041         </parameter>
2042         <parameter name="m" transfer-ownership="none">
2043           <type name="uint" c:type="guint"/>
2044         </parameter>
2045       </parameters>
2046     </function>
2047     <function name="test_torture_signature_1"
2048               c:identifier="test_torture_signature_1"
2049               throws="1">
2050       <doc xml:whitespace="preserve">This function throws an error if m is odd.</doc>
2051       <return-value transfer-ownership="none">
2052         <type name="boolean" c:type="gboolean"/>
2053       </return-value>
2054       <parameters>
2055         <parameter name="x" transfer-ownership="none">
2056           <type name="int" c:type="int"/>
2057         </parameter>
2058         <parameter name="y"
2059                    direction="out"
2060                    caller-allocates="0"
2061                    transfer-ownership="full">
2062           <type name="double" c:type="double*"/>
2063         </parameter>
2064         <parameter name="z"
2065                    direction="out"
2066                    caller-allocates="0"
2067                    transfer-ownership="full">
2068           <type name="int" c:type="int*"/>
2069         </parameter>
2070         <parameter name="foo" transfer-ownership="none">
2071           <type name="utf8" c:type="char*"/>
2072         </parameter>
2073         <parameter name="q"
2074                    direction="out"
2075                    caller-allocates="0"
2076                    transfer-ownership="full">
2077           <type name="int" c:type="int*"/>
2078         </parameter>
2079         <parameter name="m" transfer-ownership="none">
2080           <type name="uint" c:type="guint"/>
2081         </parameter>
2082       </parameters>
2083     </function>
2084     <function name="test_torture_signature_2"
2085               c:identifier="test_torture_signature_2">
2086       <return-value transfer-ownership="none">
2087         <type name="none" c:type="void"/>
2088       </return-value>
2089       <parameters>
2090         <parameter name="x" transfer-ownership="none">
2091           <type name="int" c:type="int"/>
2092         </parameter>
2093         <parameter name="callback"
2094                    transfer-ownership="none"
2095                    scope="notified"
2096                    closure="2"
2097                    destroy="3">
2098           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
2099         </parameter>
2100         <parameter name="user_data" transfer-ownership="none">
2101           <type name="any" c:type="gpointer"/>
2102         </parameter>
2103         <parameter name="notify" transfer-ownership="none" scope="call">
2104           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
2105         </parameter>
2106         <parameter name="y"
2107                    direction="out"
2108                    caller-allocates="0"
2109                    transfer-ownership="full">
2110           <type name="double" c:type="double*"/>
2111         </parameter>
2112         <parameter name="z"
2113                    direction="out"
2114                    caller-allocates="0"
2115                    transfer-ownership="full">
2116           <type name="int" c:type="int*"/>
2117         </parameter>
2118         <parameter name="foo" transfer-ownership="none">
2119           <type name="utf8" c:type="char*"/>
2120         </parameter>
2121         <parameter name="q"
2122                    direction="out"
2123                    caller-allocates="0"
2124                    transfer-ownership="full">
2125           <type name="int" c:type="int*"/>
2126         </parameter>
2127         <parameter name="m" transfer-ownership="none">
2128           <type name="uint" c:type="guint"/>
2129         </parameter>
2130       </parameters>
2131     </function>
2132     <function name="test_uint" c:identifier="test_uint">
2133       <return-value transfer-ownership="none">
2134         <type name="uint" c:type="guint"/>
2135       </return-value>
2136       <parameters>
2137         <parameter name="in" transfer-ownership="none">
2138           <type name="uint" c:type="guint"/>
2139         </parameter>
2140       </parameters>
2141     </function>
2142     <function name="test_uint16" c:identifier="test_uint16">
2143       <return-value transfer-ownership="none">
2144         <type name="uint16" c:type="guint16"/>
2145       </return-value>
2146       <parameters>
2147         <parameter name="in" transfer-ownership="none">
2148           <type name="uint16" c:type="guint16"/>
2149         </parameter>
2150       </parameters>
2151     </function>
2152     <function name="test_uint32" c:identifier="test_uint32">
2153       <return-value transfer-ownership="none">
2154         <type name="uint32" c:type="guint32"/>
2155       </return-value>
2156       <parameters>
2157         <parameter name="in" transfer-ownership="none">
2158           <type name="uint32" c:type="guint32"/>
2159         </parameter>
2160       </parameters>
2161     </function>
2162     <function name="test_uint64" c:identifier="test_uint64">
2163       <return-value transfer-ownership="none">
2164         <type name="uint64" c:type="guint64"/>
2165       </return-value>
2166       <parameters>
2167         <parameter name="in" transfer-ownership="none">
2168           <type name="uint64" c:type="guint64"/>
2169         </parameter>
2170       </parameters>
2171     </function>
2172     <function name="test_uint8" c:identifier="test_uint8">
2173       <return-value transfer-ownership="none">
2174         <type name="uint8" c:type="guint8"/>
2175       </return-value>
2176       <parameters>
2177         <parameter name="in" transfer-ownership="none">
2178           <type name="uint8" c:type="guint8"/>
2179         </parameter>
2180       </parameters>
2181     </function>
2182     <function name="test_ulong" c:identifier="test_ulong">
2183       <return-value transfer-ownership="none">
2184         <type name="ulong" c:type="gulong"/>
2185       </return-value>
2186       <parameters>
2187         <parameter name="in" transfer-ownership="none">
2188           <type name="ulong" c:type="gulong"/>
2189         </parameter>
2190       </parameters>
2191     </function>
2192     <function name="test_ushort" c:identifier="test_ushort">
2193       <return-value transfer-ownership="none">
2194         <type name="ushort" c:type="gushort"/>
2195       </return-value>
2196       <parameters>
2197         <parameter name="in" transfer-ownership="none">
2198           <type name="ushort" c:type="gushort"/>
2199         </parameter>
2200       </parameters>
2201     </function>
2202     <function name="test_utf8_const_in" c:identifier="test_utf8_const_in">
2203       <return-value transfer-ownership="none">
2204         <type name="none" c:type="void"/>
2205       </return-value>
2206       <parameters>
2207         <parameter name="in" transfer-ownership="none">
2208           <type name="utf8" c:type="char*"/>
2209         </parameter>
2210       </parameters>
2211     </function>
2212     <function name="test_utf8_const_return"
2213               c:identifier="test_utf8_const_return">
2214       <return-value transfer-ownership="none">
2215         <doc xml:whitespace="preserve">&lt;const char*&gt; UTF-8 string</doc>
2216         <type name="utf8" c:type="char*"/>
2217       </return-value>
2218     </function>
2219     <function name="test_utf8_inout" c:identifier="test_utf8_inout">
2220       <return-value transfer-ownership="none">
2221         <type name="none" c:type="void"/>
2222       </return-value>
2223       <parameters>
2224         <parameter name="inout"
2225                    direction="inout"
2226                    caller-allocates="0"
2227                    transfer-ownership="full">
2228           <type name="utf8" c:type="char**"/>
2229         </parameter>
2230       </parameters>
2231     </function>
2232     <function name="test_utf8_nonconst_in"
2233               c:identifier="test_utf8_nonconst_in">
2234       <return-value transfer-ownership="none">
2235         <type name="none" c:type="void"/>
2236       </return-value>
2237       <parameters>
2238         <parameter name="in" transfer-ownership="full">
2239           <type name="utf8" c:type="char*"/>
2240         </parameter>
2241       </parameters>
2242     </function>
2243     <function name="test_utf8_nonconst_return"
2244               c:identifier="test_utf8_nonconst_return">
2245       <return-value transfer-ownership="full">
2246         <doc xml:whitespace="preserve">&lt;char*&gt; UTF-8 string</doc>
2247         <type name="utf8" c:type="char*"/>
2248       </return-value>
2249     </function>
2250     <function name="test_utf8_null_in" c:identifier="test_utf8_null_in">
2251       <return-value transfer-ownership="none">
2252         <type name="none" c:type="void"/>
2253       </return-value>
2254       <parameters>
2255         <parameter name="in" transfer-ownership="full" allow-none="1">
2256           <type name="utf8" c:type="char*"/>
2257         </parameter>
2258       </parameters>
2259     </function>
2260     <function name="test_utf8_null_out" c:identifier="test_utf8_null_out">
2261       <return-value transfer-ownership="none">
2262         <type name="none" c:type="void"/>
2263       </return-value>
2264       <parameters>
2265         <parameter name="char_out"
2266                    direction="out"
2267                    caller-allocates="0"
2268                    transfer-ownership="full"
2269                    allow-none="1">
2270           <type name="utf8" c:type="char**"/>
2271         </parameter>
2272       </parameters>
2273     </function>
2274     <function name="test_utf8_out" c:identifier="test_utf8_out">
2275       <return-value transfer-ownership="none">
2276         <type name="none" c:type="void"/>
2277       </return-value>
2278       <parameters>
2279         <parameter name="out"
2280                    direction="out"
2281                    caller-allocates="0"
2282                    transfer-ownership="full">
2283           <type name="utf8" c:type="char**"/>
2284         </parameter>
2285       </parameters>
2286     </function>
2287     <function name="test_utf8_out_nonconst_return"
2288               c:identifier="test_utf8_out_nonconst_return">
2289       <return-value transfer-ownership="full">
2290         <doc xml:whitespace="preserve">a copy of "first"</doc>
2291         <type name="utf8" c:type="char*"/>
2292       </return-value>
2293       <parameters>
2294         <parameter name="out"
2295                    direction="out"
2296                    caller-allocates="0"
2297                    transfer-ownership="full">
2298           <doc xml:whitespace="preserve">a copy of "second"</doc>
2299           <type name="utf8" c:type="char**"/>
2300         </parameter>
2301       </parameters>
2302     </function>
2303     <function name="test_utf8_out_out" c:identifier="test_utf8_out_out">
2304       <return-value transfer-ownership="none">
2305         <type name="none" c:type="void"/>
2306       </return-value>
2307       <parameters>
2308         <parameter name="out0"
2309                    direction="out"
2310                    caller-allocates="0"
2311                    transfer-ownership="full">
2312           <doc xml:whitespace="preserve">a copy of "first"</doc>
2313           <type name="utf8" c:type="char**"/>
2314         </parameter>
2315         <parameter name="out1"
2316                    direction="out"
2317                    caller-allocates="0"
2318                    transfer-ownership="full">
2319           <doc xml:whitespace="preserve">a copy of "second"</doc>
2320           <type name="utf8" c:type="char**"/>
2321         </parameter>
2322       </parameters>
2323     </function>
2324     <function name="test_value_get_fundamental_object"
2325               c:identifier="test_value_get_fundamental_object"
2326               introspectable="0">
2327       <return-value transfer-ownership="full">
2328         <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
2329       </return-value>
2330       <parameters>
2331         <parameter name="value" transfer-ownership="none">
2332           <type name="GObject.Value" c:type="GValue*"/>
2333         </parameter>
2334       </parameters>
2335     </function>
2336     <function name="test_value_return" c:identifier="test_value_return">
2337       <return-value transfer-ownership="none">
2338         <doc xml:whitespace="preserve">the int wrapped in a GValue.</doc>
2339         <type name="GObject.Value" c:type="GValue*"/>
2340       </return-value>
2341       <parameters>
2342         <parameter name="i" transfer-ownership="none">
2343           <doc xml:whitespace="preserve">an int</doc>
2344           <type name="int" c:type="int"/>
2345         </parameter>
2346       </parameters>
2347     </function>
2348     <function name="test_value_set_fundamental_object"
2349               c:identifier="test_value_set_fundamental_object"
2350               introspectable="0">
2351       <return-value transfer-ownership="none">
2352         <type name="none" c:type="void"/>
2353       </return-value>
2354       <parameters>
2355         <parameter name="value" transfer-ownership="none">
2356           <type name="GObject.Value" c:type="GValue*"/>
2357         </parameter>
2358         <parameter name="fundamental_object" transfer-ownership="none">
2359           <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
2360         </parameter>
2361       </parameters>
2362     </function>
2363   </namespace>
2364 </repository>