scanner: Always explicitely set the scope of callbacks
[gnome.gobject-introspection] / tests / scanner / annotation-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="annotation" version="1.0" shared-library="libannotation.so" c:prefix="annotation">
10     <callback name="Callback">
11       <return-value transfer-ownership="none">
12         <type name="int"/>
13       </return-value>
14       <parameters>
15         <parameter name="in" transfer-ownership="none">
16           <type name="int"/>
17         </parameter>
18       </parameters>
19     </callback>
20     <callback name="ForeachFunc">
21       <return-value transfer-ownership="none">
22         <type name="none"/>
23       </return-value>
24       <parameters>
25         <parameter name="object" transfer-ownership="none">
26           <type name="Object"/>
27         </parameter>
28         <parameter name="item" transfer-ownership="none">
29           <type name="utf8"/>
30         </parameter>
31         <parameter name="user_data" transfer-ownership="none" closure="2">
32           <type name="any"/>
33         </parameter>
34       </parameters>
35     </callback>
36     <callback name="ListCallback">
37       <return-value transfer-ownership="container">
38         <type name="GLib.List">
39           <type name="utf8"/>
40         </type>
41       </return-value>
42       <parameters>
43         <parameter name="in" transfer-ownership="none">
44           <type name="GLib.List">
45             <type name="utf8"/>
46           </type>
47         </parameter>
48       </parameters>
49     </callback>
50     <callback name="NotifyFunc">
51       <return-value transfer-ownership="none">
52         <type name="none"/>
53       </return-value>
54       <parameters>
55         <parameter name="data" transfer-ownership="none" closure="0">
56           <type name="any"/>
57         </parameter>
58       </parameters>
59     </callback>
60     <class name="Object" parent="GObject.Object" glib:type-struct="ObjectClass" glib:type-name="AnnotationObject" glib:get-type="annotation_object_get_type">
61       <attribute name="org.example.Test" value="cows"/>
62       <field name="parent_instance">
63         <type name="GObject.Object"/>
64       </field>
65       <method name="method" c:identifier="annotation_object_method">
66         <return-value transfer-ownership="none">
67           <type name="int"/>
68         </return-value>
69       </method>
70       <method name="out" c:identifier="annotation_object_out">
71         <return-value transfer-ownership="none">
72           <type name="int"/>
73         </return-value>
74         <parameters>
75           <parameter name="outarg" transfer-ownership="full" direction="out">
76             <type name="int"/>
77           </parameter>
78         </parameters>
79       </method>
80       <method name="create_object" c:identifier="annotation_object_create_object">
81         <return-value transfer-ownership="full">
82           <type name="GObject.Object"/>
83         </return-value>
84       </method>
85       <method name="allow_none" c:identifier="annotation_object_allow_none">
86         <return-value transfer-ownership="full">
87           <type name="GObject.Object"/>
88         </return-value>
89         <parameters>
90           <parameter name="somearg" transfer-ownership="none" allow-none="1">
91             <type name="utf8"/>
92           </parameter>
93         </parameters>
94       </method>
95       <method name="notrans" c:identifier="annotation_object_notrans">
96         <return-value transfer-ownership="none">
97           <type name="GObject.Object"/>
98         </return-value>
99       </method>
100       <method name="inout" c:identifier="annotation_object_inout">
101         <return-value transfer-ownership="none">
102           <type name="int"/>
103         </return-value>
104         <parameters>
105           <parameter name="inoutarg" transfer-ownership="full" direction="inout">
106             <type name="int"/>
107           </parameter>
108         </parameters>
109       </method>
110       <method name="inout2" c:identifier="annotation_object_inout2">
111         <return-value transfer-ownership="none">
112           <type name="int"/>
113         </return-value>
114         <parameters>
115           <parameter name="inoutarg" transfer-ownership="full" direction="inout">
116             <type name="int"/>
117           </parameter>
118         </parameters>
119       </method>
120       <method name="inout3" c:identifier="annotation_object_inout3">
121         <return-value transfer-ownership="none">
122           <type name="int"/>
123         </return-value>
124         <parameters>
125           <parameter name="inoutarg" transfer-ownership="full" direction="inout" allow-none="1">
126             <type name="int"/>
127           </parameter>
128         </parameters>
129       </method>
130       <method name="in" c:identifier="annotation_object_in">
131         <return-value transfer-ownership="none">
132           <type name="int"/>
133         </return-value>
134         <parameters>
135           <parameter name="inarg" transfer-ownership="none">
136             <type name="int"/>
137           </parameter>
138         </parameters>
139       </method>
140       <method name="calleeowns" c:identifier="annotation_object_calleeowns">
141         <return-value transfer-ownership="none">
142           <type name="int"/>
143         </return-value>
144         <parameters>
145           <parameter name="toown" transfer-ownership="full" direction="out">
146             <type name="GObject.Object"/>
147           </parameter>
148         </parameters>
149       </method>
150       <method name="calleesowns" c:identifier="annotation_object_calleesowns">
151         <return-value transfer-ownership="none">
152           <type name="int"/>
153         </return-value>
154         <parameters>
155           <parameter name="toown1" transfer-ownership="full" direction="out">
156             <type name="GObject.Object"/>
157           </parameter>
158           <parameter name="toown2" transfer-ownership="none" direction="out">
159             <type name="GObject.Object"/>
160           </parameter>
161         </parameters>
162       </method>
163       <method name="get_strings" c:identifier="annotation_object_get_strings">
164         <return-value transfer-ownership="full">
165           <type name="GLib.List">
166             <type name="utf8"/>
167           </type>
168         </return-value>
169       </method>
170       <method name="get_hash" c:identifier="annotation_object_get_hash">
171         <return-value transfer-ownership="full">
172           <type name="GLib.HashTable">
173             <type name="utf8"/>
174             <type name="GObject.Object"/>
175           </type>
176         </return-value>
177       </method>
178       <method name="with_voidp" c:identifier="annotation_object_with_voidp">
179         <return-value transfer-ownership="none">
180           <type name="none"/>
181         </return-value>
182         <parameters>
183           <parameter name="data" transfer-ownership="none">
184             <type name="any"/>
185           </parameter>
186         </parameters>
187       </method>
188       <method name="get_objects" c:identifier="annotation_object_get_objects">
189         <return-value transfer-ownership="container">
190           <type name="GLib.SList">
191             <type name="Object"/>
192           </type>
193         </return-value>
194       </method>
195       <method name="use_buffer" c:identifier="annotation_object_use_buffer">
196         <return-value transfer-ownership="none">
197           <type name="none"/>
198         </return-value>
199         <parameters>
200           <parameter name="bytes" transfer-ownership="none">
201             <array zero-terminated="1">
202               <type name="uint8"/>
203             </array>
204           </parameter>
205         </parameters>
206       </method>
207       <method name="compute_sum" c:identifier="annotation_object_compute_sum">
208         <return-value transfer-ownership="none">
209           <type name="none"/>
210         </return-value>
211         <parameters>
212           <parameter name="nums" transfer-ownership="none">
213             <array zero-terminated="1">
214               <type name="int"/>
215             </array>
216           </parameter>
217         </parameters>
218       </method>
219       <method name="compute_sum_n" c:identifier="annotation_object_compute_sum_n">
220         <return-value transfer-ownership="none">
221           <type name="none"/>
222         </return-value>
223         <parameters>
224           <parameter name="nums" transfer-ownership="none">
225             <array length="2">
226               <type name="int"/>
227             </array>
228           </parameter>
229           <parameter name="n_nums" transfer-ownership="none">
230             <type name="int"/>
231           </parameter>
232         </parameters>
233       </method>
234       <method name="compute_sum_nz" c:identifier="annotation_object_compute_sum_nz">
235         <return-value transfer-ownership="none">
236           <type name="none"/>
237         </return-value>
238         <parameters>
239           <parameter name="nums" transfer-ownership="none">
240             <array length="2">
241               <type name="int"/>
242             </array>
243           </parameter>
244           <parameter name="n_nums" transfer-ownership="none">
245             <type name="int"/>
246           </parameter>
247         </parameters>
248       </method>
249       <method name="parse_args" c:identifier="annotation_object_parse_args">
250         <return-value transfer-ownership="none">
251           <type name="none"/>
252         </return-value>
253         <parameters>
254           <parameter name="argc" transfer-ownership="full" direction="inout">
255             <type name="int"/>
256           </parameter>
257           <parameter name="argv" transfer-ownership="full" direction="inout">
258             <array length="1">
259               <type name="utf8"/>
260             </array>
261           </parameter>
262         </parameters>
263       </method>
264       <method name="string_out" c:identifier="annotation_object_string_out">
265         <return-value transfer-ownership="none">
266           <type name="boolean"/>
267         </return-value>
268         <parameters>
269           <parameter name="str_out" transfer-ownership="full" direction="out">
270             <type name="utf8"/>
271           </parameter>
272         </parameters>
273       </method>
274       <method name="foreach" c:identifier="annotation_object_foreach">
275         <return-value transfer-ownership="none">
276           <type name="none"/>
277         </return-value>
278         <parameters>
279           <parameter name="func" transfer-ownership="none" scope="call" closure="2">
280             <type name="ForeachFunc"/>
281           </parameter>
282           <parameter name="user_data" transfer-ownership="none">
283             <type name="any"/>
284           </parameter>
285         </parameters>
286       </method>
287       <method name="set_data" c:identifier="annotation_object_set_data">
288         <return-value transfer-ownership="none">
289           <type name="none"/>
290         </return-value>
291         <parameters>
292           <parameter name="data" transfer-ownership="none">
293             <array length="2">
294               <type name="uint8"/>
295             </array>
296           </parameter>
297           <parameter name="length" transfer-ownership="none">
298             <type name="size"/>
299           </parameter>
300         </parameters>
301       </method>
302       <method name="set_data2" c:identifier="annotation_object_set_data2">
303         <return-value transfer-ownership="none">
304           <type name="none"/>
305         </return-value>
306         <parameters>
307           <parameter name="data" transfer-ownership="none">
308             <array length="2">
309               <type name="int8"/>
310             </array>
311           </parameter>
312           <parameter name="length" transfer-ownership="none">
313             <type name="size"/>
314           </parameter>
315         </parameters>
316       </method>
317       <method name="set_data3" c:identifier="annotation_object_set_data3">
318         <return-value transfer-ownership="none">
319           <type name="none"/>
320         </return-value>
321         <parameters>
322           <parameter name="data" transfer-ownership="none">
323             <array length="2">
324               <type name="uint8"/>
325             </array>
326           </parameter>
327           <parameter name="length" transfer-ownership="none">
328             <type name="size"/>
329           </parameter>
330         </parameters>
331       </method>
332       <method name="do_not_use" c:identifier="annotation_object_do_not_use" deprecated="1">
333         <return-value transfer-ownership="full">
334           <type name="GObject.Object"/>
335         </return-value>
336       </method>
337       <method name="watch" c:identifier="annotation_object_watch_full">
338         <return-value transfer-ownership="none">
339           <type name="none"/>
340         </return-value>
341         <parameters>
342           <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3">
343             <type name="ForeachFunc"/>
344           </parameter>
345           <parameter name="user_data" transfer-ownership="none">
346             <type name="any"/>
347           </parameter>
348           <parameter name="destroy" transfer-ownership="none" scope="call">
349             <type name="GLib.DestroyNotify"/>
350           </parameter>
351         </parameters>
352       </method>
353       <method name="extra_annos" c:identifier="annotation_object_extra_annos">
354         <attribute name="org.foobar" value="testvalue"/>
355         <return-value transfer-ownership="none">
356           <type name="none"/>
357         </return-value>
358       </method>
359       <property name="string-property" writable="1" construct="1">
360         <type name="utf8"/>
361       </property>
362       <glib:signal name="doc-empty-arg-parsing" when="LAST">
363         <return-value transfer-ownership="full">
364           <type name="none"/>
365         </return-value>
366         <parameters>
367           <parameter name="arg1" transfer-ownership="none">
368             <type name="any"/>
369           </parameter>
370         </parameters>
371       </glib:signal>
372       <glib:signal name="list-signal" when="LAST">
373         <return-value transfer-ownership="full">
374           <type name="none"/>
375         </return-value>
376         <parameters>
377           <parameter name="list" transfer-ownership="container">
378             <type name="GLib.List">
379               <type name="utf8"/>
380             </type>
381           </parameter>
382         </parameters>
383       </glib:signal>
384       <glib:signal name="string-signal" when="LAST">
385         <return-value transfer-ownership="full">
386           <type name="none"/>
387         </return-value>
388         <parameters>
389           <parameter name="string" transfer-ownership="none">
390             <type name="utf8"/>
391           </parameter>
392         </parameters>
393       </glib:signal>
394     </class>
395     <record name="ObjectClass" glib:is-gtype-struct="1">
396       <field name="parent_class">
397         <type name="GObject.ObjectClass"/>
398       </field>
399     </record>
400     <record name="Struct">
401       <field name="objects" writable="1">
402         <array fixed-size="10">
403           <type name="Object"/>
404         </array>
405       </field>
406     </record>
407     <function name="custom_destroy" c:identifier="annotation_custom_destroy">
408       <return-value transfer-ownership="none">
409         <type name="none"/>
410       </return-value>
411       <parameters>
412         <parameter name="callback" transfer-ownership="none" scope="call" closure="2" destroy="1">
413           <type name="Callback"/>
414         </parameter>
415         <parameter name="destroy" transfer-ownership="none" scope="call">
416           <type name="NotifyFunc"/>
417         </parameter>
418         <parameter name="data" transfer-ownership="none">
419           <type name="any"/>
420         </parameter>
421       </parameters>
422     </function>
423     <function name="get_source_file" c:identifier="annotation_get_source_file">
424       <return-value transfer-ownership="full">
425         <type name="filename"/>
426       </return-value>
427     </function>
428     <function name="init" c:identifier="annotation_init">
429       <return-value transfer-ownership="none">
430         <type name="none"/>
431       </return-value>
432       <parameters>
433         <parameter name="argc" transfer-ownership="full" direction="inout">
434           <type name="int"/>
435         </parameter>
436         <parameter name="argv" transfer-ownership="full" direction="inout">
437           <array length="0">
438             <type name="utf8"/>
439           </array>
440         </parameter>
441       </parameters>
442     </function>
443     <function name="return_array" c:identifier="annotation_return_array">
444       <return-value transfer-ownership="full">
445         <array length="0">
446           <type name="utf8"/>
447         </array>
448       </return-value>
449       <parameters>
450         <parameter name="length" transfer-ownership="full" direction="out">
451           <type name="int"/>
452         </parameter>
453       </parameters>
454     </function>
455     <function name="set_source_file" c:identifier="annotation_set_source_file">
456       <return-value transfer-ownership="none">
457         <type name="none"/>
458       </return-value>
459       <parameters>
460         <parameter name="fname" transfer-ownership="none">
461           <type name="filename"/>
462         </parameter>
463       </parameters>
464     </function>
465     <function name="string_array_length" c:identifier="annotation_string_array_length">
466       <return-value transfer-ownership="none">
467         <type name="none"/>
468       </return-value>
469       <parameters>
470         <parameter name="n_properties" transfer-ownership="none">
471           <type name="uint"/>
472         </parameter>
473         <parameter name="properties" transfer-ownership="none">
474           <array length="0">
475             <type name="utf8"/>
476           </array>
477         </parameter>
478       </parameters>
479     </function>
480     <function name="string_zero_terminated" c:identifier="annotation_string_zero_terminated">
481       <return-value transfer-ownership="full">
482         <array zero-terminated="1">
483           <type name="utf8"/>
484         </array>
485       </return-value>
486     </function>
487     <function name="string_zero_terminated_out" c:identifier="annotation_string_zero_terminated_out">
488       <return-value transfer-ownership="none">
489         <type name="none"/>
490       </return-value>
491       <parameters>
492         <parameter name="out" transfer-ownership="full" direction="inout">
493           <array zero-terminated="1">
494             <type name="utf8"/>
495           </array>
496         </parameter>
497       </parameters>
498     </function>
499     <function name="versioned" c:identifier="annotation_versioned">
500       <return-value transfer-ownership="none">
501         <type name="none"/>
502       </return-value>
503     </function>
504   </namespace>
505 </repository>