Revert "Bug 557383 - Virtual function support"
[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:type-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-gtype-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                glib:type-struct="InterfaceIface">
235       <callback name="do_foo" c:type="do_foo">
236         <return-value transfer-ownership="none">
237           <type name="none" c:type="void"/>
238         </return-value>
239         <parameters>
240           <parameter name="self" transfer-ownership="none">
241             <type name="Interface" c:type="FooInterface*"/>
242           </parameter>
243         </parameters>
244       </callback>
245     </interface>
246     <record name="InterfaceIface"
247             c:type="FooInterfaceIface"
248             glib:is-gtype-struct-for="Interface">
249       <field name="parent_iface">
250         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
251       </field>
252       <callback name="do_foo" c:type="do_foo">
253         <return-value transfer-ownership="none">
254           <type name="none" c:type="void"/>
255         </return-value>
256         <parameters>
257           <parameter name="self" transfer-ownership="none">
258             <type name="Interface" c:type="FooInterface*"/>
259           </parameter>
260         </parameters>
261       </callback>
262     </record>
263     <class name="Object"
264            c:type="FooObject"
265            parent="GObject.Object"
266            glib:type-name="FooObject"
267            glib:get-type="foo_object_get_type"
268            glib:type-struct="ObjectClass">
269       <implements name="Interface"/>
270       <constructor name="new" c:identifier="foo_object_new">
271         <return-value transfer-ownership="full">
272           <type name="Object" c:type="FooObject*"/>
273         </return-value>
274       </constructor>
275       <function name="static_meth" c:identifier="foo_object_static_meth">
276         <return-value transfer-ownership="none">
277           <type name="int" c:type="int"/>
278         </return-value>
279       </function>
280       <method name="external_type" c:identifier="foo_object_external_type">
281         <return-value transfer-ownership="full">
282           <type name="utility.Object" c:type="UtilityObject*"/>
283         </return-value>
284       </method>
285       <method name="various" c:identifier="foo_object_various">
286         <return-value transfer-ownership="none">
287           <type name="none" c:type="void"/>
288         </return-value>
289         <parameters>
290           <parameter name="data" transfer-ownership="none">
291             <type name="any" c:type="void*"/>
292           </parameter>
293           <parameter name="some_type" transfer-ownership="none">
294             <type name="GType" c:type="GType"/>
295           </parameter>
296         </parameters>
297       </method>
298       <method name="take_all" c:identifier="foo_object_take_all">
299         <return-value transfer-ownership="none">
300           <type name="none" c:type="void"/>
301         </return-value>
302         <parameters>
303           <parameter name="x" transfer-ownership="none">
304             <type name="int" c:type="int"/>
305           </parameter>
306           <parameter transfer-ownership="none">
307             <varargs>
308             </varargs>
309           </parameter>
310         </parameters>
311       </method>
312       <method name="with_tdef" c:identifier="foo_object_with_tdef">
313         <return-value transfer-ownership="none">
314           <type name="none" c:type="void"/>
315         </return-value>
316         <parameters>
317           <parameter name="blah" transfer-ownership="none">
318             <type name="List" c:type="FooList*"/>
319           </parameter>
320         </parameters>
321       </method>
322       <method name="new_cookie" c:identifier="foo_object_new_cookie">
323         <return-value transfer-ownership="full">
324           <type name="ObjectCookie" c:type="FooObjectCookie"/>
325         </return-value>
326         <parameters>
327           <parameter name="target" transfer-ownership="none">
328             <type name="utf8" c:type="char*"/>
329           </parameter>
330         </parameters>
331       </method>
332       <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
333         <return-value transfer-ownership="none">
334           <type name="none" c:type="void"/>
335         </return-value>
336         <parameters>
337           <parameter name="time" transfer-ownership="none">
338             <type name="time_t" c:type="time_t"/>
339           </parameter>
340         </parameters>
341       </method>
342       <method name="get_name" c:identifier="foo_object_get_name">
343         <return-value transfer-ownership="none">
344           <type name="utf8" c:type="char*"/>
345         </return-value>
346       </method>
347       <method name="dup_name" c:identifier="foo_object_dup_name">
348         <return-value transfer-ownership="full">
349           <type name="utf8" c:type="char*"/>
350         </return-value>
351       </method>
352       <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
353         <return-value transfer-ownership="none">
354           <type name="none" c:type="void"/>
355         </return-value>
356         <parameters>
357           <parameter name="glyph" transfer-ownership="none">
358             <type name="utility.Glyph" c:type="UtilityGlyph"/>
359           </parameter>
360         </parameters>
361       </method>
362       <property name="string" writable="1" construct="1">
363         <type name="utf8" c:type="gchararray"/>
364       </property>
365       <field name="parent_instance">
366         <type name="GObject.Object" c:type="GObject"/>
367       </field>
368       <field name="some_int">
369         <type name="int" c:type="int"/>
370       </field>
371       <glib:signal name="signal">
372         <return-value transfer-ownership="full">
373           <type name="utf8" c:type="gchararray"/>
374         </return-value>
375         <parameters>
376           <parameter name="object" transfer-ownership="none">
377             <type name="GObject.Object" c:type="GObject"/>
378           </parameter>
379           <parameter name="p0" transfer-ownership="none">
380             <type name="any" c:type="gpointer"/>
381           </parameter>
382         </parameters>
383       </glib:signal>
384     </class>
385     <record name="ObjectClass"
386             c:type="FooObjectClass"
387             glib:is-gtype-struct-for="Object">
388       <field name="parent_class">
389         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
390       </field>
391       <callback name="virtual_method" c:type="virtual_method">
392         <return-value transfer-ownership="none">
393           <type name="boolean" c:type="gboolean"/>
394         </return-value>
395         <parameters>
396           <parameter name="object" transfer-ownership="none">
397             <type name="Object" c:type="FooObject*"/>
398           </parameter>
399           <parameter name="first_param" transfer-ownership="none">
400             <type name="int" c:type="int"/>
401           </parameter>
402         </parameters>
403       </callback>
404     </record>
405     <constant name="PIE_IS_TASTY" value="3.14159">
406       <type name="double"/>
407     </constant>
408     <record name="Rectangle" c:type="FooRectangle">
409       <field name="x" writable="1">
410         <type name="int" c:type="gint"/>
411       </field>
412       <field name="y" writable="1">
413         <type name="int" c:type="gint"/>
414       </field>
415       <field name="width" writable="1">
416         <type name="int" c:type="gint"/>
417       </field>
418       <field name="height" writable="1">
419         <type name="int" c:type="gint"/>
420       </field>
421       <constructor name="new" c:identifier="foo_rectangle_new">
422         <return-value transfer-ownership="full">
423           <type name="Rectangle" c:type="FooRectangle*"/>
424         </return-value>
425         <parameters>
426           <parameter name="x" transfer-ownership="none">
427             <type name="int" c:type="int"/>
428           </parameter>
429           <parameter name="y" transfer-ownership="none">
430             <type name="int" c:type="int"/>
431           </parameter>
432           <parameter name="width" transfer-ownership="none">
433             <type name="int" c:type="int"/>
434           </parameter>
435           <parameter name="height" transfer-ownership="none">
436             <type name="int" c:type="int"/>
437           </parameter>
438         </parameters>
439       </constructor>
440       <method name="add" c:identifier="foo_rectangle_add">
441         <return-value transfer-ownership="none">
442           <type name="none" c:type="void"/>
443         </return-value>
444         <parameters>
445           <parameter name="r2" transfer-ownership="none">
446             <type name="Rectangle" c:type="FooRectangle*"/>
447           </parameter>
448         </parameters>
449       </method>
450     </record>
451     <constant name="SUCCESS_INT" value="4408">
452       <type name="int"/>
453     </constant>
454     <record name="Struct" c:type="FooStruct">
455       <field name="priv" writable="1">
456         <type name="StructPrivate" c:type="FooStructPrivate*"/>
457       </field>
458       <field name="member" writable="1">
459         <type name="int" c:type="int"/>
460       </field>
461     </record>
462     <record name="StructPrivate" c:type="FooStructPrivate">
463     </record>
464     <interface name="SubInterface"
465                c:type="FooSubInterface"
466                glib:type-name="FooSubInterface"
467                glib:get-type="foo_sub_interface_get_type"
468                glib:type-struct="SubInterfaceIface">
469       <prerequisite name="Interface"/>
470       <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
471         <return-value transfer-ownership="none">
472           <type name="none" c:type="void"/>
473         </return-value>
474       </method>
475       <callback name="do_bar" c:type="do_bar">
476         <return-value transfer-ownership="none">
477           <type name="none" c:type="void"/>
478         </return-value>
479         <parameters>
480           <parameter name="self" transfer-ownership="none">
481             <type name="SubInterface" c:type="FooSubInterface*"/>
482           </parameter>
483         </parameters>
484       </callback>
485     </interface>
486     <record name="SubInterfaceIface"
487             c:type="FooSubInterfaceIface"
488             glib:is-gtype-struct-for="SubInterface">
489       <field name="parent_iface">
490         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
491       </field>
492       <callback name="do_bar" c:type="do_bar">
493         <return-value transfer-ownership="none">
494           <type name="none" c:type="void"/>
495         </return-value>
496         <parameters>
497           <parameter name="self" transfer-ownership="none">
498             <type name="SubInterface" c:type="FooSubInterface*"/>
499           </parameter>
500         </parameters>
501       </callback>
502     </record>
503     <class name="Subobject"
504            c:type="FooSubobject"
505            parent="Object"
506            abstract="1"
507            glib:type-name="FooSubobject"
508            glib:get-type="foo_subobject_get_type"
509            glib:type-struct="SubobjectClass">
510       <implements name="Interface"/>
511       <constructor name="new" c:identifier="foo_subobject_new">
512         <return-value transfer-ownership="full">
513           <type name="Subobject" c:type="FooSubobject*"/>
514         </return-value>
515       </constructor>
516       <field name="parent_instance">
517         <type name="Object" c:type="FooObject"/>
518       </field>
519     </class>
520     <record name="SubobjectClass"
521             c:type="FooSubobjectClass"
522             glib:is-gtype-struct-for="Subobject">
523       <field name="parent_class">
524         <type name="ObjectClass" c:type="FooObjectClass"/>
525       </field>
526     </record>
527     <record name="ThingWithArray" c:type="_FooThingWithArray">
528       <field name="x" writable="1">
529         <type name="int" c:type="int"/>
530       </field>
531       <field name="y" writable="1">
532         <type name="int" c:type="int"/>
533       </field>
534       <field name="lines" writable="1">
535         <array zero-terminated="0" c:type="char" fixed-size="80">
536           <type name="int8"/>
537         </array>
538       </field>
539       <field name="data" writable="1">
540         <type name="any" c:type="guchar*"/>
541       </field>
542     </record>
543     <union name="Union" c:type="_FooUnion">
544       <field name="foo" writable="1">
545         <type name="int" c:type="int"/>
546       </field>
547     </union>
548     <record name="UtilityStruct" c:type="FooUtilityStruct">
549       <field name="bar" writable="1">
550         <type name="utility.Struct" c:type="UtilityStruct"/>
551       </field>
552     </record>
553     <callback name="VarargsCallback" c:type="FooVarargsCallback">
554       <return-value transfer-ownership="none">
555         <type name="none" c:type="void"/>
556       </return-value>
557       <parameters>
558         <parameter name="param" transfer-ownership="none">
559           <type name="utf8" c:type="char*"/>
560         </parameter>
561         <parameter transfer-ownership="none">
562           <varargs>
563           </varargs>
564         </parameter>
565       </parameters>
566     </callback>
567     <function name="enum_type_method" c:identifier="foo_enum_type_method">
568       <return-value transfer-ownership="none">
569         <type name="int" c:type="int"/>
570       </return-value>
571       <parameters>
572         <parameter name="foo_enum" transfer-ownership="none">
573           <type name="EnumType" c:type="FooEnumType"/>
574         </parameter>
575       </parameters>
576     </function>
577     <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
578       <return-value transfer-ownership="full">
579         <type name="EnumType" c:type="FooEnumType"/>
580       </return-value>
581       <parameters>
582         <parameter name="x" transfer-ownership="none">
583           <type name="int" c:type="int"/>
584         </parameter>
585       </parameters>
586     </function>
587     <function name="init" c:identifier="foo_init">
588       <return-value transfer-ownership="none">
589         <type name="int" c:type="gint"/>
590       </return-value>
591     </function>
592     <function name="method_external_references"
593               c:identifier="foo_method_external_references">
594       <return-value transfer-ownership="none">
595         <type name="none" c:type="void"/>
596       </return-value>
597       <parameters>
598         <parameter name="object" transfer-ownership="none">
599           <type name="utility.Object" c:type="UtilityObject*"/>
600         </parameter>
601         <parameter name="e" transfer-ownership="none">
602           <type name="utility.EnumType" c:type="UtilityEnumType"/>
603         </parameter>
604         <parameter name="f" transfer-ownership="none">
605           <type name="utility.FlagType" c:type="UtilityFlagType"/>
606         </parameter>
607         <parameter name="s" transfer-ownership="none">
608           <type name="utility.Struct" c:type="UtilityStruct"/>
609         </parameter>
610       </parameters>
611     </function>
612     <function name="test_const_char_param"
613               c:identifier="foo_test_const_char_param">
614       <return-value transfer-ownership="none">
615         <type name="none" c:type="void"/>
616       </return-value>
617       <parameters>
618         <parameter name="param" transfer-ownership="none">
619           <type name="utf8" c:type="char*"/>
620         </parameter>
621       </parameters>
622     </function>
623     <function name="test_const_char_retval"
624               c:identifier="foo_test_const_char_retval">
625       <return-value transfer-ownership="none">
626         <type name="utf8" c:type="char*"/>
627       </return-value>
628     </function>
629     <function name="test_const_struct_param"
630               c:identifier="foo_test_const_struct_param">
631       <return-value transfer-ownership="none">
632         <type name="none" c:type="void"/>
633       </return-value>
634       <parameters>
635         <parameter name="param" transfer-ownership="none">
636           <type name="Struct" c:type="FooStruct*"/>
637         </parameter>
638       </parameters>
639     </function>
640     <function name="test_const_struct_retval"
641               c:identifier="foo_test_const_struct_retval">
642       <return-value transfer-ownership="none">
643         <type name="Struct" c:type="FooStruct*"/>
644       </return-value>
645     </function>
646     <function name="test_string_array" c:identifier="foo_test_string_array">
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="char**">
653             <type name="utf8"/>
654           </array>
655         </parameter>
656       </parameters>
657     </function>
658     <function name="test_string_array_with_g"
659               c:identifier="foo_test_string_array_with_g">
660       <return-value transfer-ownership="none">
661         <type name="none" c:type="void"/>
662       </return-value>
663       <parameters>
664         <parameter name="array" transfer-ownership="none">
665           <array c:type="gchar**">
666             <type name="utf8"/>
667           </array>
668         </parameter>
669       </parameters>
670     </function>
671     <function name="test_unsigned_qualifier"
672               c:identifier="foo_test_unsigned_qualifier">
673       <return-value transfer-ownership="none">
674         <type name="none" c:type="void"/>
675       </return-value>
676       <parameters>
677         <parameter name="unsigned_param" transfer-ownership="none">
678           <type name="uint" c:type="unsigned int"/>
679         </parameter>
680       </parameters>
681     </function>
682     <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
683       <return-value transfer-ownership="none">
684         <type name="none" c:type="void"/>
685       </return-value>
686       <parameters>
687         <parameter name="unsigned_param" transfer-ownership="none">
688           <type name="uint" c:type="unsigned"/>
689         </parameter>
690       </parameters>
691     </function>
692     <function name="test_varargs_callback"
693               c:identifier="foo_test_varargs_callback">
694       <return-value transfer-ownership="none">
695         <type name="none" c:type="void"/>
696       </return-value>
697       <parameters>
698         <parameter name="i" transfer-ownership="none">
699           <type name="int" c:type="gint"/>
700         </parameter>
701         <parameter name="callback" transfer-ownership="none">
702           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
703         </parameter>
704       </parameters>
705     </function>
706     <function name="test_varargs_callback2"
707               c:identifier="foo_test_varargs_callback2">
708       <return-value transfer-ownership="none">
709         <type name="none" c:type="void"/>
710       </return-value>
711       <parameters>
712         <parameter name="callback" transfer-ownership="none">
713           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
714         </parameter>
715       </parameters>
716     </function>
717     <function name="test_varargs_callback3"
718               c:identifier="foo_test_varargs_callback3">
719       <return-value transfer-ownership="none">
720         <type name="none" c:type="void"/>
721       </return-value>
722       <parameters>
723         <parameter name="callback" transfer-ownership="none">
724           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
725         </parameter>
726         <parameter name="callback2" transfer-ownership="none">
727           <type name="VarargsCallback" c:type="FooVarargsCallback"/>
728         </parameter>
729       </parameters>
730     </function>
731   </namespace>
732 </repository>