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