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