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