Bug 571483 - Sort toplevel .gir entries
[gnome.gobject-introspection] / tests / scanner / foo-1.0-expected.tgir
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="utility" version="1.0"/>
7   <include name="GObject" version="2.0"/>
8   <include name="GLib" version="2.0"/>
9   <namespace name="foo" version="1.0" shared-library="foo">
10     <record name="BRect" glib:type-name="FooBRect" glib:get-type="foo_brect_get_type">
11       <field name="x" writable="1">
12         <type name="double"/>
13       </field>
14       <field name="y" writable="1">
15         <type name="double"/>
16       </field>
17       <constructor name="new" c:identifier="foo_brect_new">
18         <return-value transfer-ownership="full">
19           <type name="BRect"/>
20         </return-value>
21         <parameters>
22           <parameter name="x" transfer-ownership="none">
23             <type name="double"/>
24           </parameter>
25           <parameter name="y" transfer-ownership="none">
26             <type name="double"/>
27           </parameter>
28         </parameters>
29       </constructor>
30       <method name="add" c:identifier="foo_brect_add">
31         <return-value transfer-ownership="none">
32           <type name="none"/>
33         </return-value>
34         <parameters>
35           <parameter name="b2" transfer-ownership="none">
36             <type name="BRect"/>
37           </parameter>
38         </parameters>
39       </method>
40     </record>
41     <union name="BUnion" type-name="FooBUnion" get-type="foo_bunion_get_type">
42       <field name="type" writable="1">
43         <type name="int"/>
44       </field>
45       <field name="v" writable="1">
46         <type name="double"/>
47       </field>
48       <field name="rect" writable="1">
49         <type name="BRect"/>
50       </field>
51       <constructor name="new" c:identifier="foo_bunion_new">
52         <return-value transfer-ownership="full">
53           <type name="BUnion"/>
54         </return-value>
55       </constructor>
56       <method name="get_contained_type" c:identifier="foo_bunion_get_contained_type">
57         <return-value transfer-ownership="none">
58           <type name="int"/>
59         </return-value>
60       </method>
61     </union>
62     <record name="Boxed" glib:type-name="FooBoxed" glib:get-type="foo_boxed_get_type">
63       <constructor name="new" c:identifier="foo_boxed_new">
64         <return-value transfer-ownership="full">
65           <type name="Boxed"/>
66         </return-value>
67       </constructor>
68       <method name="method" c:identifier="foo_boxed_method">
69         <return-value transfer-ownership="none">
70           <type name="none"/>
71         </return-value>
72       </method>
73     </record>
74     <class name="Buffer" parent="GObject.Object" glib:class-struct="BufferClass" glib:type-name="FooBuffer" glib:get-type="foo_buffer_get_type">
75       <implements name="Interface"/>
76       <method name="some_method" c:identifier="foo_buffer_some_method">
77         <return-value transfer-ownership="none">
78           <type name="none"/>
79         </return-value>
80       </method>
81     </class>
82     <record name="BufferClass" glib:is-class-struct="1"/>
83     <callback name="Callback">
84       <return-value transfer-ownership="none">
85         <type name="boolean"/>
86       </return-value>
87       <parameters>
88         <parameter name="foo" transfer-ownership="none">
89           <type name="Object"/>
90         </parameter>
91         <parameter name="b" transfer-ownership="none">
92           <type name="boolean"/>
93         </parameter>
94         <parameter name="data" transfer-ownership="none">
95           <type name="any"/>
96         </parameter>
97       </parameters>
98     </callback>
99     <record name="DBusData" glib:type-name="FooDBusData" glib:get-type="foo_dbus_data_get_type">
100       <method name="method" c:identifier="foo_dbus_data_method">
101         <return-value transfer-ownership="none">
102           <type name="none"/>
103         </return-value>
104       </method>
105     </record>
106     <enumeration name="EnumFullname">
107       <member name="one" value="1"/>
108       <member name="two" value="2"/>
109       <member name="three" value="3"/>
110     </enumeration>
111     <enumeration name="EnumNoType">
112       <member name="un" value="1"/>
113       <member name="deux" value="2"/>
114       <member name="trois" value="3"/>
115       <member name="neuf" value="9"/>
116     </enumeration>
117     <enumeration name="EnumType" glib:type-name="FooEnumType" glib:get-type="foo_enum_type_get_type">
118       <member name="alpha" value="0"/>
119       <member name="beta" value="1"/>
120       <member name="delta" value="2"/>
121     </enumeration>
122     <enumeration name="Error" glib:type-name="FooError" glib:get-type="foo_error_get_type">
123       <member name="good" value="0"/>
124       <member name="bad" value="1"/>
125       <member name="ugly" value="2"/>
126     </enumeration>
127     <union name="Event">
128       <field name="type" writable="1">
129         <type name="int"/>
130       </field>
131       <field name="any" writable="1">
132         <type name="EventAny"/>
133       </field>
134       <field name="expose" writable="1">
135         <type name="EventExpose"/>
136       </field>
137     </union>
138     <record name="EventAny">
139       <field name="send_event" writable="1">
140         <type name="int8"/>
141       </field>
142     </record>
143     <record name="EventExpose">
144       <field name="send_event" writable="1">
145         <type name="int8"/>
146       </field>
147       <field name="count" writable="1">
148         <type name="int"/>
149       </field>
150     </record>
151     <bitfield name="FlagsNoType">
152       <member name="ett" value="1"/>
153       <member name="tva" value="2"/>
154       <member name="fyra" value="4"/>
155     </bitfield>
156     <bitfield name="FlagsType" glib:type-name="FooFlagsType" glib:get-type="foo_flags_type_get_type">
157       <member name="first" value="1"/>
158       <member name="second" value="2"/>
159       <member name="third" value="4"/>
160     </bitfield>
161     <interface name="Interface" glib:type-name="FooInterface" glib:get-type="foo_interface_get_type"/>
162     <record name="InterfaceIface">
163       <field name="parent_iface">
164         <type name="GObject.TypeInterface"/>
165       </field>
166     </record>
167     <class name="Object" parent="GObject.Object" glib:class-struct="ObjectClass" glib:type-name="FooObject" glib:get-type="foo_object_get_type">
168       <implements name="Interface"/>
169       <field name="parent_instance">
170         <type name="GObject.Object"/>
171       </field>
172       <field name="some_int">
173         <type name="int"/>
174       </field>
175       <constructor name="new" c:identifier="foo_object_new">
176         <return-value transfer-ownership="full">
177           <type name="Object"/>
178         </return-value>
179       </constructor>
180       <function name="static_meth" c:identifier="foo_object_static_meth">
181         <return-value transfer-ownership="none">
182           <type name="int"/>
183         </return-value>
184       </function>
185       <method name="external_type" c:identifier="foo_object_external_type">
186         <return-value transfer-ownership="full">
187           <type name="utility.Object"/>
188         </return-value>
189       </method>
190       <method name="various" c:identifier="foo_object_various">
191         <return-value transfer-ownership="none">
192           <type name="none"/>
193         </return-value>
194         <parameters>
195           <parameter name="data" transfer-ownership="none">
196             <type name="any"/>
197           </parameter>
198           <parameter name="some_type" transfer-ownership="none">
199             <type name="GType"/>
200           </parameter>
201         </parameters>
202       </method>
203       <method name="with_tdef" c:identifier="foo_object_with_tdef">
204         <return-value transfer-ownership="none">
205           <type name="none"/>
206         </return-value>
207         <parameters>
208           <parameter name="blah" transfer-ownership="none">
209             <type name="GLib.SList">
210               <type name="any"/>
211             </type>
212           </parameter>
213         </parameters>
214       </method>
215       <method name="new_cookie" c:identifier="foo_object_new_cookie">
216         <return-value transfer-ownership="full">
217           <type name="any"/>
218         </return-value>
219         <parameters>
220           <parameter name="target" transfer-ownership="none">
221             <type name="utf8"/>
222           </parameter>
223         </parameters>
224       </method>
225       <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
226         <return-value transfer-ownership="none">
227           <type name="none"/>
228         </return-value>
229         <parameters>
230           <parameter name="time" transfer-ownership="none">
231             <type name="time_t"/>
232           </parameter>
233         </parameters>
234       </method>
235       <method name="get_name" c:identifier="foo_object_get_name">
236         <return-value transfer-ownership="none">
237           <type name="utf8"/>
238         </return-value>
239       </method>
240       <method name="dup_name" c:identifier="foo_object_dup_name">
241         <return-value transfer-ownership="full">
242           <type name="utf8"/>
243         </return-value>
244       </method>
245       <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
246         <return-value transfer-ownership="none">
247           <type name="none"/>
248         </return-value>
249         <parameters>
250           <parameter name="glyph" transfer-ownership="none">
251             <type name="uint32"/>
252           </parameter>
253         </parameters>
254       </method>
255       <property name="string" writable="1" construct="1">
256         <type name="utf8"/>
257       </property>
258       <glib:signal name="signal" when="LAST">
259         <return-value transfer-ownership="full">
260           <type name="utf8"/>
261         </return-value>
262         <parameters>
263           <parameter name="object" transfer-ownership="none">
264             <type name="GObject.Object"/>
265           </parameter>
266           <parameter name="p0" transfer-ownership="none">
267             <type name="any"/>
268           </parameter>
269         </parameters>
270       </glib:signal>
271     </class>
272     <record name="ObjectClass" glib:is-class-struct="1">
273       <field name="parent_class">
274         <type name="GObject.ObjectClass"/>
275       </field>
276     </record>
277     <record name="Rectangle">
278       <field name="x" writable="1">
279         <type name="int"/>
280       </field>
281       <field name="y" writable="1">
282         <type name="int"/>
283       </field>
284       <field name="width" writable="1">
285         <type name="int"/>
286       </field>
287       <field name="height" writable="1">
288         <type name="int"/>
289       </field>
290       <constructor name="new" c:identifier="foo_rectangle_new">
291         <return-value transfer-ownership="full">
292           <type name="Rectangle"/>
293         </return-value>
294         <parameters>
295           <parameter name="x" transfer-ownership="none">
296             <type name="int"/>
297           </parameter>
298           <parameter name="y" transfer-ownership="none">
299             <type name="int"/>
300           </parameter>
301           <parameter name="width" transfer-ownership="none">
302             <type name="int"/>
303           </parameter>
304           <parameter name="height" transfer-ownership="none">
305             <type name="int"/>
306           </parameter>
307         </parameters>
308       </constructor>
309       <method name="add" c:identifier="foo_rectangle_add">
310         <return-value transfer-ownership="none">
311           <type name="none"/>
312         </return-value>
313         <parameters>
314           <parameter name="r2" transfer-ownership="none">
315             <type name="Rectangle"/>
316           </parameter>
317         </parameters>
318       </method>
319     </record>
320     <constant name="SUCCESS_INT" value="4408">
321       <type name="int"/>
322     </constant>
323     <record name="Struct">
324       <field name="priv" writable="1">
325         <type name="StructPrivate"/>
326       </field>
327       <field name="member" writable="1">
328         <type name="int"/>
329       </field>
330     </record>
331     <record name="StructPrivate"/>
332     <interface name="SubInterface" glib:type-name="FooSubInterface" glib:get-type="foo_sub_interface_get_type">
333       <prerequisite name="Interface"/>
334       <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
335         <return-value transfer-ownership="none">
336           <type name="none"/>
337         </return-value>
338       </method>
339     </interface>
340     <record name="SubInterfaceIface">
341       <field name="parent_iface">
342         <type name="GObject.TypeInterface"/>
343       </field>
344     </record>
345     <class name="Subobject" parent="Object" glib:class-struct="SubobjectClass" abstract="1" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
346       <implements name="Interface"/>
347       <field name="parent_instance">
348         <type name="Object"/>
349       </field>
350       <constructor name="new" c:identifier="foo_subobject_new">
351         <return-value transfer-ownership="full">
352           <type name="Subobject"/>
353         </return-value>
354       </constructor>
355     </class>
356     <record name="SubobjectClass" glib:is-class-struct="1">
357       <field name="parent_class">
358         <type name="ObjectClass"/>
359       </field>
360     </record>
361     <record name="ThingWithArray">
362       <field name="x" writable="1">
363         <type name="int"/>
364       </field>
365       <field name="y" writable="1">
366         <type name="int"/>
367       </field>
368       <field name="lines" writable="1">
369         <array fixed-size="80">
370           <type name="int8"/>
371         </array>
372       </field>
373       <field name="data" writable="1">
374         <type name="any"/>
375       </field>
376     </record>
377     <union name="Union">
378       <field name="foo" writable="1">
379         <type name="int"/>
380       </field>
381     </union>
382     <record name="UtilityStruct">
383       <field name="bar" writable="1">
384         <type name="utility.Struct"/>
385       </field>
386     </record>
387     <function name="enum_type_method" c:identifier="foo_enum_type_method">
388       <return-value transfer-ownership="none">
389         <type name="int"/>
390       </return-value>
391       <parameters>
392         <parameter name="foo_enum" transfer-ownership="none">
393           <type name="EnumType"/>
394         </parameter>
395       </parameters>
396     </function>
397     <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
398       <return-value transfer-ownership="full">
399         <type name="EnumType"/>
400       </return-value>
401       <parameters>
402         <parameter name="x" transfer-ownership="none">
403           <type name="int"/>
404         </parameter>
405       </parameters>
406     </function>
407     <function name="init" c:identifier="foo_init">
408       <return-value transfer-ownership="none">
409         <type name="int"/>
410       </return-value>
411     </function>
412     <function name="method_external_references" c:identifier="foo_method_external_references">
413       <return-value transfer-ownership="none">
414         <type name="none"/>
415       </return-value>
416       <parameters>
417         <parameter name="object" transfer-ownership="none">
418           <type name="utility.Object"/>
419         </parameter>
420         <parameter name="e" transfer-ownership="none">
421           <type name="utility.EnumType"/>
422         </parameter>
423         <parameter name="f" transfer-ownership="none">
424           <type name="utility.FlagType"/>
425         </parameter>
426         <parameter name="s" transfer-ownership="none">
427           <type name="utility.Struct"/>
428         </parameter>
429       </parameters>
430     </function>
431     <function name="test_const_char_param" c:identifier="foo_test_const_char_param">
432       <return-value transfer-ownership="none">
433         <type name="none"/>
434       </return-value>
435       <parameters>
436         <parameter name="param" transfer-ownership="none">
437           <type name="utf8"/>
438         </parameter>
439       </parameters>
440     </function>
441     <function name="test_const_char_retval" c:identifier="foo_test_const_char_retval">
442       <return-value transfer-ownership="none">
443         <type name="utf8"/>
444       </return-value>
445     </function>
446     <function name="test_const_struct_param" c:identifier="foo_test_const_struct_param">
447       <return-value transfer-ownership="none">
448         <type name="none"/>
449       </return-value>
450       <parameters>
451         <parameter name="param" transfer-ownership="none">
452           <type name="Struct"/>
453         </parameter>
454       </parameters>
455     </function>
456     <function name="test_const_struct_retval" c:identifier="foo_test_const_struct_retval">
457       <return-value transfer-ownership="none">
458         <type name="Struct"/>
459       </return-value>
460     </function>
461     <function name="test_string_array" c:identifier="foo_test_string_array">
462       <return-value transfer-ownership="none">
463         <type name="none"/>
464       </return-value>
465       <parameters>
466         <parameter name="array" transfer-ownership="none">
467           <array zero-terminated="1">
468             <type name="utf8"/>
469           </array>
470         </parameter>
471       </parameters>
472     </function>
473     <function name="test_string_array_with_g" c:identifier="foo_test_string_array_with_g">
474       <return-value transfer-ownership="none">
475         <type name="none"/>
476       </return-value>
477       <parameters>
478         <parameter name="array" transfer-ownership="none">
479           <array zero-terminated="1">
480             <type name="utf8"/>
481           </array>
482         </parameter>
483       </parameters>
484     </function>
485     <function name="test_unsigned_qualifier" c:identifier="foo_test_unsigned_qualifier">
486       <return-value transfer-ownership="none">
487         <type name="none"/>
488       </return-value>
489       <parameters>
490         <parameter name="unsigned_param" transfer-ownership="none">
491           <type name="uint"/>
492         </parameter>
493       </parameters>
494     </function>
495     <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
496       <return-value transfer-ownership="none">
497         <type name="none"/>
498       </return-value>
499       <parameters>
500         <parameter name="unsigned_param" transfer-ownership="none">
501           <type name="uint"/>
502         </parameter>
503       </parameters>
504     </function>
505   </namespace>
506 </repository>