Bug 571483 - Sort toplevel .gir entries
[gnome.gobject-introspection] / tests / scanner / foo-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   <include name="utility" version="1.0"/>
12   <package name="gobject-2.0"/>
13   <namespace name="foo" version="1.0" shared-library="foo">
14     <alias name="List" target="GLib.SList" c:type="FooList"/>
15     <alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
16     <alias name="XEvent" target="none" c:type="FooXEvent"/>
17     <record name="BRect"
18             c:type="FooBRect"
19             glib:type-name="FooBRect"
20             glib:get-type="foo_brect_get_type">
21       <field name="x" writable="1">
22         <type name="double" c:type="double"/>
23       </field>
24       <field name="y" writable="1">
25         <type name="double" c:type="double"/>
26       </field>
27       <constructor name="new" c:identifier="foo_brect_new">
28         <return-value transfer-ownership="full">
29           <type name="BRect" c:type="FooBRect*"/>
30         </return-value>
31         <parameters>
32           <parameter name="x" transfer-ownership="none">
33             <type name="double" c:type="double"/>
34           </parameter>
35           <parameter name="y" transfer-ownership="none">
36             <type name="double" c:type="double"/>
37           </parameter>
38         </parameters>
39       </constructor>
40       <method name="add" c:identifier="foo_brect_add">
41         <return-value transfer-ownership="none">
42           <type name="none" c:type="void"/>
43         </return-value>
44         <parameters>
45           <parameter name="b2" transfer-ownership="none">
46             <type name="BRect" c:type="FooBRect*"/>
47           </parameter>
48         </parameters>
49       </method>
50     </record>
51     <union name="BUnion"
52            c:type="FooBUnion"
53            glib:type-name="FooBUnion"
54            glib:get-type="foo_bunion_get_type">
55       <field name="type" writable="1">
56         <type name="int" c:type="int"/>
57       </field>
58       <field name="v" writable="1">
59         <type name="double" c:type="double"/>
60       </field>
61       <field name="rect" writable="1">
62         <type name="BRect" c:type="FooBRect*"/>
63       </field>
64       <constructor name="new" c:identifier="foo_bunion_new">
65         <return-value transfer-ownership="full">
66           <type name="BUnion" c:type="FooBUnion*"/>
67         </return-value>
68       </constructor>
69       <method name="get_contained_type"
70               c:identifier="foo_bunion_get_contained_type">
71         <return-value transfer-ownership="none">
72           <type name="int" c:type="int"/>
73         </return-value>
74       </method>
75     </union>
76     <record name="Boxed"
77             c:type="FooBoxed"
78             glib:type-name="FooBoxed"
79             glib:get-type="foo_boxed_get_type">
80       <constructor name="new" c:identifier="foo_boxed_new">
81         <return-value transfer-ownership="full">
82           <type name="Boxed" c:type="FooBoxed*"/>
83         </return-value>
84       </constructor>
85       <method name="method" c:identifier="foo_boxed_method">
86         <return-value transfer-ownership="none">
87           <type name="none" c:type="void"/>
88         </return-value>
89       </method>
90     </record>
91     <class name="Buffer"
92            c:type="FooBuffer"
93            parent="GObject.Object"
94            glib:type-name="FooBuffer"
95            glib:get-type="foo_buffer_get_type"
96            glib:class-struct="BufferClass">
97       <implements name="Interface"/>
98       <method name="some_method" c:identifier="foo_buffer_some_method">
99         <return-value transfer-ownership="none">
100           <type name="none" c:type="void"/>
101         </return-value>
102       </method>
103     </class>
104     <record name="BufferClass"
105             c:type="FooBufferClass"
106             glib:is-class-struct-for="Buffer">
107     </record>
108     <callback name="Callback" c:type="FooCallback">
109       <return-value transfer-ownership="none">
110         <type name="boolean" c:type="gboolean"/>
111       </return-value>
112       <parameters>
113         <parameter name="foo" transfer-ownership="none">
114           <type name="Object" c:type="FooObject*"/>
115         </parameter>
116         <parameter name="b" transfer-ownership="none">
117           <type name="boolean" c:type="gboolean"/>
118         </parameter>
119         <parameter name="data" transfer-ownership="none">
120           <type name="any" c:type="gpointer"/>
121         </parameter>
122       </parameters>
123     </callback>
124     <record name="DBusData"
125             c:type="FooDBusData"
126             glib:type-name="FooDBusData"
127             glib:get-type="foo_dbus_data_get_type">
128       <method name="method" c:identifier="foo_dbus_data_method">
129         <return-value transfer-ownership="none">
130           <type name="none" c:type="void"/>
131         </return-value>
132       </method>
133     </record>
134     <enumeration name="EnumFullname" c:type="FooEnumFullname">
135       <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
136       <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
137       <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
138     </enumeration>
139     <enumeration name="EnumNoType" c:type="FooEnumNoType">
140       <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
141       <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
142       <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
143       <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
144     </enumeration>
145     <enumeration name="EnumType"
146                  glib:type-name="FooEnumType"
147                  glib:get-type="foo_enum_type_get_type"
148                  c:type="FooEnumType">
149       <member name="alpha"
150               value="0"
151               c:identifier="FOO_ENUM_ALPHA"
152               glib:nick="alpha"/>
153       <member name="beta"
154               value="1"
155               c:identifier="FOO_ENUM_BETA"
156               glib:nick="beta"/>
157       <member name="delta"
158               value="2"
159               c:identifier="FOO_ENUM_DELTA"
160               glib:nick="delta"/>
161     </enumeration>
162     <enumeration name="Error"
163                  glib:type-name="FooError"
164                  glib:get-type="foo_error_get_type"
165                  c:type="FooError"
166                  glib:error-quark="foo_error_quark">
167       <member name="good"
168               value="0"
169               c:identifier="FOO_ERROR_GOOD"
170               glib:nick="good"/>
171       <member name="bad"
172               value="1"
173               c:identifier="FOO_ERROR_BAD"
174               glib:nick="bad"/>
175       <member name="ugly"
176               value="2"
177               c:identifier="FOO_ERROR_UGLY"
178               glib:nick="ugly"/>
179     </enumeration>
180     <union name="Event" c:type="FooEvent">
181       <field name="type" writable="1">
182         <type name="int" c:type="int"/>
183       </field>
184       <field name="any" writable="1">
185         <type name="EventAny" c:type="FooEventAny"/>
186       </field>
187       <field name="expose" writable="1">
188         <type name="EventExpose" c:type="FooEventExpose"/>
189       </field>
190     </union>
191     <record name="EventAny" c:type="FooEventAny">
192       <field name="send_event" writable="1">
193         <type name="int8" c:type="gint8"/>
194       </field>
195     </record>
196     <record name="EventExpose" c:type="FooEventExpose">
197       <field name="send_event" writable="1">
198         <type name="int8" c:type="gint8"/>
199       </field>
200       <field name="count" writable="1">
201         <type name="int" c:type="gint"/>
202       </field>
203     </record>
204     <bitfield name="FlagsNoType" c:type="FooFlagsNoType">
205       <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
206       <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
207       <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
208     </bitfield>
209     <bitfield name="FlagsType"
210               glib:type-name="FooFlagsType"
211               glib:get-type="foo_flags_type_get_type"
212               c:type="FooFlagsType">
213       <member name="first"
214               value="1"
215               c:identifier="FOO_FLAGS_FIRST"
216               glib:nick="first"/>
217       <member name="second"
218               value="2"
219               c:identifier="FOO_FLAGS_SECOND"
220               glib:nick="second"/>
221       <member name="third"
222               value="4"
223               c:identifier="FOO_FLAGS_THIRD"
224               glib:nick="third"/>
225     </bitfield>
226     <interface name="Interface"
227                c:type="FooInterface"
228                glib:type-name="FooInterface"
229                glib:get-type="foo_interface_get_type">
230       <callback name="do_foo" c:type="do_foo">
231         <return-value transfer-ownership="none">
232           <type name="none" c:type="void"/>
233         </return-value>
234         <parameters>
235           <parameter name="self" transfer-ownership="none">
236             <type name="Interface" c:type="FooInterface*"/>
237           </parameter>
238         </parameters>
239       </callback>
240     </interface>
241     <record name="InterfaceIface" c:type="FooInterfaceIface">
242       <field name="parent_iface">
243         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
244       </field>
245       <callback name="do_foo" c:type="do_foo">
246         <return-value transfer-ownership="none">
247           <type name="none" c:type="void"/>
248         </return-value>
249         <parameters>
250           <parameter name="self" transfer-ownership="none">
251             <type name="Interface" c:type="FooInterface*"/>
252           </parameter>
253         </parameters>
254       </callback>
255     </record>
256     <class name="Object"
257            c:type="FooObject"
258            parent="GObject.Object"
259            glib:type-name="FooObject"
260            glib:get-type="foo_object_get_type"
261            glib:class-struct="ObjectClass">
262       <implements name="Interface"/>
263       <constructor name="new" c:identifier="foo_object_new">
264         <return-value transfer-ownership="full">
265           <type name="Object" c:type="FooObject*"/>
266         </return-value>
267       </constructor>
268       <function name="static_meth" c:identifier="foo_object_static_meth">
269         <return-value transfer-ownership="none">
270           <type name="int" c:type="int"/>
271         </return-value>
272       </function>
273       <method name="external_type" c:identifier="foo_object_external_type">
274         <return-value transfer-ownership="full">
275           <type name="utility.Object" c:type="UtilityObject*"/>
276         </return-value>
277       </method>
278       <method name="various" c:identifier="foo_object_various">
279         <return-value transfer-ownership="none">
280           <type name="none" c:type="void"/>
281         </return-value>
282         <parameters>
283           <parameter name="data" transfer-ownership="none">
284             <type name="any" c:type="void*"/>
285           </parameter>
286           <parameter name="some_type" transfer-ownership="none">
287             <type name="GType" c:type="GType"/>
288           </parameter>
289         </parameters>
290       </method>
291       <method name="take_all" c:identifier="foo_object_take_all">
292         <return-value transfer-ownership="none">
293           <type name="none" c:type="void"/>
294         </return-value>
295         <parameters>
296           <parameter name="x" transfer-ownership="none">
297             <type name="int" c:type="int"/>
298           </parameter>
299           <parameter transfer-ownership="none">
300             <varargs>
301             </varargs>
302           </parameter>
303         </parameters>
304       </method>
305       <method name="with_tdef" c:identifier="foo_object_with_tdef">
306         <return-value transfer-ownership="none">
307           <type name="none" c:type="void"/>
308         </return-value>
309         <parameters>
310           <parameter name="blah" transfer-ownership="none">
311             <type name="List" c:type="FooList*"/>
312           </parameter>
313         </parameters>
314       </method>
315       <method name="new_cookie" c:identifier="foo_object_new_cookie">
316         <return-value transfer-ownership="full">
317           <type name="ObjectCookie" c:type="FooObjectCookie"/>
318         </return-value>
319         <parameters>
320           <parameter name="target" transfer-ownership="none">
321             <type name="utf8" c:type="char*"/>
322           </parameter>
323         </parameters>
324       </method>
325       <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
326         <return-value transfer-ownership="none">
327           <type name="none" c:type="void"/>
328         </return-value>
329         <parameters>
330           <parameter name="time" transfer-ownership="none">
331             <type name="time_t" c:type="time_t"/>
332           </parameter>
333         </parameters>
334       </method>
335       <method name="get_name" c:identifier="foo_object_get_name">
336         <return-value transfer-ownership="none">
337           <type name="utf8" c:type="char*"/>
338         </return-value>
339       </method>
340       <method name="dup_name" c:identifier="foo_object_dup_name">
341         <return-value transfer-ownership="full">
342           <type name="utf8" c:type="char*"/>
343         </return-value>
344       </method>
345       <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
346         <return-value transfer-ownership="none">
347           <type name="none" c:type="void"/>
348         </return-value>
349         <parameters>
350           <parameter name="glyph" transfer-ownership="none">
351             <type name="utility.Glyph" c:type="UtilityGlyph"/>
352           </parameter>
353         </parameters>
354       </method>
355       <property name="string" writable="1" construct="1">
356         <type name="utf8" c:type="gchararray"/>
357       </property>
358       <field name="parent_instance">
359         <type name="GObject.Object" c:type="GObject"/>
360       </field>
361       <field name="some_int">
362         <type name="int" c:type="int"/>
363       </field>
364       <glib:signal name="signal">
365         <return-value transfer-ownership="full">
366           <type name="utf8" c:type="gchararray"/>
367         </return-value>
368         <parameters>
369           <parameter name="object" transfer-ownership="none">
370             <type name="GObject.Object" c:type="GObject"/>
371           </parameter>
372           <parameter name="p0" transfer-ownership="none">
373             <type name="any" c:type="gpointer"/>
374           </parameter>
375         </parameters>
376       </glib:signal>
377     </class>
378     <record name="ObjectClass"
379             c:type="FooObjectClass"
380             glib:is-class-struct-for="Object">
381       <field name="parent_class">
382         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
383       </field>
384       <callback name="virtual_method" c:type="virtual_method">
385         <return-value transfer-ownership="none">
386           <type name="boolean" c:type="gboolean"/>
387         </return-value>
388         <parameters>
389           <parameter name="object" transfer-ownership="none">
390             <type name="Object" c:type="FooObject*"/>
391           </parameter>
392           <parameter name="first_param" transfer-ownership="none">
393             <type name="int" c:type="int"/>
394           </parameter>
395         </parameters>
396       </callback>
397     </record>
398     <record name="Rectangle" c:type="FooRectangle">
399       <field name="x" writable="1">
400         <type name="int" c:type="gint"/>
401       </field>
402       <field name="y" writable="1">
403         <type name="int" c:type="gint"/>
404       </field>
405       <field name="width" writable="1">
406         <type name="int" c:type="gint"/>
407       </field>
408       <field name="height" writable="1">
409         <type name="int" c:type="gint"/>
410       </field>
411       <constructor name="new" c:identifier="foo_rectangle_new">
412         <return-value transfer-ownership="full">
413           <type name="Rectangle" c:type="FooRectangle*"/>
414         </return-value>
415         <parameters>
416           <parameter name="x" transfer-ownership="none">
417             <type name="int" c:type="int"/>
418           </parameter>
419           <parameter name="y" transfer-ownership="none">
420             <type name="int" c:type="int"/>
421           </parameter>
422           <parameter name="width" transfer-ownership="none">
423             <type name="int" c:type="int"/>
424           </parameter>
425           <parameter name="height" transfer-ownership="none">
426             <type name="int" c:type="int"/>
427           </parameter>
428         </parameters>
429       </constructor>
430       <method name="add" c:identifier="foo_rectangle_add">
431         <return-value transfer-ownership="none">
432           <type name="none" c:type="void"/>
433         </return-value>
434         <parameters>
435           <parameter name="r2" transfer-ownership="none">
436             <type name="Rectangle" c:type="FooRectangle*"/>
437           </parameter>
438         </parameters>
439       </method>
440     </record>
441     <constant name="SUCCESS_INT" value="4408">
442       <type name="int"/>
443     </constant>
444     <record name="Struct" c:type="FooStruct">
445       <field name="priv" writable="1">
446         <type name="StructPrivate" c:type="FooStructPrivate*"/>
447       </field>
448       <field name="member" writable="1">
449         <type name="int" c:type="int"/>
450       </field>
451     </record>
452     <record name="StructPrivate" c:type="FooStructPrivate">
453     </record>
454     <interface name="SubInterface"
455                c:type="FooSubInterface"
456                glib:type-name="FooSubInterface"
457                glib:get-type="foo_sub_interface_get_type">
458       <prerequisite name="Interface"/>
459       <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
460         <return-value transfer-ownership="none">
461           <type name="none" c:type="void"/>
462         </return-value>
463       </method>
464       <callback name="do_bar" c:type="do_bar">
465         <return-value transfer-ownership="none">
466           <type name="none" c:type="void"/>
467         </return-value>
468         <parameters>
469           <parameter name="self" transfer-ownership="none">
470             <type name="SubInterface" c:type="FooSubInterface*"/>
471           </parameter>
472         </parameters>
473       </callback>
474     </interface>
475     <record name="SubInterfaceIface" c:type="FooSubInterfaceIface">
476       <field name="parent_iface">
477         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
478       </field>
479       <callback name="do_bar" c:type="do_bar">
480         <return-value transfer-ownership="none">
481           <type name="none" c:type="void"/>
482         </return-value>
483         <parameters>
484           <parameter name="self" transfer-ownership="none">
485             <type name="SubInterface" c:type="FooSubInterface*"/>
486           </parameter>
487         </parameters>
488       </callback>
489     </record>
490     <class name="Subobject"
491            c:type="FooSubobject"
492            parent="Object"
493            abstract="1"
494            glib:type-name="FooSubobject"
495            glib:get-type="foo_subobject_get_type"
496            glib:class-struct="SubobjectClass">
497       <implements name="Interface"/>
498       <constructor name="new" c:identifier="foo_subobject_new">
499         <return-value transfer-ownership="full">
500           <type name="Subobject" c:type="FooSubobject*"/>
501         </return-value>
502       </constructor>
503       <field name="parent_instance">
504         <type name="Object" c:type="FooObject"/>
505       </field>
506     </class>
507     <record name="SubobjectClass"
508             c:type="FooSubobjectClass"
509             glib:is-class-struct-for="Subobject">
510       <field name="parent_class">
511         <type name="ObjectClass" c:type="FooObjectClass"/>
512       </field>
513     </record>
514     <record name="ThingWithArray" c:type="_FooThingWithArray">
515       <field name="x" writable="1">
516         <type name="int" c:type="int"/>
517       </field>
518       <field name="y" writable="1">
519         <type name="int" c:type="int"/>
520       </field>
521       <field name="lines" writable="1">
522         <array zero-terminated="0" c:type="char" fixed-size="80">
523           <type name="int8"/>
524         </array>
525       </field>
526       <field name="data" writable="1">
527         <type name="any" c:type="guchar*"/>
528       </field>
529     </record>
530     <union name="Union" c:type="_FooUnion">
531       <field name="foo" writable="1">
532         <type name="int" c:type="int"/>
533       </field>
534     </union>
535     <record name="UtilityStruct" c:type="FooUtilityStruct">
536       <field name="bar" writable="1">
537         <type name="utility.Struct" c:type="UtilityStruct"/>
538       </field>
539     </record>
540     <callback name="VarargsCallback" c:type="FooVarargsCallback">
541       <return-value transfer-ownership="none">
542         <type name="none" c:type="void"/>
543       </return-value>
544       <parameters>
545         <parameter name="param" transfer-ownership="none">
546           <type name="utf8" c:type="char*"/>
547         </parameter>
548         <parameter transfer-ownership="none">
549           <varargs>
550           </varargs>
551         </parameter>
552       </parameters>
553     </callback>
554     <function name="enum_type_method" c:identifier="foo_enum_type_method">
555       <return-value transfer-ownership="none">
556         <type name="int" c:type="int"/>
557       </return-value>
558       <parameters>
559         <parameter name="foo_enum" transfer-ownership="none">
560           <type name="EnumType" c:type="FooEnumType"/>
561         </parameter>
562       </parameters>
563     </function>
564     <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
565       <return-value transfer-ownership="full">
566         <type name="EnumType" c:type="FooEnumType"/>
567       </return-value>
568       <parameters>
569         <parameter name="x" transfer-ownership="none">
570           <type name="int" c:type="int"/>
571         </parameter>
572       </parameters>
573     </function>
574     <function name="init" c:identifier="foo_init">
575       <return-value transfer-ownership="none">
576         <type name="int" c:type="gint"/>
577       </return-value>
578     </function>
579     <function name="method_external_references"
580               c:identifier="foo_method_external_references">
581       <return-value transfer-ownership="none">
582         <type name="none" c:type="void"/>
583       </return-value>
584       <parameters>
585         <parameter name="object" transfer-ownership="none">
586           <type name="utility.Object" c:type="UtilityObject*"/>
587         </parameter>
588         <parameter name="e" transfer-ownership="none">
589           <type name="utility.EnumType" c:type="UtilityEnumType"/>
590         </parameter>
591         <parameter name="f" transfer-ownership="none">
592           <type name="utility.FlagType" c:type="UtilityFlagType"/>
593         </parameter>
594         <parameter name="s" transfer-ownership="none">
595           <type name="utility.Struct" c:type="UtilityStruct"/>
596         </parameter>
597       </parameters>
598     </function>
599     <function name="test_const_char_param"
600               c:identifier="foo_test_const_char_param">
601       <return-value transfer-ownership="none">
602         <type name="none" c:type="void"/>
603       </return-value>
604       <parameters>
605         <parameter name="param" transfer-ownership="none">
606           <type name="utf8" c:type="char*"/>
607         </parameter>
608       </parameters>
609     </function>
610     <function name="test_const_char_retval"
611               c:identifier="foo_test_const_char_retval">
612       <return-value transfer-ownership="none">
613         <type name="utf8" c:type="char*"/>
614       </return-value>
615     </function>
616     <function name="test_const_struct_param"
617               c:identifier="foo_test_const_struct_param">
618       <return-value transfer-ownership="none">
619         <type name="none" c:type="void"/>
620       </return-value>
621       <parameters>
622         <parameter name="param" transfer-ownership="none">
623           <type name="Struct" c:type="FooStruct*"/>
624         </parameter>
625       </parameters>
626     </function>
627     <function name="test_const_struct_retval"
628               c:identifier="foo_test_const_struct_retval">
629       <return-value transfer-ownership="none">
630         <type name="Struct" c:type="FooStruct*"/>
631       </return-value>
632     </function>
633     <function name="test_string_array" c:identifier="foo_test_string_array">
634       <return-value transfer-ownership="none">
635         <type name="none" c:type="void"/>
636       </return-value>
637       <parameters>
638         <parameter name="array" transfer-ownership="none">
639           <array c:type="char**">
640             <type name="utf8"/>
641           </array>
642         </parameter>
643       </parameters>
644     </function>
645     <function name="test_string_array_with_g"
646               c:identifier="foo_test_string_array_with_g">
647       <return-value transfer-ownership="none">
648         <type name="none" c:type="void"/>
649       </return-value>
650       <parameters>
651         <parameter name="array" transfer-ownership="none">
652           <array c:type="gchar**">
653             <type name="utf8"/>
654           </array>
655         </parameter>
656       </parameters>
657     </function>
658     <function name="test_unsigned_qualifier"
659               c:identifier="foo_test_unsigned_qualifier">
660       <return-value transfer-ownership="none">
661         <type name="none" c:type="void"/>
662       </return-value>
663       <parameters>
664         <parameter name="unsigned_param" transfer-ownership="none">
665           <type name="uint" c:type="unsigned int"/>
666         </parameter>
667       </parameters>
668     </function>
669     <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
670       <return-value transfer-ownership="none">
671         <type name="none" c:type="void"/>
672       </return-value>
673       <parameters>
674         <parameter name="unsigned_param" transfer-ownership="none">
675           <type name="uint" c:type="unsigned"/>
676         </parameter>
677       </parameters>
678     </function>
679     <function name="test_varargs_callback"
680               c:identifier="foo_test_varargs_callback">
681       <return-value transfer-ownership="none">
682         <type name="none" c:type="void"/>
683       </return-value>
684       <parameters>
685         <parameter name="i" transfer-ownership="none">
686           <type name="int" c:type="gint"/>
687         </parameter>
688         <parameter name="callback" transfer-ownership="none">
689           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
690         </parameter>
691       </parameters>
692     </function>
693     <function name="test_varargs_callback2"
694               c:identifier="foo_test_varargs_callback2">
695       <return-value transfer-ownership="none">
696         <type name="none" c:type="void"/>
697       </return-value>
698       <parameters>
699         <parameter name="callback" transfer-ownership="none">
700           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
701         </parameter>
702       </parameters>
703     </function>
704     <function name="test_varargs_callback3"
705               c:identifier="foo_test_varargs_callback3">
706       <return-value transfer-ownership="none">
707         <type name="none" c:type="void"/>
708       </return-value>
709       <parameters>
710         <parameter name="callback" transfer-ownership="none">
711           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
712         </parameter>
713         <parameter name="callback2" transfer-ownership="none">
714           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
715         </parameter>
716       </parameters>
717     </function>
718   </namespace>
719 </repository>