tests: Add the scope for callbacks in expected girs
[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="Gio" version="2.0"/>
8   <include name="GObject" version="2.0"/>
9   <include name="GLib" version="2.0"/>
10   <namespace name="foo" version="1.0" shared-library="libfoo.so" c:prefix="foo">
11     <enumeration name="ASingle">
12       <member name="some_single_enum" value="0"/>
13     </enumeration>
14     <enumeration name="AddressType">
15       <member name="invalid" value="0"/>
16       <member name="ipv4" value="1"/>
17       <member name="ipv6" value="2"/>
18     </enumeration>
19     <record name="BRect" glib:type-name="FooBRect" glib:get-type="foo_brect_get_type">
20       <field name="x" writable="1">
21         <type name="double"/>
22       </field>
23       <field name="y" writable="1">
24         <type name="double"/>
25       </field>
26       <constructor name="new" c:identifier="foo_brect_new">
27         <return-value transfer-ownership="full">
28           <type name="BRect"/>
29         </return-value>
30         <parameters>
31           <parameter name="x" transfer-ownership="none">
32             <type name="double"/>
33           </parameter>
34           <parameter name="y" transfer-ownership="none">
35             <type name="double"/>
36           </parameter>
37         </parameters>
38       </constructor>
39       <method name="add" c:identifier="foo_brect_add">
40         <return-value transfer-ownership="none">
41           <type name="none"/>
42         </return-value>
43         <parameters>
44           <parameter name="b2" transfer-ownership="none">
45             <type name="BRect"/>
46           </parameter>
47         </parameters>
48       </method>
49     </record>
50     <union name="BUnion" type-name="FooBUnion" get-type="foo_bunion_get_type">
51       <field name="type" writable="1">
52         <type name="int"/>
53       </field>
54       <field name="v" writable="1">
55         <type name="double"/>
56       </field>
57       <field name="rect" writable="1">
58         <type name="BRect"/>
59       </field>
60       <constructor name="new" c:identifier="foo_bunion_new">
61         <return-value transfer-ownership="full">
62           <type name="BUnion"/>
63         </return-value>
64       </constructor>
65       <method name="get_contained_type" c:identifier="foo_bunion_get_contained_type">
66         <return-value transfer-ownership="none">
67           <type name="int"/>
68         </return-value>
69       </method>
70     </union>
71     <record name="Boxed" glib:type-name="FooBoxed" glib:get-type="foo_boxed_get_type">
72       <constructor name="new" c:identifier="foo_boxed_new">
73         <return-value transfer-ownership="full">
74           <type name="Boxed"/>
75         </return-value>
76       </constructor>
77       <method name="method" c:identifier="foo_boxed_method">
78         <return-value transfer-ownership="none">
79           <type name="none"/>
80         </return-value>
81       </method>
82     </record>
83     <class name="Buffer" parent="Object" glib:type-struct="BufferClass" glib:type-name="FooBuffer" glib:get-type="foo_buffer_get_type">
84       <implements name="Interface"/>
85       <method name="some_method" c:identifier="foo_buffer_some_method">
86         <return-value transfer-ownership="none">
87           <type name="none"/>
88         </return-value>
89       </method>
90     </class>
91     <record name="BufferClass" glib:is-gtype-struct="1"/>
92     <callback name="Callback">
93       <return-value transfer-ownership="none">
94         <type name="boolean"/>
95       </return-value>
96       <parameters>
97         <parameter name="foo" transfer-ownership="none">
98           <type name="Object"/>
99         </parameter>
100         <parameter name="b" transfer-ownership="none">
101           <type name="boolean"/>
102         </parameter>
103         <parameter name="data" transfer-ownership="none">
104           <type name="any"/>
105         </parameter>
106       </parameters>
107     </callback>
108     <record name="DBusData" glib:type-name="FooDBusData" glib:get-type="foo_dbus_data_get_type">
109       <method name="method" c:identifier="foo_dbus_data_method">
110         <return-value transfer-ownership="none">
111           <type name="none"/>
112         </return-value>
113       </method>
114     </record>
115     <constant name="DEFINE_SHOULD_BE_EXPOSED" value="should be exposed">
116       <type name="utf8"/>
117     </constant>
118     <enumeration name="EnumFullname">
119       <member name="one" value="1"/>
120       <member name="two" value="2"/>
121       <member name="three" value="3"/>
122     </enumeration>
123     <enumeration name="EnumNoType">
124       <member name="un" value="1"/>
125       <member name="deux" value="2"/>
126       <member name="trois" value="3"/>
127       <member name="neuf" value="9"/>
128     </enumeration>
129     <enumeration name="EnumType" glib:type-name="FooEnumType" glib:get-type="foo_enum_type_get_type">
130       <member name="alpha" value="0"/>
131       <member name="beta" value="1"/>
132       <member name="delta" value="2"/>
133     </enumeration>
134     <enumeration name="Error" glib:type-name="FooError" glib:get-type="foo_error_get_type">
135       <member name="good" value="0"/>
136       <member name="bad" value="1"/>
137       <member name="ugly" value="2"/>
138     </enumeration>
139     <union name="Event">
140       <field name="type" writable="1">
141         <type name="int"/>
142       </field>
143       <field name="any" writable="1">
144         <type name="EventAny"/>
145       </field>
146       <field name="expose" writable="1">
147         <type name="EventExpose"/>
148       </field>
149     </union>
150     <record name="EventAny">
151       <field name="send_event" writable="1">
152         <type name="int8"/>
153       </field>
154     </record>
155     <record name="EventExpose">
156       <field name="send_event" writable="1">
157         <type name="int8"/>
158       </field>
159       <field name="count" writable="1">
160         <type name="int"/>
161       </field>
162     </record>
163     <bitfield name="FlagsNoType">
164       <member name="ett" value="1"/>
165       <member name="tva" value="2"/>
166       <member name="fyra" value="4"/>
167     </bitfield>
168     <bitfield name="FlagsType" glib:type-name="FooFlagsType" glib:get-type="foo_flags_type_get_type">
169       <member name="first" value="1"/>
170       <member name="second" value="2"/>
171       <member name="third" value="4"/>
172     </bitfield>
173     <interface name="Interface" glib:type-name="FooInterface" glib:get-type="foo_interface_get_type" glib:type-struct="InterfaceIface">
174       <method name="do_foo" c:identifier="foo_interface_do_foo">
175         <return-value transfer-ownership="none">
176           <type name="none"/>
177         </return-value>
178         <parameters>
179           <parameter name="x" transfer-ownership="none">
180             <type name="int"/>
181           </parameter>
182         </parameters>
183       </method>
184       <virtual-method name="do_foo" offset="0" invoker="do_foo">
185         <return-value transfer-ownership="none">
186           <type name="none"/>
187         </return-value>
188         <parameters>
189           <parameter name="x" transfer-ownership="none">
190             <type name="int"/>
191           </parameter>
192         </parameters>
193       </virtual-method>
194     </interface>
195     <record name="InterfaceIface" glib:is-gtype-struct="1">
196       <field name="parent_iface">
197         <type name="GObject.TypeInterface"/>
198       </field>
199       <field name="do_foo">
200         <callback name="do_foo">
201           <return-value transfer-ownership="none">
202             <type name="none"/>
203           </return-value>
204           <parameters>
205             <parameter name="self" transfer-ownership="none">
206               <type name="Interface"/>
207             </parameter>
208             <parameter name="x" transfer-ownership="none">
209               <type name="int"/>
210             </parameter>
211           </parameters>
212         </callback>
213       </field>
214     </record>
215     <class name="Object" parent="GObject.Object" glib:type-struct="ObjectClass" glib:type-name="FooObject" glib:get-type="foo_object_get_type">
216       <implements name="Interface"/>
217       <field name="parent_instance">
218         <type name="GObject.Object"/>
219       </field>
220       <field name="some_int">
221         <type name="int"/>
222       </field>
223       <constructor name="new" c:identifier="foo_object_new">
224         <return-value transfer-ownership="full">
225           <type name="Object"/>
226         </return-value>
227       </constructor>
228       <function name="static_meth" c:identifier="foo_object_static_meth">
229         <return-value transfer-ownership="none">
230           <type name="int"/>
231         </return-value>
232       </function>
233       <function name="get_default" c:identifier="foo_object_get_default">
234         <return-value transfer-ownership="full">
235           <type name="Subobject"/>
236         </return-value>
237       </function>
238       <method name="external_type" c:identifier="foo_object_external_type">
239         <return-value transfer-ownership="full">
240           <type name="utility.Object"/>
241         </return-value>
242       </method>
243       <method name="various" c:identifier="foo_object_various">
244         <return-value transfer-ownership="none">
245           <type name="none"/>
246         </return-value>
247         <parameters>
248           <parameter name="data" transfer-ownership="none">
249             <type name="any"/>
250           </parameter>
251           <parameter name="some_type" transfer-ownership="none">
252             <type name="GType"/>
253           </parameter>
254         </parameters>
255       </method>
256       <method name="with_tdef" c:identifier="foo_object_with_tdef">
257         <return-value transfer-ownership="none">
258           <type name="none"/>
259         </return-value>
260         <parameters>
261           <parameter name="blah" transfer-ownership="none">
262             <type name="GLib.SList">
263               <type name="any"/>
264             </type>
265           </parameter>
266         </parameters>
267       </method>
268       <method name="new_cookie" c:identifier="foo_object_new_cookie">
269         <return-value transfer-ownership="full">
270           <type name="any"/>
271         </return-value>
272         <parameters>
273           <parameter name="target" transfer-ownership="none">
274             <type name="utf8"/>
275           </parameter>
276         </parameters>
277       </method>
278       <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
279         <return-value transfer-ownership="none">
280           <type name="none"/>
281         </return-value>
282         <parameters>
283           <parameter name="time" transfer-ownership="none">
284             <type name="time_t"/>
285           </parameter>
286         </parameters>
287       </method>
288       <method name="get_name" c:identifier="foo_object_get_name">
289         <return-value transfer-ownership="none">
290           <type name="utf8"/>
291         </return-value>
292       </method>
293       <method name="dup_name" c:identifier="foo_object_dup_name">
294         <return-value transfer-ownership="full">
295           <type name="utf8"/>
296         </return-value>
297       </method>
298       <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
299         <return-value transfer-ownership="none">
300           <type name="none"/>
301         </return-value>
302         <parameters>
303           <parameter name="glyph" transfer-ownership="none">
304             <type name="uint32"/>
305           </parameter>
306         </parameters>
307       </method>
308       <method name="virtual_method" c:identifier="foo_object_virtual_method">
309         <return-value transfer-ownership="none">
310           <type name="boolean"/>
311         </return-value>
312         <parameters>
313           <parameter name="first_param" transfer-ownership="none">
314             <type name="int"/>
315           </parameter>
316         </parameters>
317       </method>
318       <method name="read" c:identifier="foo_object_read">
319         <return-value transfer-ownership="none">
320           <type name="none"/>
321         </return-value>
322         <parameters>
323           <parameter name="offset" transfer-ownership="none">
324             <type name="int"/>
325           </parameter>
326           <parameter name="length" transfer-ownership="none">
327             <type name="int"/>
328           </parameter>
329         </parameters>
330       </method>
331       <property name="string" writable="1" construct="1">
332         <type name="utf8"/>
333       </property>
334       <glib:signal name="signal" when="LAST">
335         <return-value transfer-ownership="full">
336           <type name="utf8"/>
337         </return-value>
338         <parameters>
339           <parameter name="object" transfer-ownership="none">
340             <type name="GObject.Object"/>
341           </parameter>
342           <parameter name="p0" transfer-ownership="none">
343             <type name="any"/>
344           </parameter>
345         </parameters>
346       </glib:signal>
347       <virtual-method name="virtual_method" offset="0" invoker="virtual_method">
348         <return-value transfer-ownership="none">
349           <type name="boolean"/>
350         </return-value>
351         <parameters>
352           <parameter name="first_param" transfer-ownership="none">
353             <type name="int"/>
354           </parameter>
355         </parameters>
356       </virtual-method>
357       <virtual-method name="read_fn" offset="0" invoker="read">
358         <return-value transfer-ownership="none">
359           <type name="none"/>
360         </return-value>
361         <parameters>
362           <parameter name="offset" transfer-ownership="none">
363             <type name="int"/>
364           </parameter>
365           <parameter name="length" transfer-ownership="none">
366             <type name="int"/>
367           </parameter>
368         </parameters>
369       </virtual-method>
370     </class>
371     <record name="ObjectClass" glib:is-gtype-struct="1">
372       <field name="parent_class">
373         <type name="GObject.ObjectClass"/>
374       </field>
375       <field name="virtual_method">
376         <callback name="virtual_method">
377           <return-value transfer-ownership="none">
378             <type name="boolean"/>
379           </return-value>
380           <parameters>
381             <parameter name="object" transfer-ownership="none">
382               <type name="Object"/>
383             </parameter>
384             <parameter name="first_param" transfer-ownership="none">
385               <type name="int"/>
386             </parameter>
387           </parameters>
388         </callback>
389       </field>
390       <field name="read_fn">
391         <callback name="read_fn">
392           <return-value transfer-ownership="none">
393             <type name="none"/>
394           </return-value>
395           <parameters>
396             <parameter name="object" transfer-ownership="none">
397               <type name="Object"/>
398             </parameter>
399             <parameter name="offset" transfer-ownership="none">
400               <type name="int"/>
401             </parameter>
402             <parameter name="length" transfer-ownership="none">
403               <type name="int"/>
404             </parameter>
405           </parameters>
406         </callback>
407       </field>
408       <field name="_reserved">
409         <array fixed-size="4">
410           <type name="GObject.Callback"/>
411         </array>
412       </field>
413     </record>
414     <constant name="PIE_IS_TASTY" value="3.141590">
415       <type name="double"/>
416     </constant>
417     <record name="Rectangle">
418       <field name="x" writable="1">
419         <type name="int"/>
420       </field>
421       <field name="y" writable="1">
422         <type name="int"/>
423       </field>
424       <field name="width" writable="1">
425         <type name="int"/>
426       </field>
427       <field name="height" writable="1">
428         <type name="int"/>
429       </field>
430       <constructor name="new" c:identifier="foo_rectangle_new">
431         <return-value transfer-ownership="full">
432           <type name="Rectangle"/>
433         </return-value>
434         <parameters>
435           <parameter name="x" transfer-ownership="none">
436             <type name="int"/>
437           </parameter>
438           <parameter name="y" transfer-ownership="none">
439             <type name="int"/>
440           </parameter>
441           <parameter name="width" transfer-ownership="none">
442             <type name="int"/>
443           </parameter>
444           <parameter name="height" transfer-ownership="none">
445             <type name="int"/>
446           </parameter>
447         </parameters>
448       </constructor>
449       <method name="add" c:identifier="foo_rectangle_add">
450         <return-value transfer-ownership="none">
451           <type name="none"/>
452         </return-value>
453         <parameters>
454           <parameter name="r2" transfer-ownership="none">
455             <type name="Rectangle"/>
456           </parameter>
457         </parameters>
458       </method>
459     </record>
460     <constant name="SUCCESS_INT" value="4408">
461       <type name="int"/>
462     </constant>
463     <enumeration name="StackLayer">
464       <member name="desktop" value="0"/>
465       <member name="bottom" value="1"/>
466       <member name="normal" value="2"/>
467       <member name="top" value="4"/>
468       <member name="dock" value="4"/>
469       <member name="fullscreen" value="5"/>
470       <member name="focused_window" value="6"/>
471       <member name="override_redirect" value="7"/>
472       <member name="last" value="8"/>
473     </enumeration>
474     <record name="Struct">
475       <field name="priv" writable="1">
476         <type name="StructPrivate"/>
477       </field>
478       <field name="member" writable="1">
479         <type name="int"/>
480       </field>
481     </record>
482     <record name="StructPrivate"/>
483     <interface name="SubInterface" glib:type-name="FooSubInterface" glib:get-type="foo_sub_interface_get_type" glib:type-struct="SubInterfaceIface">
484       <prerequisite name="Interface"/>
485       <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
486         <return-value transfer-ownership="none">
487           <type name="none"/>
488         </return-value>
489       </method>
490       <glib:signal name="destroy-event" when="LAST">
491         <return-value transfer-ownership="full">
492           <type name="none"/>
493         </return-value>
494       </glib:signal>
495       <virtual-method name="do_bar" offset="0" invoker="do_bar">
496         <return-value transfer-ownership="none">
497           <type name="none"/>
498         </return-value>
499       </virtual-method>
500     </interface>
501     <record name="SubInterfaceIface" glib:is-gtype-struct="1">
502       <field name="parent_iface">
503         <type name="GObject.TypeInterface"/>
504       </field>
505       <field name="destroy_event">
506         <callback name="destroy_event">
507           <return-value transfer-ownership="none">
508             <type name="none"/>
509           </return-value>
510           <parameters>
511             <parameter name="self" transfer-ownership="none">
512               <type name="SubInterface"/>
513             </parameter>
514           </parameters>
515         </callback>
516       </field>
517       <field name="do_bar">
518         <callback name="do_bar">
519           <return-value transfer-ownership="none">
520             <type name="none"/>
521           </return-value>
522           <parameters>
523             <parameter name="self" transfer-ownership="none">
524               <type name="SubInterface"/>
525             </parameter>
526           </parameters>
527         </callback>
528       </field>
529     </record>
530     <class name="Subobject" parent="Object" glib:type-struct="SubobjectClass" abstract="1" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
531       <implements name="Interface"/>
532       <field name="parent_instance">
533         <type name="Object"/>
534       </field>
535       <constructor name="new" c:identifier="foo_subobject_new">
536         <return-value transfer-ownership="full">
537           <type name="Subobject"/>
538         </return-value>
539       </constructor>
540     </class>
541     <record name="SubobjectClass" glib:is-gtype-struct="1">
542       <field name="parent_class">
543         <type name="ObjectClass"/>
544       </field>
545     </record>
546     <record name="ThingWithArray">
547       <field name="x" writable="1">
548         <type name="int"/>
549       </field>
550       <field name="y" writable="1">
551         <type name="int"/>
552       </field>
553       <field name="lines" writable="1">
554         <array fixed-size="80">
555           <type name="int8"/>
556         </array>
557       </field>
558       <field name="data" writable="1">
559         <type name="any"/>
560       </field>
561     </record>
562     <union name="Union">
563       <field name="foo" writable="1">
564         <type name="int"/>
565       </field>
566     </union>
567     <record name="UtilityStruct">
568       <field name="bar" writable="1">
569         <type name="utility.Struct"/>
570       </field>
571     </record>
572     <function name="async_ready_callback" c:identifier="foo_async_ready_callback">
573       <return-value transfer-ownership="none">
574         <type name="none"/>
575       </return-value>
576       <parameters>
577         <parameter name="cancellable" transfer-ownership="none">
578           <type name="Gio.Cancellable"/>
579         </parameter>
580         <parameter name="callback" transfer-ownership="none" scope="async" closure="2">
581           <type name="Gio.AsyncReadyCallback"/>
582         </parameter>
583         <parameter name="user_data" transfer-ownership="none">
584           <type name="any"/>
585         </parameter>
586       </parameters>
587     </function>
588     <function name="destroy_notify_callback" c:identifier="foo_destroy_notify_callback">
589       <return-value transfer-ownership="none">
590         <type name="none"/>
591       </return-value>
592       <parameters>
593         <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
594           <type name="Callback"/>
595         </parameter>
596         <parameter name="data" transfer-ownership="none">
597           <type name="any"/>
598         </parameter>
599         <parameter name="destroy" transfer-ownership="none" scope="call">
600           <type name="GLib.DestroyNotify"/>
601         </parameter>
602       </parameters>
603     </function>
604     <function name="enum_type_method" c:identifier="foo_enum_type_method">
605       <return-value transfer-ownership="none">
606         <type name="int"/>
607       </return-value>
608       <parameters>
609         <parameter name="foo_enum" transfer-ownership="none">
610           <type name="EnumType"/>
611         </parameter>
612       </parameters>
613     </function>
614     <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
615       <return-value transfer-ownership="full">
616         <type name="EnumType"/>
617       </return-value>
618       <parameters>
619         <parameter name="x" transfer-ownership="none">
620           <type name="int"/>
621         </parameter>
622       </parameters>
623     </function>
624     <function name="init" c:identifier="foo_init">
625       <return-value transfer-ownership="none">
626         <type name="int"/>
627       </return-value>
628     </function>
629     <function name="method_external_references" c:identifier="foo_method_external_references">
630       <return-value transfer-ownership="none">
631         <type name="none"/>
632       </return-value>
633       <parameters>
634         <parameter name="object" transfer-ownership="none">
635           <type name="utility.Object"/>
636         </parameter>
637         <parameter name="e" transfer-ownership="none">
638           <type name="utility.EnumType"/>
639         </parameter>
640         <parameter name="f" transfer-ownership="none">
641           <type name="utility.FlagType"/>
642         </parameter>
643         <parameter name="s" transfer-ownership="none">
644           <type name="utility.Struct"/>
645         </parameter>
646       </parameters>
647     </function>
648     <function name="test_const_char_param" c:identifier="foo_test_const_char_param">
649       <return-value transfer-ownership="none">
650         <type name="none"/>
651       </return-value>
652       <parameters>
653         <parameter name="param" transfer-ownership="none">
654           <type name="utf8"/>
655         </parameter>
656       </parameters>
657     </function>
658     <function name="test_const_char_retval" c:identifier="foo_test_const_char_retval">
659       <return-value transfer-ownership="none">
660         <type name="utf8"/>
661       </return-value>
662     </function>
663     <function name="test_const_struct_param" c:identifier="foo_test_const_struct_param">
664       <return-value transfer-ownership="none">
665         <type name="none"/>
666       </return-value>
667       <parameters>
668         <parameter name="param" transfer-ownership="none">
669           <type name="Struct"/>
670         </parameter>
671       </parameters>
672     </function>
673     <function name="test_const_struct_retval" c:identifier="foo_test_const_struct_retval">
674       <return-value transfer-ownership="none">
675         <type name="Struct"/>
676       </return-value>
677     </function>
678     <function name="test_string_array" c:identifier="foo_test_string_array">
679       <return-value transfer-ownership="none">
680         <type name="none"/>
681       </return-value>
682       <parameters>
683         <parameter name="array" transfer-ownership="none">
684           <array zero-terminated="1">
685             <type name="utf8"/>
686           </array>
687         </parameter>
688       </parameters>
689     </function>
690     <function name="test_string_array_with_g" c:identifier="foo_test_string_array_with_g">
691       <return-value transfer-ownership="none">
692         <type name="none"/>
693       </return-value>
694       <parameters>
695         <parameter name="array" transfer-ownership="none">
696           <array zero-terminated="1">
697             <type name="utf8"/>
698           </array>
699         </parameter>
700       </parameters>
701     </function>
702     <function name="test_unsigned_qualifier" c:identifier="foo_test_unsigned_qualifier">
703       <return-value transfer-ownership="none">
704         <type name="none"/>
705       </return-value>
706       <parameters>
707         <parameter name="unsigned_param" transfer-ownership="none">
708           <type name="uint"/>
709         </parameter>
710       </parameters>
711     </function>
712     <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
713       <return-value transfer-ownership="none">
714         <type name="none"/>
715       </return-value>
716       <parameters>
717         <parameter name="unsigned_param" transfer-ownership="none">
718           <type name="uint"/>
719         </parameter>
720       </parameters>
721     </function>
722   </namespace>
723 </repository>