dcd978915a9397f8f63a04e5722d1d3a10c956e1
[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     <constant name="DEFINE_SHOULD_BE_EXPOSED" value="should be exposed">
107       <type name="utf8"/>
108     </constant>
109     <enumeration name="EnumFullname">
110       <member name="one" value="1"/>
111       <member name="two" value="2"/>
112       <member name="three" value="3"/>
113     </enumeration>
114     <enumeration name="EnumNoType">
115       <member name="un" value="1"/>
116       <member name="deux" value="2"/>
117       <member name="trois" value="3"/>
118       <member name="neuf" value="9"/>
119     </enumeration>
120     <enumeration name="EnumType" glib:type-name="FooEnumType" glib:get-type="foo_enum_type_get_type">
121       <member name="alpha" value="0"/>
122       <member name="beta" value="1"/>
123       <member name="delta" value="2"/>
124     </enumeration>
125     <enumeration name="Error" glib:type-name="FooError" glib:get-type="foo_error_get_type">
126       <member name="good" value="0"/>
127       <member name="bad" value="1"/>
128       <member name="ugly" value="2"/>
129     </enumeration>
130     <union name="Event">
131       <field name="type" writable="1">
132         <type name="int"/>
133       </field>
134       <field name="any" writable="1">
135         <type name="EventAny"/>
136       </field>
137       <field name="expose" writable="1">
138         <type name="EventExpose"/>
139       </field>
140     </union>
141     <record name="EventAny">
142       <field name="send_event" writable="1">
143         <type name="int8"/>
144       </field>
145     </record>
146     <record name="EventExpose">
147       <field name="send_event" writable="1">
148         <type name="int8"/>
149       </field>
150       <field name="count" writable="1">
151         <type name="int"/>
152       </field>
153     </record>
154     <bitfield name="FlagsNoType">
155       <member name="ett" value="1"/>
156       <member name="tva" value="2"/>
157       <member name="fyra" value="4"/>
158     </bitfield>
159     <bitfield name="FlagsType" glib:type-name="FooFlagsType" glib:get-type="foo_flags_type_get_type">
160       <member name="first" value="1"/>
161       <member name="second" value="2"/>
162       <member name="third" value="4"/>
163     </bitfield>
164     <interface name="Interface" glib:type-name="FooInterface" glib:get-type="foo_interface_get_type"/>
165     <record name="InterfaceIface">
166       <field name="parent_iface">
167         <type name="GObject.TypeInterface"/>
168       </field>
169     </record>
170     <class name="Object" parent="GObject.Object" glib:class-struct="ObjectClass" glib:type-name="FooObject" glib:get-type="foo_object_get_type">
171       <implements name="Interface"/>
172       <field name="parent_instance">
173         <type name="GObject.Object"/>
174       </field>
175       <field name="some_int">
176         <type name="int"/>
177       </field>
178       <constructor name="new" c:identifier="foo_object_new">
179         <return-value transfer-ownership="full">
180           <type name="Object"/>
181         </return-value>
182       </constructor>
183       <function name="static_meth" c:identifier="foo_object_static_meth">
184         <return-value transfer-ownership="none">
185           <type name="int"/>
186         </return-value>
187       </function>
188       <method name="external_type" c:identifier="foo_object_external_type">
189         <return-value transfer-ownership="full">
190           <type name="utility.Object"/>
191         </return-value>
192       </method>
193       <method name="various" c:identifier="foo_object_various">
194         <return-value transfer-ownership="none">
195           <type name="none"/>
196         </return-value>
197         <parameters>
198           <parameter name="data" transfer-ownership="none">
199             <type name="any"/>
200           </parameter>
201           <parameter name="some_type" transfer-ownership="none">
202             <type name="GType"/>
203           </parameter>
204         </parameters>
205       </method>
206       <method name="with_tdef" c:identifier="foo_object_with_tdef">
207         <return-value transfer-ownership="none">
208           <type name="none"/>
209         </return-value>
210         <parameters>
211           <parameter name="blah" transfer-ownership="none">
212             <type name="GLib.SList">
213               <type name="any"/>
214             </type>
215           </parameter>
216         </parameters>
217       </method>
218       <method name="new_cookie" c:identifier="foo_object_new_cookie">
219         <return-value transfer-ownership="full">
220           <type name="any"/>
221         </return-value>
222         <parameters>
223           <parameter name="target" transfer-ownership="none">
224             <type name="utf8"/>
225           </parameter>
226         </parameters>
227       </method>
228       <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
229         <return-value transfer-ownership="none">
230           <type name="none"/>
231         </return-value>
232         <parameters>
233           <parameter name="time" transfer-ownership="none">
234             <type name="time_t"/>
235           </parameter>
236         </parameters>
237       </method>
238       <method name="get_name" c:identifier="foo_object_get_name">
239         <return-value transfer-ownership="none">
240           <type name="utf8"/>
241         </return-value>
242       </method>
243       <method name="dup_name" c:identifier="foo_object_dup_name">
244         <return-value transfer-ownership="full">
245           <type name="utf8"/>
246         </return-value>
247       </method>
248       <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
249         <return-value transfer-ownership="none">
250           <type name="none"/>
251         </return-value>
252         <parameters>
253           <parameter name="glyph" transfer-ownership="none">
254             <type name="uint32"/>
255           </parameter>
256         </parameters>
257       </method>
258       <property name="string" writable="1" construct="1">
259         <type name="utf8"/>
260       </property>
261       <glib:signal name="signal" when="LAST">
262         <return-value transfer-ownership="full">
263           <type name="utf8"/>
264         </return-value>
265         <parameters>
266           <parameter name="object" transfer-ownership="none">
267             <type name="GObject.Object"/>
268           </parameter>
269           <parameter name="p0" transfer-ownership="none">
270             <type name="any"/>
271           </parameter>
272         </parameters>
273       </glib:signal>
274     </class>
275     <record name="ObjectClass" glib:is-class-struct="1">
276       <field name="parent_class">
277         <type name="GObject.ObjectClass"/>
278       </field>
279     </record>
280     <constant name="PIE_IS_TASTY" value="3.141590">
281       <type name="double"/>
282     </constant>
283     <record name="Rectangle">
284       <field name="x" writable="1">
285         <type name="int"/>
286       </field>
287       <field name="y" writable="1">
288         <type name="int"/>
289       </field>
290       <field name="width" writable="1">
291         <type name="int"/>
292       </field>
293       <field name="height" writable="1">
294         <type name="int"/>
295       </field>
296       <constructor name="new" c:identifier="foo_rectangle_new">
297         <return-value transfer-ownership="full">
298           <type name="Rectangle"/>
299         </return-value>
300         <parameters>
301           <parameter name="x" transfer-ownership="none">
302             <type name="int"/>
303           </parameter>
304           <parameter name="y" transfer-ownership="none">
305             <type name="int"/>
306           </parameter>
307           <parameter name="width" transfer-ownership="none">
308             <type name="int"/>
309           </parameter>
310           <parameter name="height" transfer-ownership="none">
311             <type name="int"/>
312           </parameter>
313         </parameters>
314       </constructor>
315       <method name="add" c:identifier="foo_rectangle_add">
316         <return-value transfer-ownership="none">
317           <type name="none"/>
318         </return-value>
319         <parameters>
320           <parameter name="r2" transfer-ownership="none">
321             <type name="Rectangle"/>
322           </parameter>
323         </parameters>
324       </method>
325     </record>
326     <constant name="SUCCESS_INT" value="4408">
327       <type name="int"/>
328     </constant>
329     <record name="Struct">
330       <field name="priv" writable="1">
331         <type name="StructPrivate"/>
332       </field>
333       <field name="member" writable="1">
334         <type name="int"/>
335       </field>
336     </record>
337     <record name="StructPrivate"/>
338     <interface name="SubInterface" glib:type-name="FooSubInterface" glib:get-type="foo_sub_interface_get_type">
339       <prerequisite name="Interface"/>
340       <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
341         <return-value transfer-ownership="none">
342           <type name="none"/>
343         </return-value>
344       </method>
345     </interface>
346     <record name="SubInterfaceIface">
347       <field name="parent_iface">
348         <type name="GObject.TypeInterface"/>
349       </field>
350     </record>
351     <class name="Subobject" parent="Object" glib:class-struct="SubobjectClass" abstract="1" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
352       <implements name="Interface"/>
353       <field name="parent_instance">
354         <type name="Object"/>
355       </field>
356       <constructor name="new" c:identifier="foo_subobject_new">
357         <return-value transfer-ownership="full">
358           <type name="Subobject"/>
359         </return-value>
360       </constructor>
361     </class>
362     <record name="SubobjectClass" glib:is-class-struct="1">
363       <field name="parent_class">
364         <type name="ObjectClass"/>
365       </field>
366     </record>
367     <record name="ThingWithArray">
368       <field name="x" writable="1">
369         <type name="int"/>
370       </field>
371       <field name="y" writable="1">
372         <type name="int"/>
373       </field>
374       <field name="lines" writable="1">
375         <array fixed-size="80">
376           <type name="int8"/>
377         </array>
378       </field>
379       <field name="data" writable="1">
380         <type name="any"/>
381       </field>
382     </record>
383     <union name="Union">
384       <field name="foo" writable="1">
385         <type name="int"/>
386       </field>
387     </union>
388     <record name="UtilityStruct">
389       <field name="bar" writable="1">
390         <type name="utility.Struct"/>
391       </field>
392     </record>
393     <function name="enum_type_method" c:identifier="foo_enum_type_method">
394       <return-value transfer-ownership="none">
395         <type name="int"/>
396       </return-value>
397       <parameters>
398         <parameter name="foo_enum" transfer-ownership="none">
399           <type name="EnumType"/>
400         </parameter>
401       </parameters>
402     </function>
403     <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
404       <return-value transfer-ownership="full">
405         <type name="EnumType"/>
406       </return-value>
407       <parameters>
408         <parameter name="x" transfer-ownership="none">
409           <type name="int"/>
410         </parameter>
411       </parameters>
412     </function>
413     <function name="init" c:identifier="foo_init">
414       <return-value transfer-ownership="none">
415         <type name="int"/>
416       </return-value>
417     </function>
418     <function name="method_external_references" c:identifier="foo_method_external_references">
419       <return-value transfer-ownership="none">
420         <type name="none"/>
421       </return-value>
422       <parameters>
423         <parameter name="object" transfer-ownership="none">
424           <type name="utility.Object"/>
425         </parameter>
426         <parameter name="e" transfer-ownership="none">
427           <type name="utility.EnumType"/>
428         </parameter>
429         <parameter name="f" transfer-ownership="none">
430           <type name="utility.FlagType"/>
431         </parameter>
432         <parameter name="s" transfer-ownership="none">
433           <type name="utility.Struct"/>
434         </parameter>
435       </parameters>
436     </function>
437     <function name="test_const_char_param" c:identifier="foo_test_const_char_param">
438       <return-value transfer-ownership="none">
439         <type name="none"/>
440       </return-value>
441       <parameters>
442         <parameter name="param" transfer-ownership="none">
443           <type name="utf8"/>
444         </parameter>
445       </parameters>
446     </function>
447     <function name="test_const_char_retval" c:identifier="foo_test_const_char_retval">
448       <return-value transfer-ownership="none">
449         <type name="utf8"/>
450       </return-value>
451     </function>
452     <function name="test_const_struct_param" c:identifier="foo_test_const_struct_param">
453       <return-value transfer-ownership="none">
454         <type name="none"/>
455       </return-value>
456       <parameters>
457         <parameter name="param" transfer-ownership="none">
458           <type name="Struct"/>
459         </parameter>
460       </parameters>
461     </function>
462     <function name="test_const_struct_retval" c:identifier="foo_test_const_struct_retval">
463       <return-value transfer-ownership="none">
464         <type name="Struct"/>
465       </return-value>
466     </function>
467     <function name="test_string_array" c:identifier="foo_test_string_array">
468       <return-value transfer-ownership="none">
469         <type name="none"/>
470       </return-value>
471       <parameters>
472         <parameter name="array" transfer-ownership="none">
473           <array zero-terminated="1">
474             <type name="utf8"/>
475           </array>
476         </parameter>
477       </parameters>
478     </function>
479     <function name="test_string_array_with_g" c:identifier="foo_test_string_array_with_g">
480       <return-value transfer-ownership="none">
481         <type name="none"/>
482       </return-value>
483       <parameters>
484         <parameter name="array" transfer-ownership="none">
485           <array zero-terminated="1">
486             <type name="utf8"/>
487           </array>
488         </parameter>
489       </parameters>
490     </function>
491     <function name="test_unsigned_qualifier" c:identifier="foo_test_unsigned_qualifier">
492       <return-value transfer-ownership="none">
493         <type name="none"/>
494       </return-value>
495       <parameters>
496         <parameter name="unsigned_param" transfer-ownership="none">
497           <type name="uint"/>
498         </parameter>
499       </parameters>
500     </function>
501     <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
502       <return-value transfer-ownership="none">
503         <type name="none"/>
504       </return-value>
505       <parameters>
506         <parameter name="unsigned_param" transfer-ownership="none">
507           <type name="uint"/>
508         </parameter>
509       </parameters>
510     </function>
511   </namespace>
512 </repository>