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