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