Bug 584453 - Handle char ** correctly (and const variation)
[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="flag2"
97               value="4"
98               c:identifier="TEST_FLAG3"
99               glib:nick="flag2"/>
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="do_matrix"
163               c:identifier="test_obj_do_matrix"
164               doc="This method is virtual.  Notably its name differs from the virtual
165 slot name, which makes it useful for testing bindings handle this
166 case.">
167         <return-value transfer-ownership="none">
168           <type name="int" c:type="int"/>
169         </return-value>
170         <parameters>
171           <parameter name="somestr" transfer-ownership="none">
172             <type name="utf8" c:type="char*"/>
173           </parameter>
174         </parameters>
175       </method>
176       <property name="bare" writable="1">
177         <type name="GObject.Object" c:type="GObject"/>
178       </property>
179       <field name="parent_instance">
180         <type name="GObject.Object" c:type="GObject"/>
181       </field>
182       <field name="bare">
183         <type name="GObject.Object" c:type="GObject*"/>
184       </field>
185       <glib:signal name="test">
186         <return-value transfer-ownership="full">
187           <type name="none" c:type="void"/>
188         </return-value>
189       </glib:signal>
190       <glib:signal name="test-with-static-scope-arg">
191         <return-value transfer-ownership="full">
192           <type name="none" c:type="void"/>
193         </return-value>
194         <parameters>
195           <parameter name="object" transfer-ownership="none">
196             <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
197           </parameter>
198         </parameters>
199       </glib:signal>
200     </class>
201     <record name="TestObjClass"
202             c:type="TestObjClass"
203             glib:is-gtype-struct-for="TestObj">
204       <field name="parent_class">
205         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
206       </field>
207       <callback name="matrix" c:type="matrix">
208         <return-value transfer-ownership="none">
209           <type name="int" c:type="int"/>
210         </return-value>
211         <parameters>
212           <parameter name="obj" transfer-ownership="none">
213             <type name="TestObj" c:type="TestObj*"/>
214           </parameter>
215           <parameter name="somestr" transfer-ownership="none">
216             <type name="utf8" c:type="char*"/>
217           </parameter>
218         </parameters>
219       </callback>
220       <field name="test_signal">
221         <type name="uint" c:type="guint"/>
222       </field>
223       <field name="test_signal_with_static_scope_arg">
224         <type name="uint" c:type="guint"/>
225       </field>
226     </record>
227     <record name="TestSimpleBoxedA"
228             c:type="TestSimpleBoxedA"
229             glib:type-name="TestSimpleBoxedA"
230             glib:get-type="test_simple_boxed_a_get_type">
231       <field name="some_int" writable="1">
232         <type name="int" c:type="gint"/>
233       </field>
234       <field name="some_int8" writable="1">
235         <type name="int8" c:type="gint8"/>
236       </field>
237       <field name="some_double" writable="1">
238         <type name="double" c:type="gdouble"/>
239       </field>
240       <field name="some_enum" writable="1">
241         <type name="TestEnum" c:type="TestEnum"/>
242       </field>
243       <method name="copy" c:identifier="test_simple_boxed_a_copy">
244         <return-value transfer-ownership="full">
245           <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
246         </return-value>
247       </method>
248       <method name="equals" c:identifier="test_simple_boxed_a_equals">
249         <return-value transfer-ownership="none">
250           <type name="boolean" c:type="gboolean"/>
251         </return-value>
252         <parameters>
253           <parameter name="other_a" transfer-ownership="none">
254             <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
255           </parameter>
256         </parameters>
257       </method>
258     </record>
259     <record name="TestSimpleBoxedB"
260             c:type="TestSimpleBoxedB"
261             glib:type-name="TestSimpleBoxedB"
262             glib:get-type="test_simple_boxed_b_get_type">
263       <field name="some_int8" writable="1">
264         <type name="int8" c:type="gint8"/>
265       </field>
266       <field name="nested_a" writable="1">
267         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
268       </field>
269       <method name="copy" c:identifier="test_simple_boxed_b_copy">
270         <return-value transfer-ownership="full">
271           <type name="TestSimpleBoxedB" c:type="TestSimpleBoxedB*"/>
272         </return-value>
273       </method>
274     </record>
275     <record name="TestStructA" c:type="TestStructA">
276       <field name="some_int" writable="1">
277         <type name="int" c:type="gint"/>
278       </field>
279       <field name="some_int8" writable="1">
280         <type name="int8" c:type="gint8"/>
281       </field>
282       <field name="some_double" writable="1">
283         <type name="double" c:type="gdouble"/>
284       </field>
285       <field name="some_enum" writable="1">
286         <type name="TestEnum" c:type="TestEnum"/>
287       </field>
288       <method name="clone"
289               c:identifier="test_struct_a_clone"
290               doc="Make a copy of a TestStructA">
291         <return-value transfer-ownership="none">
292           <type name="none" c:type="void"/>
293         </return-value>
294         <parameters>
295           <parameter name="a_out" transfer-ownership="none">
296             <type name="TestStructA" c:type="TestStructA*"/>
297           </parameter>
298         </parameters>
299       </method>
300     </record>
301     <record name="TestStructB" c:type="TestStructB">
302       <field name="some_int8" writable="1">
303         <type name="int8" c:type="gint8"/>
304       </field>
305       <field name="nested_a" writable="1">
306         <type name="TestStructA" c:type="TestStructA"/>
307       </field>
308       <method name="clone"
309               c:identifier="test_struct_b_clone"
310               doc="Make a copy of a TestStructB">
311         <return-value transfer-ownership="none">
312           <type name="none" c:type="void"/>
313         </return-value>
314         <parameters>
315           <parameter name="b_out" transfer-ownership="none">
316             <type name="TestStructB" c:type="TestStructB*"/>
317           </parameter>
318         </parameters>
319       </method>
320     </record>
321     <record name="TestStructC" c:type="_TestStructC">
322       <field name="another_int" writable="1">
323         <type name="int" c:type="gint"/>
324       </field>
325       <field name="obj" writable="1">
326         <type name="GObject.Object" c:type="GObject*"/>
327       </field>
328     </record>
329     <class name="TestWi8021x"
330            c:type="TestWi8021x"
331            parent="GObject.Object"
332            glib:type-name="TestWi8021x"
333            glib:get-type="test_wi_802_1x_get_type"
334            glib:type-struct="TestWi8021xClass">
335       <constructor name="new" c:identifier="test_wi_802_1x_new">
336         <return-value transfer-ownership="full">
337           <type name="TestWi8021x" c:type="TestWi8021x*"/>
338         </return-value>
339       </constructor>
340       <function name="static_method"
341                 c:identifier="test_wi_802_1x_static_method">
342         <return-value transfer-ownership="none">
343           <type name="int" c:type="int"/>
344         </return-value>
345         <parameters>
346           <parameter name="x" transfer-ownership="none">
347             <type name="int" c:type="int"/>
348           </parameter>
349         </parameters>
350       </function>
351       <method name="get_testbool" c:identifier="test_wi_802_1x_get_testbool">
352         <return-value transfer-ownership="none">
353           <type name="boolean" c:type="gboolean"/>
354         </return-value>
355       </method>
356       <method name="set_testbool" c:identifier="test_wi_802_1x_set_testbool">
357         <return-value transfer-ownership="none">
358           <type name="none" c:type="void"/>
359         </return-value>
360         <parameters>
361           <parameter name="v" transfer-ownership="none">
362             <type name="boolean" c:type="gboolean"/>
363           </parameter>
364         </parameters>
365       </method>
366       <property name="testbool" writable="1">
367         <type name="boolean" c:type="gboolean"/>
368       </property>
369       <field name="parent_instance">
370         <type name="GObject.Object" c:type="GObject"/>
371       </field>
372       <field name="testbool">
373         <type name="boolean" c:type="gboolean"/>
374       </field>
375     </class>
376     <record name="TestWi8021xClass"
377             c:type="TestWi8021xClass"
378             glib:is-gtype-struct-for="TestWi8021x">
379       <field name="parent_class">
380         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
381       </field>
382     </record>
383     <function name="test_array_gint16_in" c:identifier="test_array_gint16_in">
384       <return-value transfer-ownership="none">
385         <type name="int" c:type="int"/>
386       </return-value>
387       <parameters>
388         <parameter name="n_ints" transfer-ownership="none">
389           <type name="int" c:type="int"/>
390         </parameter>
391         <parameter name="ints" transfer-ownership="none" doc="List of ints">
392           <array length="0" c:type="gint16*">
393             <type name="int16"/>
394           </array>
395         </parameter>
396       </parameters>
397     </function>
398     <function name="test_array_gint32_in" c:identifier="test_array_gint32_in">
399       <return-value transfer-ownership="none">
400         <type name="int32" c:type="gint32"/>
401       </return-value>
402       <parameters>
403         <parameter name="n_ints" transfer-ownership="none">
404           <type name="int" c:type="int"/>
405         </parameter>
406         <parameter name="ints" transfer-ownership="none" doc="List of ints">
407           <array length="0" c:type="gint32*">
408             <type name="int32"/>
409           </array>
410         </parameter>
411       </parameters>
412     </function>
413     <function name="test_array_gint64_in" c:identifier="test_array_gint64_in">
414       <return-value transfer-ownership="none">
415         <type name="int64" c:type="gint64"/>
416       </return-value>
417       <parameters>
418         <parameter name="n_ints" transfer-ownership="none">
419           <type name="int" c:type="int"/>
420         </parameter>
421         <parameter name="ints" transfer-ownership="none" doc="List of ints">
422           <array length="0" c:type="gint64*">
423             <type name="int64"/>
424           </array>
425         </parameter>
426       </parameters>
427     </function>
428     <function name="test_array_gint8_in" c:identifier="test_array_gint8_in">
429       <return-value transfer-ownership="none">
430         <type name="int" c:type="int"/>
431       </return-value>
432       <parameters>
433         <parameter name="n_ints" transfer-ownership="none">
434           <type name="int" c:type="int"/>
435         </parameter>
436         <parameter name="ints" transfer-ownership="none" doc="List of ints">
437           <array length="0" c:type="gint8*">
438             <type name="int8"/>
439           </array>
440         </parameter>
441       </parameters>
442     </function>
443     <function name="test_array_gtype_in" c:identifier="test_array_gtype_in">
444       <return-value transfer-ownership="full">
445         <type name="utf8" c:type="char*"/>
446       </return-value>
447       <parameters>
448         <parameter name="n_types" transfer-ownership="none">
449           <type name="int" c:type="int"/>
450         </parameter>
451         <parameter name="types" transfer-ownership="none" doc="List of types">
452           <array length="0" c:type="GType*">
453             <type name="GType"/>
454           </array>
455         </parameter>
456       </parameters>
457     </function>
458     <function name="test_array_int_full_out"
459               c:identifier="test_array_int_full_out">
460       <return-value transfer-ownership="full" doc="a new array of integers.">
461         <array length="0" c:type="int*">
462           <type name="int"/>
463         </array>
464       </return-value>
465       <parameters>
466         <parameter name="len" direction="out" transfer-ownership="full">
467           <type name="int" c:type="int*"/>
468         </parameter>
469       </parameters>
470     </function>
471     <function name="test_array_int_in" c:identifier="test_array_int_in">
472       <return-value transfer-ownership="none">
473         <type name="int" c:type="int"/>
474       </return-value>
475       <parameters>
476         <parameter name="n_ints" transfer-ownership="none">
477           <type name="int" c:type="int"/>
478         </parameter>
479         <parameter name="ints" transfer-ownership="none" doc="List of ints">
480           <array length="0" c:type="int*">
481             <type name="int"/>
482           </array>
483         </parameter>
484       </parameters>
485     </function>
486     <function name="test_array_int_none_out"
487               c:identifier="test_array_int_none_out">
488       <return-value transfer-ownership="none"
489                     doc="a static array of integers.">
490         <array length="0" c:type="int*">
491           <type name="int"/>
492         </array>
493       </return-value>
494       <parameters>
495         <parameter name="len" direction="out" transfer-ownership="full">
496           <type name="int" c:type="int*"/>
497         </parameter>
498       </parameters>
499     </function>
500     <function name="test_boolean" c:identifier="test_boolean">
501       <return-value transfer-ownership="none">
502         <type name="boolean" c:type="gboolean"/>
503       </return-value>
504       <parameters>
505         <parameter name="in" transfer-ownership="none">
506           <type name="boolean" c:type="gboolean"/>
507         </parameter>
508       </parameters>
509     </function>
510     <function name="test_callback" c:identifier="test_callback">
511       <return-value transfer-ownership="none">
512         <type name="int" c:type="int"/>
513       </return-value>
514       <parameters>
515         <parameter name="callback" transfer-ownership="none" scope="call">
516           <type name="TestCallback" c:type="TestCallback"/>
517         </parameter>
518       </parameters>
519     </function>
520     <function name="test_callback_destroy_notify"
521               c:identifier="test_callback_destroy_notify"
522               doc="Notified - callback persists until a DestroyNotify delegate
523 is invoked.">
524       <return-value transfer-ownership="none">
525         <type name="int" c:type="int"/>
526       </return-value>
527       <parameters>
528         <parameter name="callback"
529                    transfer-ownership="none"
530                    scope="notified"
531                    closure="1"
532                    destroy="2">
533           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
534         </parameter>
535         <parameter name="user_data" transfer-ownership="none">
536           <type name="any" c:type="gpointer"/>
537         </parameter>
538         <parameter name="notify" transfer-ownership="none">
539           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
540         </parameter>
541       </parameters>
542     </function>
543     <function name="test_callback_infinte"
544               c:identifier="test_callback_infinte"
545               doc="Infinite - callback persists forever.">
546       <return-value transfer-ownership="none">
547         <type name="int" c:type="int"/>
548       </return-value>
549       <parameters>
550         <parameter name="callback"
551                    transfer-ownership="none"
552                    scope="infinte"
553                    closure="1">
554           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
555         </parameter>
556         <parameter name="user_data" transfer-ownership="none">
557           <type name="any" c:type="gpointer"/>
558         </parameter>
559       </parameters>
560     </function>
561     <function name="test_callback_thaw_notifications"
562               c:identifier="test_callback_thaw_notifications"
563               doc="Invokes all callbacks installed by #test_callback_destroy_notify(),
564 adding up their return values, and removes them, invoking the
565 corresponding destroy notfications.">
566       <return-value transfer-ownership="none">
567         <type name="int" c:type="int"/>
568       </return-value>
569     </function>
570     <function name="test_callback_user_data"
571               c:identifier="test_callback_user_data"
572               doc="Call - callback parameter persists for the duration of the method
573 call and can be released on return.">
574       <return-value transfer-ownership="none">
575         <type name="int" c:type="int"/>
576       </return-value>
577       <parameters>
578         <parameter name="callback"
579                    transfer-ownership="none"
580                    scope="call"
581                    closure="1">
582           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
583         </parameter>
584         <parameter name="user_data" transfer-ownership="none">
585           <type name="any" c:type="gpointer"/>
586         </parameter>
587       </parameters>
588     </function>
589     <function name="test_closure" c:identifier="test_closure">
590       <return-value transfer-ownership="none">
591         <type name="int" c:type="int"/>
592       </return-value>
593       <parameters>
594         <parameter name="closure" transfer-ownership="none">
595           <type name="GObject.Closure" c:type="GClosure*"/>
596         </parameter>
597       </parameters>
598     </function>
599     <function name="test_closure_one_arg" c:identifier="test_closure_one_arg">
600       <return-value transfer-ownership="none">
601         <type name="int" c:type="int"/>
602       </return-value>
603       <parameters>
604         <parameter name="closure" transfer-ownership="none">
605           <type name="GObject.Closure" c:type="GClosure*"/>
606         </parameter>
607         <parameter name="arg" transfer-ownership="none">
608           <type name="int" c:type="int"/>
609         </parameter>
610       </parameters>
611     </function>
612     <function name="test_double" c:identifier="test_double">
613       <return-value transfer-ownership="none">
614         <type name="double" c:type="gdouble"/>
615       </return-value>
616       <parameters>
617         <parameter name="in" transfer-ownership="none">
618           <type name="double" c:type="gdouble"/>
619         </parameter>
620       </parameters>
621     </function>
622     <function name="test_enum_param" c:identifier="test_enum_param">
623       <return-value transfer-ownership="none">
624         <type name="utf8" c:type="gchar*"/>
625       </return-value>
626       <parameters>
627         <parameter name="e" transfer-ownership="none">
628           <type name="TestEnum" c:type="TestEnum"/>
629         </parameter>
630       </parameters>
631     </function>
632     <function name="test_filename_return" c:identifier="test_filename_return">
633       <return-value transfer-ownership="full" doc="list of strings">
634         <type name="GLib.SList" c:type="GSList*">
635           <type name="filename"/>
636         </type>
637       </return-value>
638     </function>
639     <function name="test_float" c:identifier="test_float">
640       <return-value transfer-ownership="none">
641         <type name="float" c:type="gfloat"/>
642       </return-value>
643       <parameters>
644         <parameter name="in" transfer-ownership="none">
645           <type name="float" c:type="gfloat"/>
646         </parameter>
647       </parameters>
648     </function>
649     <function name="test_ghash_container_in"
650               c:identifier="test_ghash_container_in">
651       <return-value transfer-ownership="none">
652         <type name="none" c:type="void"/>
653       </return-value>
654       <parameters>
655         <parameter name="in" transfer-ownership="container">
656           <type name="GLib.HashTable" c:type="GHashTable*">
657             <type name="utf8"/>
658             <type name="utf8"/>
659           </type>
660         </parameter>
661       </parameters>
662     </function>
663     <function name="test_ghash_container_return"
664               c:identifier="test_ghash_container_return">
665       <return-value transfer-ownership="container">
666         <type name="GLib.HashTable" c:type="GHashTable*">
667           <type name="utf8"/>
668           <type name="utf8"/>
669         </type>
670       </return-value>
671     </function>
672     <function name="test_ghash_everything_in"
673               c:identifier="test_ghash_everything_in">
674       <return-value transfer-ownership="none">
675         <type name="none" c:type="void"/>
676       </return-value>
677       <parameters>
678         <parameter name="in" transfer-ownership="full">
679           <type name="GLib.HashTable" c:type="GHashTable*">
680             <type name="utf8"/>
681             <type name="utf8"/>
682           </type>
683         </parameter>
684       </parameters>
685     </function>
686     <function name="test_ghash_everything_return"
687               c:identifier="test_ghash_everything_return">
688       <return-value transfer-ownership="full">
689         <type name="GLib.HashTable" c:type="GHashTable*">
690           <type name="utf8"/>
691           <type name="utf8"/>
692         </type>
693       </return-value>
694     </function>
695     <function name="test_ghash_free" c:identifier="test_ghash_free">
696       <return-value transfer-ownership="none">
697         <type name="none" c:type="void"/>
698       </return-value>
699       <parameters>
700         <parameter name="in" transfer-ownership="full">
701           <type name="GLib.HashTable" c:type="GHashTable*">
702             <type name="utf8"/>
703             <type name="utf8"/>
704           </type>
705         </parameter>
706       </parameters>
707     </function>
708     <function name="test_ghash_nothing_in"
709               c:identifier="test_ghash_nothing_in">
710       <return-value transfer-ownership="none">
711         <type name="none" c:type="void"/>
712       </return-value>
713       <parameters>
714         <parameter name="in" transfer-ownership="none">
715           <type name="GLib.HashTable" c:type="GHashTable*">
716             <type name="utf8"/>
717             <type name="utf8"/>
718           </type>
719         </parameter>
720       </parameters>
721     </function>
722     <function name="test_ghash_nothing_in2"
723               c:identifier="test_ghash_nothing_in2">
724       <return-value transfer-ownership="none">
725         <type name="none" c:type="void"/>
726       </return-value>
727       <parameters>
728         <parameter name="in" transfer-ownership="none">
729           <type name="GLib.HashTable" c:type="GHashTable*">
730             <type name="utf8"/>
731             <type name="utf8"/>
732           </type>
733         </parameter>
734       </parameters>
735     </function>
736     <function name="test_ghash_nothing_return"
737               c:identifier="test_ghash_nothing_return">
738       <return-value transfer-ownership="none">
739         <type name="GLib.HashTable" c:type="GHashTable*">
740           <type name="utf8"/>
741           <type name="utf8"/>
742         </type>
743       </return-value>
744     </function>
745     <function name="test_ghash_nothing_return2"
746               c:identifier="test_ghash_nothing_return2">
747       <return-value transfer-ownership="none">
748         <type name="GLib.HashTable" c:type="GHashTable*">
749           <type name="utf8"/>
750           <type name="utf8"/>
751         </type>
752       </return-value>
753     </function>
754     <function name="test_ghash_null_in" c:identifier="test_ghash_null_in">
755       <return-value transfer-ownership="none">
756         <type name="none" c:type="void"/>
757       </return-value>
758       <parameters>
759         <parameter name="in" transfer-ownership="none" allow-none="1">
760           <type name="GLib.HashTable" c:type="GHashTable*">
761             <type name="utf8"/>
762             <type name="utf8"/>
763           </type>
764         </parameter>
765       </parameters>
766     </function>
767     <function name="test_ghash_null_return"
768               c:identifier="test_ghash_null_return">
769       <return-value transfer-ownership="none">
770         <type name="GLib.HashTable" c:type="GHashTable*">
771           <type name="utf8"/>
772           <type name="utf8"/>
773         </type>
774       </return-value>
775     </function>
776     <function name="test_glist_container_in"
777               c:identifier="test_glist_container_in">
778       <return-value transfer-ownership="none">
779         <type name="none" c:type="void"/>
780       </return-value>
781       <parameters>
782         <parameter name="in" transfer-ownership="container">
783           <type name="GLib.List" c:type="GList*">
784             <type name="utf8"/>
785           </type>
786         </parameter>
787       </parameters>
788     </function>
789     <function name="test_glist_container_return"
790               c:identifier="test_glist_container_return">
791       <return-value transfer-ownership="container">
792         <type name="GLib.List" c:type="GList*">
793           <type name="utf8"/>
794         </type>
795       </return-value>
796     </function>
797     <function name="test_glist_everything_in"
798               c:identifier="test_glist_everything_in">
799       <return-value transfer-ownership="none">
800         <type name="none" c:type="void"/>
801       </return-value>
802       <parameters>
803         <parameter name="in" transfer-ownership="full">
804           <type name="GLib.List" c:type="GList*">
805             <type name="utf8"/>
806           </type>
807         </parameter>
808       </parameters>
809     </function>
810     <function name="test_glist_everything_return"
811               c:identifier="test_glist_everything_return">
812       <return-value transfer-ownership="full">
813         <type name="GLib.List" c:type="GList*">
814           <type name="utf8"/>
815         </type>
816       </return-value>
817     </function>
818     <function name="test_glist_free" c:identifier="test_glist_free">
819       <return-value transfer-ownership="none">
820         <type name="none" c:type="void"/>
821       </return-value>
822       <parameters>
823         <parameter name="in" transfer-ownership="full">
824           <type name="GLib.List" c:type="GList*">
825             <type name="utf8"/>
826           </type>
827         </parameter>
828       </parameters>
829     </function>
830     <function name="test_glist_nothing_in"
831               c:identifier="test_glist_nothing_in">
832       <return-value transfer-ownership="none">
833         <type name="none" c:type="void"/>
834       </return-value>
835       <parameters>
836         <parameter name="in" transfer-ownership="none">
837           <type name="GLib.List" c:type="GList*">
838             <type name="utf8"/>
839           </type>
840         </parameter>
841       </parameters>
842     </function>
843     <function name="test_glist_nothing_in2"
844               c:identifier="test_glist_nothing_in2">
845       <return-value transfer-ownership="none">
846         <type name="none" c:type="void"/>
847       </return-value>
848       <parameters>
849         <parameter name="in" transfer-ownership="none">
850           <type name="GLib.List" c:type="GList*">
851             <type name="utf8"/>
852           </type>
853         </parameter>
854       </parameters>
855     </function>
856     <function name="test_glist_nothing_return"
857               c:identifier="test_glist_nothing_return">
858       <return-value transfer-ownership="none">
859         <type name="GLib.List" c:type="GList*">
860           <type name="utf8"/>
861         </type>
862       </return-value>
863     </function>
864     <function name="test_glist_nothing_return2"
865               c:identifier="test_glist_nothing_return2">
866       <return-value transfer-ownership="none">
867         <type name="GLib.List" c:type="GList*">
868           <type name="utf8"/>
869         </type>
870       </return-value>
871     </function>
872     <function name="test_gslist_container_in"
873               c:identifier="test_gslist_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.SList" c:type="GSList*">
880             <type name="utf8"/>
881           </type>
882         </parameter>
883       </parameters>
884     </function>
885     <function name="test_gslist_container_return"
886               c:identifier="test_gslist_container_return">
887       <return-value transfer-ownership="container">
888         <type name="GLib.SList" c:type="GSList*">
889           <type name="utf8"/>
890         </type>
891       </return-value>
892     </function>
893     <function name="test_gslist_everything_in"
894               c:identifier="test_gslist_everything_in">
895       <return-value transfer-ownership="none">
896         <type name="none" c:type="void"/>
897       </return-value>
898       <parameters>
899         <parameter name="in" transfer-ownership="full">
900           <type name="GLib.SList" c:type="GSList*">
901             <type name="utf8"/>
902           </type>
903         </parameter>
904       </parameters>
905     </function>
906     <function name="test_gslist_everything_return"
907               c:identifier="test_gslist_everything_return">
908       <return-value transfer-ownership="full">
909         <type name="GLib.SList" c:type="GSList*">
910           <type name="utf8"/>
911         </type>
912       </return-value>
913     </function>
914     <function name="test_gslist_free" c:identifier="test_gslist_free">
915       <return-value transfer-ownership="none">
916         <type name="none" c:type="void"/>
917       </return-value>
918       <parameters>
919         <parameter name="in" transfer-ownership="full">
920           <type name="GLib.SList" c:type="GSList*">
921             <type name="utf8"/>
922           </type>
923         </parameter>
924       </parameters>
925     </function>
926     <function name="test_gslist_nothing_in"
927               c:identifier="test_gslist_nothing_in">
928       <return-value transfer-ownership="none">
929         <type name="none" c:type="void"/>
930       </return-value>
931       <parameters>
932         <parameter name="in" transfer-ownership="none">
933           <type name="GLib.SList" c:type="GSList*">
934             <type name="utf8"/>
935           </type>
936         </parameter>
937       </parameters>
938     </function>
939     <function name="test_gslist_nothing_in2"
940               c:identifier="test_gslist_nothing_in2">
941       <return-value transfer-ownership="none">
942         <type name="none" c:type="void"/>
943       </return-value>
944       <parameters>
945         <parameter name="in" transfer-ownership="none">
946           <type name="GLib.SList" c:type="GSList*">
947             <type name="utf8"/>
948           </type>
949         </parameter>
950       </parameters>
951     </function>
952     <function name="test_gslist_nothing_return"
953               c:identifier="test_gslist_nothing_return">
954       <return-value transfer-ownership="none">
955         <type name="GLib.SList" c:type="GSList*">
956           <type name="utf8"/>
957         </type>
958       </return-value>
959     </function>
960     <function name="test_gslist_nothing_return2"
961               c:identifier="test_gslist_nothing_return2">
962       <return-value transfer-ownership="none">
963         <type name="GLib.SList" c:type="GSList*">
964           <type name="utf8"/>
965         </type>
966       </return-value>
967     </function>
968     <function name="test_gtype" c:identifier="test_gtype">
969       <return-value transfer-ownership="none">
970         <type name="GType" c:type="GType"/>
971       </return-value>
972       <parameters>
973         <parameter name="in" transfer-ownership="none">
974           <type name="GType" c:type="GType"/>
975         </parameter>
976       </parameters>
977     </function>
978     <function name="test_int" c:identifier="test_int">
979       <return-value transfer-ownership="none">
980         <type name="int" c:type="gint"/>
981       </return-value>
982       <parameters>
983         <parameter name="in" transfer-ownership="none">
984           <type name="int" c:type="gint"/>
985         </parameter>
986       </parameters>
987     </function>
988     <function name="test_int16" c:identifier="test_int16">
989       <return-value transfer-ownership="none">
990         <type name="int16" c:type="gint16"/>
991       </return-value>
992       <parameters>
993         <parameter name="in" transfer-ownership="none">
994           <type name="int16" c:type="gint16"/>
995         </parameter>
996       </parameters>
997     </function>
998     <function name="test_int32" c:identifier="test_int32">
999       <return-value transfer-ownership="none">
1000         <type name="int32" c:type="gint32"/>
1001       </return-value>
1002       <parameters>
1003         <parameter name="in" transfer-ownership="none">
1004           <type name="int32" c:type="gint32"/>
1005         </parameter>
1006       </parameters>
1007     </function>
1008     <function name="test_int64" c:identifier="test_int64">
1009       <return-value transfer-ownership="none">
1010         <type name="int64" c:type="gint64"/>
1011       </return-value>
1012       <parameters>
1013         <parameter name="in" transfer-ownership="none">
1014           <type name="int64" c:type="gint64"/>
1015         </parameter>
1016       </parameters>
1017     </function>
1018     <function name="test_int8" c:identifier="test_int8">
1019       <return-value transfer-ownership="none">
1020         <type name="int8" c:type="gint8"/>
1021       </return-value>
1022       <parameters>
1023         <parameter name="in" transfer-ownership="none">
1024           <type name="int8" c:type="gint8"/>
1025         </parameter>
1026       </parameters>
1027     </function>
1028     <function name="test_int_value_arg" c:identifier="test_int_value_arg">
1029       <return-value transfer-ownership="none">
1030         <type name="int" c:type="int"/>
1031       </return-value>
1032       <parameters>
1033         <parameter name="v" transfer-ownership="none">
1034           <type name="GObject.Value" c:type="GValue*"/>
1035         </parameter>
1036       </parameters>
1037     </function>
1038     <function name="test_long" c:identifier="test_long">
1039       <return-value transfer-ownership="none">
1040         <type name="long" c:type="glong"/>
1041       </return-value>
1042       <parameters>
1043         <parameter name="in" transfer-ownership="none">
1044           <type name="long" c:type="glong"/>
1045         </parameter>
1046       </parameters>
1047     </function>
1048     <function name="test_simple_boxed_a_const_return"
1049               c:identifier="test_simple_boxed_a_const_return">
1050       <return-value transfer-ownership="none">
1051         <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
1052       </return-value>
1053     </function>
1054     <function name="test_size" c:identifier="test_size">
1055       <return-value transfer-ownership="none">
1056         <type name="size_t" c:type="gsize"/>
1057       </return-value>
1058       <parameters>
1059         <parameter name="in" transfer-ownership="none">
1060           <type name="size_t" c:type="gsize"/>
1061         </parameter>
1062       </parameters>
1063     </function>
1064     <function name="test_ssize" c:identifier="test_ssize">
1065       <return-value transfer-ownership="none">
1066         <type name="ssize_t" c:type="gssize"/>
1067       </return-value>
1068       <parameters>
1069         <parameter name="in" transfer-ownership="none">
1070           <type name="ssize_t" c:type="gssize"/>
1071         </parameter>
1072       </parameters>
1073     </function>
1074     <function name="test_strv_in" c:identifier="test_strv_in">
1075       <return-value transfer-ownership="none">
1076         <type name="boolean" c:type="gboolean"/>
1077       </return-value>
1078       <parameters>
1079         <parameter name="arr" transfer-ownership="none">
1080           <array c:type="char**">
1081             <type name="utf8"/>
1082           </array>
1083         </parameter>
1084       </parameters>
1085     </function>
1086     <function name="test_strv_out"
1087               c:identifier="test_strv_out"
1088               doc="No annotations here.  We want the default to Do The Right Thing.">
1089       <return-value transfer-ownership="full">
1090         <array c:type="char**">
1091           <type name="utf8"/>
1092         </array>
1093       </return-value>
1094     </function>
1095     <function name="test_strv_out_c"
1096               c:identifier="test_strv_out_c"
1097               doc="No annotations here.  We want the default to Do The Right Thing.">
1098       <return-value transfer-ownership="none">
1099         <array c:type="char**">
1100           <type name="utf8"/>
1101         </array>
1102       </return-value>
1103     </function>
1104     <function name="test_strv_out_container"
1105               c:identifier="test_strv_out_container">
1106       <return-value transfer-ownership="container">
1107         <array c:type="char**">
1108           <type name="utf8"/>
1109         </array>
1110       </return-value>
1111     </function>
1112     <function name="test_timet" c:identifier="test_timet">
1113       <return-value transfer-ownership="none">
1114         <type name="time_t" c:type="time_t"/>
1115       </return-value>
1116       <parameters>
1117         <parameter name="in" transfer-ownership="none">
1118           <type name="time_t" c:type="time_t"/>
1119         </parameter>
1120       </parameters>
1121     </function>
1122     <function name="test_uint" c:identifier="test_uint">
1123       <return-value transfer-ownership="none">
1124         <type name="uint" c:type="guint"/>
1125       </return-value>
1126       <parameters>
1127         <parameter name="in" transfer-ownership="none">
1128           <type name="uint" c:type="guint"/>
1129         </parameter>
1130       </parameters>
1131     </function>
1132     <function name="test_uint16" c:identifier="test_uint16">
1133       <return-value transfer-ownership="none">
1134         <type name="uint16" c:type="guint16"/>
1135       </return-value>
1136       <parameters>
1137         <parameter name="in" transfer-ownership="none">
1138           <type name="uint16" c:type="guint16"/>
1139         </parameter>
1140       </parameters>
1141     </function>
1142     <function name="test_uint32" c:identifier="test_uint32">
1143       <return-value transfer-ownership="none">
1144         <type name="uint32" c:type="guint32"/>
1145       </return-value>
1146       <parameters>
1147         <parameter name="in" transfer-ownership="none">
1148           <type name="uint32" c:type="guint32"/>
1149         </parameter>
1150       </parameters>
1151     </function>
1152     <function name="test_uint64" c:identifier="test_uint64">
1153       <return-value transfer-ownership="none">
1154         <type name="uint64" c:type="guint64"/>
1155       </return-value>
1156       <parameters>
1157         <parameter name="in" transfer-ownership="none">
1158           <type name="uint64" c:type="guint64"/>
1159         </parameter>
1160       </parameters>
1161     </function>
1162     <function name="test_uint8" c:identifier="test_uint8">
1163       <return-value transfer-ownership="none">
1164         <type name="uint8" c:type="guint8"/>
1165       </return-value>
1166       <parameters>
1167         <parameter name="in" transfer-ownership="none">
1168           <type name="uint8" c:type="guint8"/>
1169         </parameter>
1170       </parameters>
1171     </function>
1172     <function name="test_ulong" c:identifier="test_ulong">
1173       <return-value transfer-ownership="none">
1174         <type name="ulong" c:type="gulong"/>
1175       </return-value>
1176       <parameters>
1177         <parameter name="in" transfer-ownership="none">
1178           <type name="ulong" c:type="gulong"/>
1179         </parameter>
1180       </parameters>
1181     </function>
1182     <function name="test_utf8_const_in" c:identifier="test_utf8_const_in">
1183       <return-value transfer-ownership="none">
1184         <type name="none" c:type="void"/>
1185       </return-value>
1186       <parameters>
1187         <parameter name="in" transfer-ownership="none">
1188           <type name="utf8" c:type="char*"/>
1189         </parameter>
1190       </parameters>
1191     </function>
1192     <function name="test_utf8_const_return"
1193               c:identifier="test_utf8_const_return">
1194       <return-value transfer-ownership="none">
1195         <type name="utf8" c:type="char*"/>
1196       </return-value>
1197     </function>
1198     <function name="test_utf8_inout" c:identifier="test_utf8_inout">
1199       <return-value transfer-ownership="none">
1200         <type name="none" c:type="void"/>
1201       </return-value>
1202       <parameters>
1203         <parameter name="inout" direction="inout" transfer-ownership="full">
1204           <type name="utf8" c:type="char**"/>
1205         </parameter>
1206       </parameters>
1207     </function>
1208     <function name="test_utf8_nonconst_in"
1209               c:identifier="test_utf8_nonconst_in">
1210       <return-value transfer-ownership="none">
1211         <type name="none" c:type="void"/>
1212       </return-value>
1213       <parameters>
1214         <parameter name="in" transfer-ownership="full">
1215           <type name="utf8" c:type="char*"/>
1216         </parameter>
1217       </parameters>
1218     </function>
1219     <function name="test_utf8_nonconst_return"
1220               c:identifier="test_utf8_nonconst_return">
1221       <return-value transfer-ownership="full">
1222         <type name="utf8" c:type="char*"/>
1223       </return-value>
1224     </function>
1225     <function name="test_utf8_out" c:identifier="test_utf8_out">
1226       <return-value transfer-ownership="none">
1227         <type name="none" c:type="void"/>
1228       </return-value>
1229       <parameters>
1230         <parameter name="out" direction="out" transfer-ownership="full">
1231           <type name="utf8" c:type="char**"/>
1232         </parameter>
1233       </parameters>
1234     </function>
1235     <function name="test_value_return" c:identifier="test_value_return">
1236       <return-value transfer-ownership="none"
1237                     doc="the int wrapped in a GValue.">
1238         <type name="GObject.Value" c:type="GValue*"/>
1239       </return-value>
1240       <parameters>
1241         <parameter name="i" transfer-ownership="none">
1242           <type name="int" c:type="int"/>
1243         </parameter>
1244       </parameters>
1245     </function>
1246   </namespace>
1247 </repository>