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