Add async callback tests to everything
[gnome.gobject-introspection] / gir / Everything-1.0-expected.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.0"
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   <package name="gobject-2.0"/>
12   <namespace name="Everything"
13              version="1.0"
14              shared-library="libgirepository-everything-1.0.so.1"
15              c:prefix="Everything">
16     <record name="TestBoxed"
17             c:type="TestBoxed"
18             glib:type-name="TestBoxed"
19             glib:get-type="test_boxed_get_type">
20       <field name="some_int8" writable="1">
21         <type name="int8" c:type="gint8"/>
22       </field>
23       <field name="nested_a" writable="1">
24         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
25       </field>
26       <field name="priv" writable="1">
27         <type name="TestBoxedPrivate" c:type="TestBoxedPrivate*"/>
28       </field>
29       <constructor name="new" c:identifier="test_boxed_new">
30         <return-value transfer-ownership="full">
31           <type name="TestBoxed" c:type="TestBoxed*"/>
32         </return-value>
33       </constructor>
34       <method name="copy" c:identifier="test_boxed_copy">
35         <return-value transfer-ownership="full">
36           <type name="TestBoxed" c:type="TestBoxed*"/>
37         </return-value>
38       </method>
39       <method name="equals" c:identifier="test_boxed_equals">
40         <return-value transfer-ownership="none">
41           <type name="boolean" c:type="gboolean"/>
42         </return-value>
43         <parameters>
44           <parameter name="other" transfer-ownership="none">
45             <type name="TestBoxed" c:type="TestBoxed*"/>
46           </parameter>
47         </parameters>
48       </method>
49     </record>
50     <record name="TestBoxedPrivate" c:type="TestBoxedPrivate">
51     </record>
52     <callback name="TestCallback" c:type="TestCallback">
53       <return-value transfer-ownership="none">
54         <type name="int" c:type="int"/>
55       </return-value>
56     </callback>
57     <callback name="TestCallbackUserData" c:type="TestCallbackUserData">
58       <return-value transfer-ownership="none">
59         <type name="int" c:type="int"/>
60       </return-value>
61       <parameters>
62         <parameter name="user_data" transfer-ownership="none" closure="0">
63           <type name="any" c:type="gpointer"/>
64         </parameter>
65       </parameters>
66     </callback>
67     <enumeration name="TestEnum"
68                  glib:type-name="TestEnum"
69                  glib:get-type="test_enum_get_type"
70                  c:type="TestEnum">
71       <member name="value1"
72               value="0"
73               c:identifier="TEST_VALUE1"
74               glib:nick="value1"/>
75       <member name="value2"
76               value="1"
77               c:identifier="TEST_VALUE2"
78               glib:nick="value2"/>
79       <member name="value3"
80               value="42"
81               c:identifier="TEST_VALUE3"
82               glib:nick="value3"/>
83     </enumeration>
84     <bitfield name="TestFlags"
85               glib:type-name="TestFlags"
86               glib:get-type="test_flags_get_type"
87               c:type="TestFlags">
88       <member name="flag1"
89               value="1"
90               c:identifier="TEST_FLAG1"
91               glib:nick="flag1"/>
92       <member name="flag2"
93               value="2"
94               c:identifier="TEST_FLAG2"
95               glib:nick="flag2"/>
96       <member name="flag3"
97               value="4"
98               c:identifier="TEST_FLAG3"
99               glib:nick="flag3"/>
100     </bitfield>
101     <interface name="TestInterface"
102                c:type="EverythingTestInterface"
103                glib:type-name="EverythingTestInterface"
104                glib:get-type="test_interface_get_type"
105                glib:type-struct="TestInterfaceIface">
106     </interface>
107     <record name="TestInterfaceIface"
108             c:type="TestInterfaceIface"
109             glib:is-gtype-struct-for="TestInterface">
110       <field name="base_iface">
111         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
112       </field>
113     </record>
114     <class name="TestObj"
115            c:type="TestObj"
116            parent="GObject.Object"
117            glib:type-name="TestObj"
118            glib:get-type="test_obj_get_type"
119            glib:type-struct="TestObjClass">
120       <constructor name="new_from_file"
121                    c:identifier="test_obj_new_from_file"
122                    throws="1">
123         <return-value transfer-ownership="full">
124           <type name="TestObj" c:type="TestObj*"/>
125         </return-value>
126         <parameters>
127           <parameter name="x" transfer-ownership="none">
128             <type name="utf8" c:type="char*"/>
129           </parameter>
130         </parameters>
131       </constructor>
132       <function name="static_method" c:identifier="test_obj_static_method">
133         <return-value transfer-ownership="none">
134           <type name="double" c:type="double"/>
135         </return-value>
136         <parameters>
137           <parameter name="x" transfer-ownership="none">
138             <type name="int" c:type="int"/>
139           </parameter>
140         </parameters>
141       </function>
142       <virtual-method name="matrix" invoker="do_matrix">
143         <return-value transfer-ownership="none">
144           <type name="int" c:type="int"/>
145         </return-value>
146         <parameters>
147           <parameter name="somestr" transfer-ownership="none">
148             <type name="utf8" c:type="char*"/>
149           </parameter>
150         </parameters>
151       </virtual-method>
152       <method name="set_bare" c:identifier="test_obj_set_bare">
153         <return-value transfer-ownership="none">
154           <type name="none" c:type="void"/>
155         </return-value>
156         <parameters>
157           <parameter name="bare" transfer-ownership="none" allow-none="1">
158             <type name="GObject.Object" c:type="GObject*"/>
159           </parameter>
160         </parameters>
161       </method>
162       <method name="instance_method" c:identifier="test_obj_instance_method">
163         <return-value transfer-ownership="none">
164           <type name="int" c:type="int"/>
165         </return-value>
166       </method>
167       <method name="do_matrix"
168               c:identifier="test_obj_do_matrix"
169               doc="This method is virtual.  Notably its name differs from the virtual
170 slot name, which makes it useful for testing bindings handle this
171 case.">
172         <return-value transfer-ownership="none">
173           <type name="int" c:type="int"/>
174         </return-value>
175         <parameters>
176           <parameter name="somestr" transfer-ownership="none">
177             <type name="utf8" c:type="char*"/>
178           </parameter>
179         </parameters>
180       </method>
181       <property name="bare" writable="1">
182         <type name="GObject.Object" c:type="GObject"/>
183       </property>
184       <property name="boxed" writable="1">
185         <type name="TestBoxed" c:type="TestBoxed"/>
186       </property>
187       <field name="parent_instance">
188         <type name="GObject.Object" c:type="GObject"/>
189       </field>
190       <field name="bare">
191         <type name="GObject.Object" c:type="GObject*"/>
192       </field>
193       <field name="boxed">
194         <type name="TestBoxed" c:type="TestBoxed*"/>
195       </field>
196       <glib:signal name="test">
197         <return-value transfer-ownership="full">
198           <type name="none" c:type="void"/>
199         </return-value>
200       </glib:signal>
201       <glib:signal name="test-with-static-scope-arg">
202         <return-value transfer-ownership="full">
203           <type name="none" c:type="void"/>
204         </return-value>
205         <parameters>
206           <parameter name="object" transfer-ownership="none">
207             <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
208           </parameter>
209         </parameters>
210       </glib:signal>
211     </class>
212     <record name="TestObjClass"
213             c:type="TestObjClass"
214             glib:is-gtype-struct-for="TestObj">
215       <field name="parent_class">
216         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
217       </field>
218       <field name="matrix">
219         <callback name="matrix" c:type="matrix">
220           <return-value transfer-ownership="none">
221             <type name="int" c:type="int"/>
222           </return-value>
223           <parameters>
224             <parameter name="obj" transfer-ownership="none">
225               <type name="TestObj" c:type="TestObj*"/>
226             </parameter>
227             <parameter name="somestr" transfer-ownership="none">
228               <type name="utf8" c:type="char*"/>
229             </parameter>
230           </parameters>
231         </callback>
232       </field>
233       <field name="test_signal">
234         <type name="uint" c:type="guint"/>
235       </field>
236       <field name="test_signal_with_static_scope_arg">
237         <type name="uint" c:type="guint"/>
238       </field>
239     </record>
240     <record name="TestSimpleBoxedA"
241             c:type="TestSimpleBoxedA"
242             glib:type-name="TestSimpleBoxedA"
243             glib:get-type="test_simple_boxed_a_get_type">
244       <field name="some_int" writable="1">
245         <type name="int" c:type="gint"/>
246       </field>
247       <field name="some_int8" writable="1">
248         <type name="int8" c:type="gint8"/>
249       </field>
250       <field name="some_double" writable="1">
251         <type name="double" c:type="gdouble"/>
252       </field>
253       <field name="some_enum" writable="1">
254         <type name="TestEnum" c:type="TestEnum"/>
255       </field>
256       <method name="copy" c:identifier="test_simple_boxed_a_copy">
257         <return-value transfer-ownership="full">
258           <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
259         </return-value>
260       </method>
261       <method name="equals" c:identifier="test_simple_boxed_a_equals">
262         <return-value transfer-ownership="none">
263           <type name="boolean" c:type="gboolean"/>
264         </return-value>
265         <parameters>
266           <parameter name="other_a" transfer-ownership="none">
267             <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
268           </parameter>
269         </parameters>
270       </method>
271     </record>
272     <record name="TestSimpleBoxedB"
273             c:type="TestSimpleBoxedB"
274             glib:type-name="TestSimpleBoxedB"
275             glib:get-type="test_simple_boxed_b_get_type">
276       <field name="some_int8" writable="1">
277         <type name="int8" c:type="gint8"/>
278       </field>
279       <field name="nested_a" writable="1">
280         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
281       </field>
282       <method name="copy" c:identifier="test_simple_boxed_b_copy">
283         <return-value transfer-ownership="full">
284           <type name="TestSimpleBoxedB" c:type="TestSimpleBoxedB*"/>
285         </return-value>
286       </method>
287     </record>
288     <record name="TestStructA" c:type="TestStructA">
289       <field name="some_int" writable="1">
290         <type name="int" c:type="gint"/>
291       </field>
292       <field name="some_int8" writable="1">
293         <type name="int8" c:type="gint8"/>
294       </field>
295       <field name="some_double" writable="1">
296         <type name="double" c:type="gdouble"/>
297       </field>
298       <field name="some_enum" writable="1">
299         <type name="TestEnum" c:type="TestEnum"/>
300       </field>
301       <method name="clone"
302               c:identifier="test_struct_a_clone"
303               doc="Make a copy of a TestStructA">
304         <return-value transfer-ownership="none">
305           <type name="none" c:type="void"/>
306         </return-value>
307         <parameters>
308           <parameter name="a_out" transfer-ownership="none">
309             <type name="TestStructA" c:type="TestStructA*"/>
310           </parameter>
311         </parameters>
312       </method>
313     </record>
314     <record name="TestStructB" c:type="TestStructB">
315       <field name="some_int8" writable="1">
316         <type name="int8" c:type="gint8"/>
317       </field>
318       <field name="nested_a" writable="1">
319         <type name="TestStructA" c:type="TestStructA"/>
320       </field>
321       <method name="clone"
322               c:identifier="test_struct_b_clone"
323               doc="Make a copy of a TestStructB">
324         <return-value transfer-ownership="none">
325           <type name="none" c:type="void"/>
326         </return-value>
327         <parameters>
328           <parameter name="b_out" transfer-ownership="none">
329             <type name="TestStructB" c:type="TestStructB*"/>
330           </parameter>
331         </parameters>
332       </method>
333     </record>
334     <record name="TestStructC" c:type="_TestStructC">
335       <field name="another_int" writable="1">
336         <type name="int" c:type="gint"/>
337       </field>
338       <field name="obj" writable="1">
339         <type name="GObject.Object" c:type="GObject*"/>
340       </field>
341     </record>
342     <class name="TestSubObj"
343            c:type="TestSubObj"
344            parent="TestObj"
345            glib:type-name="TestSubObj"
346            glib:get-type="test_sub_obj_get_type"
347            glib:type-struct="TestSubObjClass">
348       <constructor name="new" c:identifier="test_sub_obj_new">
349         <return-value transfer-ownership="full">
350           <type name="TestSubObj" c:type="TestSubObj*"/>
351         </return-value>
352       </constructor>
353       <method name="unset_bare" c:identifier="test_sub_obj_unset_bare">
354         <return-value transfer-ownership="none">
355           <type name="none" c:type="void"/>
356         </return-value>
357       </method>
358       <method name="instance_method"
359               c:identifier="test_sub_obj_instance_method">
360         <return-value transfer-ownership="none">
361           <type name="int" c:type="int"/>
362         </return-value>
363       </method>
364       <field name="parent_instance">
365         <type name="TestObj" c:type="TestObj"/>
366       </field>
367     </class>
368     <record name="TestSubObjClass"
369             c:type="TestSubObjClass"
370             glib:is-gtype-struct-for="TestSubObj">
371       <field name="parent_class">
372         <type name="TestObjClass" c:type="TestObjClass"/>
373       </field>
374     </record>
375     <class name="TestWi8021x"
376            c:type="TestWi8021x"
377            parent="GObject.Object"
378            glib:type-name="TestWi8021x"
379            glib:get-type="test_wi_802_1x_get_type"
380            glib:type-struct="TestWi8021xClass">
381       <constructor name="new" c:identifier="test_wi_802_1x_new">
382         <return-value transfer-ownership="full">
383           <type name="TestWi8021x" c:type="TestWi8021x*"/>
384         </return-value>
385       </constructor>
386       <function name="static_method"
387                 c:identifier="test_wi_802_1x_static_method">
388         <return-value transfer-ownership="none">
389           <type name="int" c:type="int"/>
390         </return-value>
391         <parameters>
392           <parameter name="x" transfer-ownership="none">
393             <type name="int" c:type="int"/>
394           </parameter>
395         </parameters>
396       </function>
397       <method name="get_testbool" c:identifier="test_wi_802_1x_get_testbool">
398         <return-value transfer-ownership="none">
399           <type name="boolean" c:type="gboolean"/>
400         </return-value>
401       </method>
402       <method name="set_testbool" c:identifier="test_wi_802_1x_set_testbool">
403         <return-value transfer-ownership="none">
404           <type name="none" c:type="void"/>
405         </return-value>
406         <parameters>
407           <parameter name="v" transfer-ownership="none">
408             <type name="boolean" c:type="gboolean"/>
409           </parameter>
410         </parameters>
411       </method>
412       <property name="testbool" writable="1">
413         <type name="boolean" c:type="gboolean"/>
414       </property>
415       <field name="parent_instance">
416         <type name="GObject.Object" c:type="GObject"/>
417       </field>
418       <field name="testbool">
419         <type name="boolean" c:type="gboolean"/>
420       </field>
421     </class>
422     <record name="TestWi8021xClass"
423             c:type="TestWi8021xClass"
424             glib:is-gtype-struct-for="TestWi8021x">
425       <field name="parent_class">
426         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
427       </field>
428     </record>
429     <function name="test_array_fixed_size_int_in"
430               c:identifier="test_array_fixed_size_int_in">
431       <return-value transfer-ownership="none">
432         <type name="int" c:type="int"/>
433       </return-value>
434       <parameters>
435         <parameter name="ints"
436                    transfer-ownership="none"
437                    doc="a list of 5 integers">
438           <array c:type="int*" fixed-size="5">
439             <type name="int"/>
440           </array>
441         </parameter>
442       </parameters>
443     </function>
444     <function name="test_array_fixed_size_int_out"
445               c:identifier="test_array_fixed_size_int_out">
446       <return-value transfer-ownership="none">
447         <type name="none" c:type="void"/>
448       </return-value>
449       <parameters>
450         <parameter name="ints"
451                    direction="out"
452                    transfer-ownership="full"
453                    doc="a list of 5 integers ranging from 0 to 4">
454           <array c:type="int**" fixed-size="5">
455             <type name="int"/>
456           </array>
457         </parameter>
458       </parameters>
459     </function>
460     <function name="test_array_fixed_size_int_return"
461               c:identifier="test_array_fixed_size_int_return">
462       <return-value transfer-ownership="full"
463                     doc="a list of 5 integers ranging from 0 to 4">
464         <array c:type="int*" fixed-size="5">
465           <type name="int"/>
466         </array>
467       </return-value>
468     </function>
469     <function name="test_array_gint16_in" c:identifier="test_array_gint16_in">
470       <return-value transfer-ownership="none">
471         <type name="int" c:type="int"/>
472       </return-value>
473       <parameters>
474         <parameter name="n_ints" transfer-ownership="none">
475           <type name="int" c:type="int"/>
476         </parameter>
477         <parameter name="ints" transfer-ownership="none" doc="List of ints">
478           <array length="0" c:type="gint16*">
479             <type name="int16"/>
480           </array>
481         </parameter>
482       </parameters>
483     </function>
484     <function name="test_array_gint32_in" c:identifier="test_array_gint32_in">
485       <return-value transfer-ownership="none">
486         <type name="int32" c:type="gint32"/>
487       </return-value>
488       <parameters>
489         <parameter name="n_ints" transfer-ownership="none">
490           <type name="int" c:type="int"/>
491         </parameter>
492         <parameter name="ints" transfer-ownership="none" doc="List of ints">
493           <array length="0" c:type="gint32*">
494             <type name="int32"/>
495           </array>
496         </parameter>
497       </parameters>
498     </function>
499     <function name="test_array_gint64_in" c:identifier="test_array_gint64_in">
500       <return-value transfer-ownership="none">
501         <type name="int64" c:type="gint64"/>
502       </return-value>
503       <parameters>
504         <parameter name="n_ints" transfer-ownership="none">
505           <type name="int" c:type="int"/>
506         </parameter>
507         <parameter name="ints" transfer-ownership="none" doc="List of ints">
508           <array length="0" c:type="gint64*">
509             <type name="int64"/>
510           </array>
511         </parameter>
512       </parameters>
513     </function>
514     <function name="test_array_gint8_in" c:identifier="test_array_gint8_in">
515       <return-value transfer-ownership="none">
516         <type name="int" c:type="int"/>
517       </return-value>
518       <parameters>
519         <parameter name="n_ints" transfer-ownership="none">
520           <type name="int" c:type="int"/>
521         </parameter>
522         <parameter name="ints" transfer-ownership="none" doc="List of ints">
523           <array length="0" c:type="gint8*">
524             <type name="int8"/>
525           </array>
526         </parameter>
527       </parameters>
528     </function>
529     <function name="test_array_gtype_in" c:identifier="test_array_gtype_in">
530       <return-value transfer-ownership="full">
531         <type name="utf8" c:type="char*"/>
532       </return-value>
533       <parameters>
534         <parameter name="n_types" transfer-ownership="none">
535           <type name="int" c:type="int"/>
536         </parameter>
537         <parameter name="types" transfer-ownership="none" doc="List of types">
538           <array length="0" c:type="GType*">
539             <type name="GType"/>
540           </array>
541         </parameter>
542       </parameters>
543     </function>
544     <function name="test_array_int_full_out"
545               c:identifier="test_array_int_full_out">
546       <return-value transfer-ownership="full" doc="a new array of integers.">
547         <array length="0" c:type="int*">
548           <type name="int"/>
549         </array>
550       </return-value>
551       <parameters>
552         <parameter name="len" direction="out" transfer-ownership="full">
553           <type name="int" c:type="int*"/>
554         </parameter>
555       </parameters>
556     </function>
557     <function name="test_array_int_in" c:identifier="test_array_int_in">
558       <return-value transfer-ownership="none">
559         <type name="int" c:type="int"/>
560       </return-value>
561       <parameters>
562         <parameter name="n_ints" transfer-ownership="none">
563           <type name="int" c:type="int"/>
564         </parameter>
565         <parameter name="ints" transfer-ownership="none" doc="List of ints">
566           <array length="0" c:type="int*">
567             <type name="int"/>
568           </array>
569         </parameter>
570       </parameters>
571     </function>
572     <function name="test_array_int_in_take"
573               c:identifier="test_array_int_in_take">
574       <return-value transfer-ownership="none">
575         <type name="int" c:type="int"/>
576       </return-value>
577       <parameters>
578         <parameter name="n_ints" transfer-ownership="none">
579           <type name="int" c:type="int"/>
580         </parameter>
581         <parameter name="ints" transfer-ownership="full" doc="List of ints">
582           <array length="0" c:type="int*">
583             <type name="int"/>
584           </array>
585         </parameter>
586       </parameters>
587     </function>
588     <function name="test_array_int_inout" c:identifier="test_array_int_inout">
589       <return-value transfer-ownership="none">
590         <type name="none" c:type="void"/>
591       </return-value>
592       <parameters>
593         <parameter name="n_ints"
594                    direction="inout"
595                    transfer-ownership="full"
596                    doc="the length of @ints">
597           <type name="int" c:type="int*"/>
598         </parameter>
599         <parameter name="ints"
600                    direction="inout"
601                    transfer-ownership="full"
602                    doc="a list of integers whose items will be increased by 1, except the first that will be dropped">
603           <array length="0" c:type="int**">
604             <type name="int"/>
605           </array>
606         </parameter>
607       </parameters>
608     </function>
609     <function name="test_array_int_none_out"
610               c:identifier="test_array_int_none_out">
611       <return-value transfer-ownership="none"
612                     doc="a static array of integers.">
613         <array length="0" c:type="int*">
614           <type name="int"/>
615         </array>
616       </return-value>
617       <parameters>
618         <parameter name="len" direction="out" transfer-ownership="full">
619           <type name="int" c:type="int*"/>
620         </parameter>
621       </parameters>
622     </function>
623     <function name="test_array_int_out" c:identifier="test_array_int_out">
624       <return-value transfer-ownership="none">
625         <type name="none" c:type="void"/>
626       </return-value>
627       <parameters>
628         <parameter name="n_ints"
629                    direction="out"
630                    transfer-ownership="full"
631                    doc="the length of @ints">
632           <type name="int" c:type="int*"/>
633         </parameter>
634         <parameter name="ints"
635                    direction="out"
636                    transfer-ownership="full"
637                    doc="a list of 5 integers, from 0 to 4 in consecutive order">
638           <array length="0" c:type="int**">
639             <type name="int"/>
640           </array>
641         </parameter>
642       </parameters>
643     </function>
644     <function name="test_boolean" c:identifier="test_boolean">
645       <return-value transfer-ownership="none">
646         <type name="boolean" c:type="gboolean"/>
647       </return-value>
648       <parameters>
649         <parameter name="in" transfer-ownership="none">
650           <type name="boolean" c:type="gboolean"/>
651         </parameter>
652       </parameters>
653     </function>
654     <function name="test_callback" c:identifier="test_callback">
655       <return-value transfer-ownership="none">
656         <type name="int" c:type="int"/>
657       </return-value>
658       <parameters>
659         <parameter name="callback" transfer-ownership="none" scope="call">
660           <type name="TestCallback" c:type="TestCallback"/>
661         </parameter>
662       </parameters>
663     </function>
664     <function name="test_callback_async" c:identifier="test_callback_async">
665       <return-value transfer-ownership="none">
666         <type name="none" c:type="void"/>
667       </return-value>
668       <parameters>
669         <parameter name="callback"
670                    transfer-ownership="none"
671                    scope="async"
672                    closure="1">
673           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
674         </parameter>
675         <parameter name="user_data" transfer-ownership="none">
676           <type name="any" c:type="gpointer"/>
677         </parameter>
678       </parameters>
679     </function>
680     <function name="test_callback_destroy_notify"
681               c:identifier="test_callback_destroy_notify"
682               doc="Notified - callback persists until a DestroyNotify delegate
683 is invoked.">
684       <return-value transfer-ownership="none">
685         <type name="int" c:type="int"/>
686       </return-value>
687       <parameters>
688         <parameter name="callback"
689                    transfer-ownership="none"
690                    scope="notified"
691                    closure="1"
692                    destroy="2">
693           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
694         </parameter>
695         <parameter name="user_data" transfer-ownership="none">
696           <type name="any" c:type="gpointer"/>
697         </parameter>
698         <parameter name="notify" transfer-ownership="none">
699           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
700         </parameter>
701       </parameters>
702     </function>
703     <function name="test_callback_infinite"
704               c:identifier="test_callback_infinite"
705               doc="Infinite - callback persists forever.">
706       <return-value transfer-ownership="none">
707         <type name="int" c:type="int"/>
708       </return-value>
709       <parameters>
710         <parameter name="callback"
711                    transfer-ownership="none"
712                    scope="infinite"
713                    closure="1">
714           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
715         </parameter>
716         <parameter name="user_data" transfer-ownership="none">
717           <type name="any" c:type="gpointer"/>
718         </parameter>
719       </parameters>
720     </function>
721     <function name="test_callback_thaw_async"
722               c:identifier="test_callback_thaw_async">
723       <return-value transfer-ownership="none">
724         <type name="int" c:type="int"/>
725       </return-value>
726     </function>
727     <function name="test_callback_thaw_notifications"
728               c:identifier="test_callback_thaw_notifications"
729               doc="Invokes all callbacks installed by #test_callback_destroy_notify(),
730 adding up their return values, and removes them, invoking the
731 corresponding destroy notfications.">
732       <return-value transfer-ownership="none">
733         <type name="int" c:type="int"/>
734       </return-value>
735     </function>
736     <function name="test_callback_user_data"
737               c:identifier="test_callback_user_data"
738               doc="Call - callback parameter persists for the duration of the method
739 call and can be released on return.">
740       <return-value transfer-ownership="none">
741         <type name="int" c:type="int"/>
742       </return-value>
743       <parameters>
744         <parameter name="callback"
745                    transfer-ownership="none"
746                    scope="call"
747                    closure="1">
748           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
749         </parameter>
750         <parameter name="user_data" transfer-ownership="none">
751           <type name="any" c:type="gpointer"/>
752         </parameter>
753       </parameters>
754     </function>
755     <function name="test_closure" c:identifier="test_closure">
756       <return-value transfer-ownership="none">
757         <type name="int" c:type="int"/>
758       </return-value>
759       <parameters>
760         <parameter name="closure" transfer-ownership="none">
761           <type name="GObject.Closure" c:type="GClosure*"/>
762         </parameter>
763       </parameters>
764     </function>
765     <function name="test_closure_one_arg" c:identifier="test_closure_one_arg">
766       <return-value transfer-ownership="none">
767         <type name="int" c:type="int"/>
768       </return-value>
769       <parameters>
770         <parameter name="closure" transfer-ownership="none">
771           <type name="GObject.Closure" c:type="GClosure*"/>
772         </parameter>
773         <parameter name="arg" transfer-ownership="none">
774           <type name="int" c:type="int"/>
775         </parameter>
776       </parameters>
777     </function>
778     <function name="test_double" c:identifier="test_double">
779       <return-value transfer-ownership="none">
780         <type name="double" c:type="gdouble"/>
781       </return-value>
782       <parameters>
783         <parameter name="in" transfer-ownership="none">
784           <type name="double" c:type="gdouble"/>
785         </parameter>
786       </parameters>
787     </function>
788     <function name="test_enum_param" c:identifier="test_enum_param">
789       <return-value transfer-ownership="none">
790         <type name="utf8" c:type="gchar*"/>
791       </return-value>
792       <parameters>
793         <parameter name="e" transfer-ownership="none">
794           <type name="TestEnum" c:type="TestEnum"/>
795         </parameter>
796       </parameters>
797     </function>
798     <function name="test_filename_return" c:identifier="test_filename_return">
799       <return-value transfer-ownership="full" doc="list of strings">
800         <type name="GLib.SList" c:type="GSList*">
801           <type name="filename"/>
802         </type>
803       </return-value>
804     </function>
805     <function name="test_float" c:identifier="test_float">
806       <return-value transfer-ownership="none">
807         <type name="float" c:type="gfloat"/>
808       </return-value>
809       <parameters>
810         <parameter name="in" transfer-ownership="none">
811           <type name="float" c:type="gfloat"/>
812         </parameter>
813       </parameters>
814     </function>
815     <function name="test_ghash_container_in"
816               c:identifier="test_ghash_container_in">
817       <return-value transfer-ownership="none">
818         <type name="none" c:type="void"/>
819       </return-value>
820       <parameters>
821         <parameter name="in" transfer-ownership="container">
822           <type name="GLib.HashTable" c:type="GHashTable*">
823             <type name="utf8"/>
824             <type name="utf8"/>
825           </type>
826         </parameter>
827       </parameters>
828     </function>
829     <function name="test_ghash_container_return"
830               c:identifier="test_ghash_container_return">
831       <return-value transfer-ownership="container">
832         <type name="GLib.HashTable" c:type="GHashTable*">
833           <type name="utf8"/>
834           <type name="utf8"/>
835         </type>
836       </return-value>
837     </function>
838     <function name="test_ghash_everything_in"
839               c:identifier="test_ghash_everything_in">
840       <return-value transfer-ownership="none">
841         <type name="none" c:type="void"/>
842       </return-value>
843       <parameters>
844         <parameter name="in" transfer-ownership="full">
845           <type name="GLib.HashTable" c:type="GHashTable*">
846             <type name="utf8"/>
847             <type name="utf8"/>
848           </type>
849         </parameter>
850       </parameters>
851     </function>
852     <function name="test_ghash_everything_return"
853               c:identifier="test_ghash_everything_return">
854       <return-value transfer-ownership="full">
855         <type name="GLib.HashTable" c:type="GHashTable*">
856           <type name="utf8"/>
857           <type name="utf8"/>
858         </type>
859       </return-value>
860     </function>
861     <function name="test_ghash_free" c:identifier="test_ghash_free">
862       <return-value transfer-ownership="none">
863         <type name="none" c:type="void"/>
864       </return-value>
865       <parameters>
866         <parameter name="in" transfer-ownership="full">
867           <type name="GLib.HashTable" c:type="GHashTable*">
868             <type name="utf8"/>
869             <type name="utf8"/>
870           </type>
871         </parameter>
872       </parameters>
873     </function>
874     <function name="test_ghash_nested_everything_return"
875               c:identifier="test_ghash_nested_everything_return"
876               doc="Specify nested parameterized types directly with the (type ) annotation.">
877       <return-value transfer-ownership="full">
878         <type name="GLib.HashTable" c:type="GHashTable*">
879           <type name="utf8"/>
880           <type name="GLib.HashTable">
881             <type name="utf8"/>
882             <type name="utf8"/>
883           </type>
884         </type>
885       </return-value>
886     </function>
887     <function name="test_ghash_nested_everything_return2"
888               c:identifier="test_ghash_nested_everything_return2"
889               doc="element-type annotation.">
890       <return-value transfer-ownership="full">
891         <type name="GLib.HashTable" c:type="GHashTable*">
892           <type name="utf8"/>
893           <type name="GLib.HashTable">
894             <type name="utf8"/>
895             <type name="utf8"/>
896           </type>
897         </type>
898       </return-value>
899     </function>
900     <function name="test_ghash_nothing_in"
901               c:identifier="test_ghash_nothing_in">
902       <return-value transfer-ownership="none">
903         <type name="none" c:type="void"/>
904       </return-value>
905       <parameters>
906         <parameter name="in" transfer-ownership="none">
907           <type name="GLib.HashTable" c:type="GHashTable*">
908             <type name="utf8"/>
909             <type name="utf8"/>
910           </type>
911         </parameter>
912       </parameters>
913     </function>
914     <function name="test_ghash_nothing_in2"
915               c:identifier="test_ghash_nothing_in2">
916       <return-value transfer-ownership="none">
917         <type name="none" c:type="void"/>
918       </return-value>
919       <parameters>
920         <parameter name="in" transfer-ownership="none">
921           <type name="GLib.HashTable" c:type="GHashTable*">
922             <type name="utf8"/>
923             <type name="utf8"/>
924           </type>
925         </parameter>
926       </parameters>
927     </function>
928     <function name="test_ghash_nothing_return"
929               c:identifier="test_ghash_nothing_return">
930       <return-value transfer-ownership="none">
931         <type name="GLib.HashTable" c:type="GHashTable*">
932           <type name="utf8"/>
933           <type name="utf8"/>
934         </type>
935       </return-value>
936     </function>
937     <function name="test_ghash_nothing_return2"
938               c:identifier="test_ghash_nothing_return2">
939       <return-value transfer-ownership="none">
940         <type name="GLib.HashTable" c:type="GHashTable*">
941           <type name="utf8"/>
942           <type name="utf8"/>
943         </type>
944       </return-value>
945     </function>
946     <function name="test_ghash_null_in" c:identifier="test_ghash_null_in">
947       <return-value transfer-ownership="none">
948         <type name="none" c:type="void"/>
949       </return-value>
950       <parameters>
951         <parameter name="in" transfer-ownership="none" allow-none="1">
952           <type name="GLib.HashTable" c:type="GHashTable*">
953             <type name="utf8"/>
954             <type name="utf8"/>
955           </type>
956         </parameter>
957       </parameters>
958     </function>
959     <function name="test_ghash_null_return"
960               c:identifier="test_ghash_null_return">
961       <return-value transfer-ownership="none">
962         <type name="GLib.HashTable" c:type="GHashTable*">
963           <type name="utf8"/>
964           <type name="utf8"/>
965         </type>
966       </return-value>
967     </function>
968     <function name="test_glist_container_in"
969               c:identifier="test_glist_container_in">
970       <return-value transfer-ownership="none">
971         <type name="none" c:type="void"/>
972       </return-value>
973       <parameters>
974         <parameter name="in" transfer-ownership="container">
975           <type name="GLib.List" c:type="GList*">
976             <type name="utf8"/>
977           </type>
978         </parameter>
979       </parameters>
980     </function>
981     <function name="test_glist_container_return"
982               c:identifier="test_glist_container_return">
983       <return-value transfer-ownership="container">
984         <type name="GLib.List" c:type="GList*">
985           <type name="utf8"/>
986         </type>
987       </return-value>
988     </function>
989     <function name="test_glist_everything_in"
990               c:identifier="test_glist_everything_in">
991       <return-value transfer-ownership="none">
992         <type name="none" c:type="void"/>
993       </return-value>
994       <parameters>
995         <parameter name="in" transfer-ownership="full">
996           <type name="GLib.List" c:type="GList*">
997             <type name="utf8"/>
998           </type>
999         </parameter>
1000       </parameters>
1001     </function>
1002     <function name="test_glist_everything_return"
1003               c:identifier="test_glist_everything_return">
1004       <return-value transfer-ownership="full">
1005         <type name="GLib.List" c:type="GList*">
1006           <type name="utf8"/>
1007         </type>
1008       </return-value>
1009     </function>
1010     <function name="test_glist_free" c:identifier="test_glist_free">
1011       <return-value transfer-ownership="none">
1012         <type name="none" c:type="void"/>
1013       </return-value>
1014       <parameters>
1015         <parameter name="in" transfer-ownership="full">
1016           <type name="GLib.List" c:type="GList*">
1017             <type name="utf8"/>
1018           </type>
1019         </parameter>
1020       </parameters>
1021     </function>
1022     <function name="test_glist_nothing_in"
1023               c:identifier="test_glist_nothing_in">
1024       <return-value transfer-ownership="none">
1025         <type name="none" c:type="void"/>
1026       </return-value>
1027       <parameters>
1028         <parameter name="in" transfer-ownership="none">
1029           <type name="GLib.List" c:type="GList*">
1030             <type name="utf8"/>
1031           </type>
1032         </parameter>
1033       </parameters>
1034     </function>
1035     <function name="test_glist_nothing_in2"
1036               c:identifier="test_glist_nothing_in2">
1037       <return-value transfer-ownership="none">
1038         <type name="none" c:type="void"/>
1039       </return-value>
1040       <parameters>
1041         <parameter name="in" transfer-ownership="none">
1042           <type name="GLib.List" c:type="GList*">
1043             <type name="utf8"/>
1044           </type>
1045         </parameter>
1046       </parameters>
1047     </function>
1048     <function name="test_glist_nothing_return"
1049               c:identifier="test_glist_nothing_return">
1050       <return-value transfer-ownership="none">
1051         <type name="GLib.List" c:type="GList*">
1052           <type name="utf8"/>
1053         </type>
1054       </return-value>
1055     </function>
1056     <function name="test_glist_nothing_return2"
1057               c:identifier="test_glist_nothing_return2">
1058       <return-value transfer-ownership="none">
1059         <type name="GLib.List" c:type="GList*">
1060           <type name="utf8"/>
1061         </type>
1062       </return-value>
1063     </function>
1064     <function name="test_gslist_container_in"
1065               c:identifier="test_gslist_container_in">
1066       <return-value transfer-ownership="none">
1067         <type name="none" c:type="void"/>
1068       </return-value>
1069       <parameters>
1070         <parameter name="in" transfer-ownership="container">
1071           <type name="GLib.SList" c:type="GSList*">
1072             <type name="utf8"/>
1073           </type>
1074         </parameter>
1075       </parameters>
1076     </function>
1077     <function name="test_gslist_container_return"
1078               c:identifier="test_gslist_container_return">
1079       <return-value transfer-ownership="container">
1080         <type name="GLib.SList" c:type="GSList*">
1081           <type name="utf8"/>
1082         </type>
1083       </return-value>
1084     </function>
1085     <function name="test_gslist_everything_in"
1086               c:identifier="test_gslist_everything_in">
1087       <return-value transfer-ownership="none">
1088         <type name="none" c:type="void"/>
1089       </return-value>
1090       <parameters>
1091         <parameter name="in" transfer-ownership="full">
1092           <type name="GLib.SList" c:type="GSList*">
1093             <type name="utf8"/>
1094           </type>
1095         </parameter>
1096       </parameters>
1097     </function>
1098     <function name="test_gslist_everything_return"
1099               c:identifier="test_gslist_everything_return">
1100       <return-value transfer-ownership="full">
1101         <type name="GLib.SList" c:type="GSList*">
1102           <type name="utf8"/>
1103         </type>
1104       </return-value>
1105     </function>
1106     <function name="test_gslist_free" c:identifier="test_gslist_free">
1107       <return-value transfer-ownership="none">
1108         <type name="none" c:type="void"/>
1109       </return-value>
1110       <parameters>
1111         <parameter name="in" transfer-ownership="full">
1112           <type name="GLib.SList" c:type="GSList*">
1113             <type name="utf8"/>
1114           </type>
1115         </parameter>
1116       </parameters>
1117     </function>
1118     <function name="test_gslist_nothing_in"
1119               c:identifier="test_gslist_nothing_in">
1120       <return-value transfer-ownership="none">
1121         <type name="none" c:type="void"/>
1122       </return-value>
1123       <parameters>
1124         <parameter name="in" transfer-ownership="none">
1125           <type name="GLib.SList" c:type="GSList*">
1126             <type name="utf8"/>
1127           </type>
1128         </parameter>
1129       </parameters>
1130     </function>
1131     <function name="test_gslist_nothing_in2"
1132               c:identifier="test_gslist_nothing_in2">
1133       <return-value transfer-ownership="none">
1134         <type name="none" c:type="void"/>
1135       </return-value>
1136       <parameters>
1137         <parameter name="in" transfer-ownership="none">
1138           <type name="GLib.SList" c:type="GSList*">
1139             <type name="utf8"/>
1140           </type>
1141         </parameter>
1142       </parameters>
1143     </function>
1144     <function name="test_gslist_nothing_return"
1145               c:identifier="test_gslist_nothing_return">
1146       <return-value transfer-ownership="none">
1147         <type name="GLib.SList" c:type="GSList*">
1148           <type name="utf8"/>
1149         </type>
1150       </return-value>
1151     </function>
1152     <function name="test_gslist_nothing_return2"
1153               c:identifier="test_gslist_nothing_return2">
1154       <return-value transfer-ownership="none">
1155         <type name="GLib.SList" c:type="GSList*">
1156           <type name="utf8"/>
1157         </type>
1158       </return-value>
1159     </function>
1160     <function name="test_gtype" c:identifier="test_gtype">
1161       <return-value transfer-ownership="none">
1162         <type name="GType" c:type="GType"/>
1163       </return-value>
1164       <parameters>
1165         <parameter name="in" transfer-ownership="none">
1166           <type name="GType" c:type="GType"/>
1167         </parameter>
1168       </parameters>
1169     </function>
1170     <function name="test_int" c:identifier="test_int">
1171       <return-value transfer-ownership="none">
1172         <type name="int" c:type="gint"/>
1173       </return-value>
1174       <parameters>
1175         <parameter name="in" transfer-ownership="none">
1176           <type name="int" c:type="gint"/>
1177         </parameter>
1178       </parameters>
1179     </function>
1180     <function name="test_int16" c:identifier="test_int16">
1181       <return-value transfer-ownership="none">
1182         <type name="int16" c:type="gint16"/>
1183       </return-value>
1184       <parameters>
1185         <parameter name="in" transfer-ownership="none">
1186           <type name="int16" c:type="gint16"/>
1187         </parameter>
1188       </parameters>
1189     </function>
1190     <function name="test_int32" c:identifier="test_int32">
1191       <return-value transfer-ownership="none">
1192         <type name="int32" c:type="gint32"/>
1193       </return-value>
1194       <parameters>
1195         <parameter name="in" transfer-ownership="none">
1196           <type name="int32" c:type="gint32"/>
1197         </parameter>
1198       </parameters>
1199     </function>
1200     <function name="test_int64" c:identifier="test_int64">
1201       <return-value transfer-ownership="none">
1202         <type name="int64" c:type="gint64"/>
1203       </return-value>
1204       <parameters>
1205         <parameter name="in" transfer-ownership="none">
1206           <type name="int64" c:type="gint64"/>
1207         </parameter>
1208       </parameters>
1209     </function>
1210     <function name="test_int8" c:identifier="test_int8">
1211       <return-value transfer-ownership="none">
1212         <type name="int8" c:type="gint8"/>
1213       </return-value>
1214       <parameters>
1215         <parameter name="in" transfer-ownership="none">
1216           <type name="int8" c:type="gint8"/>
1217         </parameter>
1218       </parameters>
1219     </function>
1220     <function name="test_int_value_arg" c:identifier="test_int_value_arg">
1221       <return-value transfer-ownership="none">
1222         <type name="int" c:type="int"/>
1223       </return-value>
1224       <parameters>
1225         <parameter name="v" transfer-ownership="none">
1226           <type name="GObject.Value" c:type="GValue*"/>
1227         </parameter>
1228       </parameters>
1229     </function>
1230     <function name="test_long" c:identifier="test_long">
1231       <return-value transfer-ownership="none">
1232         <type name="long" c:type="glong"/>
1233       </return-value>
1234       <parameters>
1235         <parameter name="in" transfer-ownership="none">
1236           <type name="long" c:type="glong"/>
1237         </parameter>
1238       </parameters>
1239     </function>
1240     <function name="test_short" c:identifier="test_short">
1241       <return-value transfer-ownership="none">
1242         <type name="short" c:type="gshort"/>
1243       </return-value>
1244       <parameters>
1245         <parameter name="in" transfer-ownership="none">
1246           <type name="short" c:type="gshort"/>
1247         </parameter>
1248       </parameters>
1249     </function>
1250     <function name="test_simple_boxed_a_const_return"
1251               c:identifier="test_simple_boxed_a_const_return">
1252       <return-value transfer-ownership="none">
1253         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
1254       </return-value>
1255     </function>
1256     <function name="test_size" c:identifier="test_size">
1257       <return-value transfer-ownership="none">
1258         <type name="size_t" c:type="gsize"/>
1259       </return-value>
1260       <parameters>
1261         <parameter name="in" transfer-ownership="none">
1262           <type name="size_t" c:type="gsize"/>
1263         </parameter>
1264       </parameters>
1265     </function>
1266     <function name="test_ssize" c:identifier="test_ssize">
1267       <return-value transfer-ownership="none">
1268         <type name="ssize_t" c:type="gssize"/>
1269       </return-value>
1270       <parameters>
1271         <parameter name="in" transfer-ownership="none">
1272           <type name="ssize_t" c:type="gssize"/>
1273         </parameter>
1274       </parameters>
1275     </function>
1276     <function name="test_strv_in" c:identifier="test_strv_in">
1277       <return-value transfer-ownership="none">
1278         <type name="boolean" c:type="gboolean"/>
1279       </return-value>
1280       <parameters>
1281         <parameter name="arr" transfer-ownership="none">
1282           <array c:type="char**">
1283             <type name="utf8"/>
1284           </array>
1285         </parameter>
1286       </parameters>
1287     </function>
1288     <function name="test_strv_in_container"
1289               c:identifier="test_strv_in_container">
1290       <return-value transfer-ownership="none">
1291         <type name="boolean" c:type="gboolean"/>
1292       </return-value>
1293       <parameters>
1294         <parameter name="arr" transfer-ownership="container">
1295           <array c:type="char**">
1296             <type name="utf8"/>
1297           </array>
1298         </parameter>
1299       </parameters>
1300     </function>
1301     <function name="test_strv_out"
1302               c:identifier="test_strv_out"
1303               doc="No annotations here.  We want the default to Do The Right Thing.">
1304       <return-value transfer-ownership="full">
1305         <array c:type="char**">
1306           <type name="utf8"/>
1307         </array>
1308       </return-value>
1309     </function>
1310     <function name="test_strv_out_c"
1311               c:identifier="test_strv_out_c"
1312               doc="No annotations here.  We want the default to Do The Right Thing.">
1313       <return-value transfer-ownership="full">
1314         <array c:type="char**">
1315           <type name="utf8"/>
1316         </array>
1317       </return-value>
1318     </function>
1319     <function name="test_strv_out_container"
1320               c:identifier="test_strv_out_container">
1321       <return-value transfer-ownership="container">
1322         <array c:type="char**">
1323           <type name="utf8"/>
1324         </array>
1325       </return-value>
1326     </function>
1327     <function name="test_strv_outarg" c:identifier="test_strv_outarg">
1328       <return-value transfer-ownership="none">
1329         <type name="none" c:type="void"/>
1330       </return-value>
1331       <parameters>
1332         <parameter name="retp" direction="out" transfer-ownership="container">
1333           <array c:type="char***">
1334             <type name="utf8"/>
1335           </array>
1336         </parameter>
1337       </parameters>
1338     </function>
1339     <function name="test_timet" c:identifier="test_timet">
1340       <return-value transfer-ownership="none">
1341         <type name="time_t" c:type="time_t"/>
1342       </return-value>
1343       <parameters>
1344         <parameter name="in" transfer-ownership="none">
1345           <type name="time_t" c:type="time_t"/>
1346         </parameter>
1347       </parameters>
1348     </function>
1349     <function name="test_uint" c:identifier="test_uint">
1350       <return-value transfer-ownership="none">
1351         <type name="uint" c:type="guint"/>
1352       </return-value>
1353       <parameters>
1354         <parameter name="in" transfer-ownership="none">
1355           <type name="uint" c:type="guint"/>
1356         </parameter>
1357       </parameters>
1358     </function>
1359     <function name="test_uint16" c:identifier="test_uint16">
1360       <return-value transfer-ownership="none">
1361         <type name="uint16" c:type="guint16"/>
1362       </return-value>
1363       <parameters>
1364         <parameter name="in" transfer-ownership="none">
1365           <type name="uint16" c:type="guint16"/>
1366         </parameter>
1367       </parameters>
1368     </function>
1369     <function name="test_uint32" c:identifier="test_uint32">
1370       <return-value transfer-ownership="none">
1371         <type name="uint32" c:type="guint32"/>
1372       </return-value>
1373       <parameters>
1374         <parameter name="in" transfer-ownership="none">
1375           <type name="uint32" c:type="guint32"/>
1376         </parameter>
1377       </parameters>
1378     </function>
1379     <function name="test_uint64" c:identifier="test_uint64">
1380       <return-value transfer-ownership="none">
1381         <type name="uint64" c:type="guint64"/>
1382       </return-value>
1383       <parameters>
1384         <parameter name="in" transfer-ownership="none">
1385           <type name="uint64" c:type="guint64"/>
1386         </parameter>
1387       </parameters>
1388     </function>
1389     <function name="test_uint8" c:identifier="test_uint8">
1390       <return-value transfer-ownership="none">
1391         <type name="uint8" c:type="guint8"/>
1392       </return-value>
1393       <parameters>
1394         <parameter name="in" transfer-ownership="none">
1395           <type name="uint8" c:type="guint8"/>
1396         </parameter>
1397       </parameters>
1398     </function>
1399     <function name="test_ulong" c:identifier="test_ulong">
1400       <return-value transfer-ownership="none">
1401         <type name="ulong" c:type="gulong"/>
1402       </return-value>
1403       <parameters>
1404         <parameter name="in" transfer-ownership="none">
1405           <type name="ulong" c:type="gulong"/>
1406         </parameter>
1407       </parameters>
1408     </function>
1409     <function name="test_ushort" c:identifier="test_ushort">
1410       <return-value transfer-ownership="none">
1411         <type name="ushort" c:type="gushort"/>
1412       </return-value>
1413       <parameters>
1414         <parameter name="in" transfer-ownership="none">
1415           <type name="ushort" c:type="gushort"/>
1416         </parameter>
1417       </parameters>
1418     </function>
1419     <function name="test_utf8_const_in" c:identifier="test_utf8_const_in">
1420       <return-value transfer-ownership="none">
1421         <type name="none" c:type="void"/>
1422       </return-value>
1423       <parameters>
1424         <parameter name="in" transfer-ownership="none">
1425           <type name="utf8" c:type="char*"/>
1426         </parameter>
1427       </parameters>
1428     </function>
1429     <function name="test_utf8_const_return"
1430               c:identifier="test_utf8_const_return">
1431       <return-value transfer-ownership="none">
1432         <type name="utf8" c:type="char*"/>
1433       </return-value>
1434     </function>
1435     <function name="test_utf8_inout" c:identifier="test_utf8_inout">
1436       <return-value transfer-ownership="none">
1437         <type name="none" c:type="void"/>
1438       </return-value>
1439       <parameters>
1440         <parameter name="inout" direction="inout" transfer-ownership="full">
1441           <type name="utf8" c:type="char**"/>
1442         </parameter>
1443       </parameters>
1444     </function>
1445     <function name="test_utf8_nonconst_in"
1446               c:identifier="test_utf8_nonconst_in">
1447       <return-value transfer-ownership="none">
1448         <type name="none" c:type="void"/>
1449       </return-value>
1450       <parameters>
1451         <parameter name="in" transfer-ownership="full">
1452           <type name="utf8" c:type="char*"/>
1453         </parameter>
1454       </parameters>
1455     </function>
1456     <function name="test_utf8_nonconst_return"
1457               c:identifier="test_utf8_nonconst_return">
1458       <return-value transfer-ownership="full">
1459         <type name="utf8" c:type="char*"/>
1460       </return-value>
1461     </function>
1462     <function name="test_utf8_out" c:identifier="test_utf8_out">
1463       <return-value transfer-ownership="none">
1464         <type name="none" c:type="void"/>
1465       </return-value>
1466       <parameters>
1467         <parameter name="out" direction="out" transfer-ownership="full">
1468           <type name="utf8" c:type="char**"/>
1469         </parameter>
1470       </parameters>
1471     </function>
1472     <function name="test_utf8_out_nonconst_return"
1473               c:identifier="test_utf8_out_nonconst_return">
1474       <return-value transfer-ownership="full"
1475                     doc="a copy of &quot;first&quot;">
1476         <type name="utf8" c:type="char*"/>
1477       </return-value>
1478       <parameters>
1479         <parameter name="out"
1480                    direction="out"
1481                    transfer-ownership="full"
1482                    doc="a copy of &quot;second&quot;">
1483           <type name="utf8" c:type="char**"/>
1484         </parameter>
1485       </parameters>
1486     </function>
1487     <function name="test_utf8_out_out" c:identifier="test_utf8_out_out">
1488       <return-value transfer-ownership="none">
1489         <type name="none" c:type="void"/>
1490       </return-value>
1491       <parameters>
1492         <parameter name="out0"
1493                    direction="out"
1494                    transfer-ownership="full"
1495                    doc="a copy of &quot;first&quot;">
1496           <type name="utf8" c:type="char**"/>
1497         </parameter>
1498         <parameter name="out1"
1499                    direction="out"
1500                    transfer-ownership="full"
1501                    doc="a copy of &quot;second&quot;">
1502           <type name="utf8" c:type="char**"/>
1503         </parameter>
1504       </parameters>
1505     </function>
1506     <function name="test_value_return" c:identifier="test_value_return">
1507       <return-value transfer-ownership="none"
1508                     doc="the int wrapped in a GValue.">
1509         <type name="GObject.Value" c:type="GValue*"/>
1510       </return-value>
1511       <parameters>
1512         <parameter name="i" transfer-ownership="none">
1513           <type name="int" c:type="int"/>
1514         </parameter>
1515       </parameters>
1516     </function>
1517   </namespace>
1518 </repository>