Bug 565147 - Add (type) annotation to override the C type definition
[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="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     <class name="Object" parent="GObject.Object" glib:type-struct="ObjectClass" glib:type-name="AnnotationObject" glib:get-type="annotation_object_get_type">
51       <attribute name="org.example.Test" value="cows"/>
52       <field name="parent_instance">
53         <type name="GObject.Object"/>
54       </field>
55       <method name="method" c:identifier="annotation_object_method">
56         <return-value transfer-ownership="none">
57           <type name="int"/>
58         </return-value>
59       </method>
60       <method name="out" c:identifier="annotation_object_out">
61         <return-value transfer-ownership="none">
62           <type name="int"/>
63         </return-value>
64         <parameters>
65           <parameter name="outarg" transfer-ownership="full" direction="out">
66             <type name="int"/>
67           </parameter>
68         </parameters>
69       </method>
70       <method name="create_object" c:identifier="annotation_object_create_object">
71         <return-value transfer-ownership="full">
72           <type name="GObject.Object"/>
73         </return-value>
74       </method>
75       <method name="allow_none" c:identifier="annotation_object_allow_none">
76         <return-value transfer-ownership="full">
77           <type name="GObject.Object"/>
78         </return-value>
79         <parameters>
80           <parameter name="somearg" transfer-ownership="none" allow-none="1">
81             <type name="utf8"/>
82           </parameter>
83         </parameters>
84       </method>
85       <method name="notrans" c:identifier="annotation_object_notrans">
86         <return-value transfer-ownership="none">
87           <type name="GObject.Object"/>
88         </return-value>
89       </method>
90       <method name="inout" c:identifier="annotation_object_inout">
91         <return-value transfer-ownership="none">
92           <type name="int"/>
93         </return-value>
94         <parameters>
95           <parameter name="inoutarg" transfer-ownership="full" direction="inout">
96             <type name="int"/>
97           </parameter>
98         </parameters>
99       </method>
100       <method name="inout2" c:identifier="annotation_object_inout2">
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="inout3" c:identifier="annotation_object_inout3">
111         <return-value transfer-ownership="none">
112           <type name="int"/>
113         </return-value>
114         <parameters>
115           <parameter name="inoutarg" transfer-ownership="full" direction="inout" allow-none="1">
116             <type name="int"/>
117           </parameter>
118         </parameters>
119       </method>
120       <method name="in" c:identifier="annotation_object_in">
121         <return-value transfer-ownership="none">
122           <type name="int"/>
123         </return-value>
124         <parameters>
125           <parameter name="inarg" transfer-ownership="none">
126             <type name="int"/>
127           </parameter>
128         </parameters>
129       </method>
130       <method name="calleeowns" c:identifier="annotation_object_calleeowns">
131         <return-value transfer-ownership="none">
132           <type name="int"/>
133         </return-value>
134         <parameters>
135           <parameter name="toown" transfer-ownership="full" direction="out">
136             <type name="GObject.Object"/>
137           </parameter>
138         </parameters>
139       </method>
140       <method name="calleesowns" c:identifier="annotation_object_calleesowns">
141         <return-value transfer-ownership="none">
142           <type name="int"/>
143         </return-value>
144         <parameters>
145           <parameter name="toown1" transfer-ownership="full" direction="out">
146             <type name="GObject.Object"/>
147           </parameter>
148           <parameter name="toown2" transfer-ownership="none" direction="out">
149             <type name="GObject.Object"/>
150           </parameter>
151         </parameters>
152       </method>
153       <method name="get_strings" c:identifier="annotation_object_get_strings">
154         <return-value transfer-ownership="full">
155           <type name="GLib.List">
156             <type name="utf8"/>
157           </type>
158         </return-value>
159       </method>
160       <method name="get_hash" c:identifier="annotation_object_get_hash">
161         <return-value transfer-ownership="full">
162           <type name="GLib.HashTable">
163             <type name="utf8"/>
164             <type name="GObject.Object"/>
165           </type>
166         </return-value>
167       </method>
168       <method name="with_voidp" c:identifier="annotation_object_with_voidp">
169         <return-value transfer-ownership="none">
170           <type name="none"/>
171         </return-value>
172         <parameters>
173           <parameter name="data" transfer-ownership="none">
174             <type name="any"/>
175           </parameter>
176         </parameters>
177       </method>
178       <method name="get_objects" c:identifier="annotation_object_get_objects">
179         <return-value transfer-ownership="container">
180           <type name="GLib.SList">
181             <type name="Object"/>
182           </type>
183         </return-value>
184       </method>
185       <method name="use_buffer" c:identifier="annotation_object_use_buffer">
186         <return-value transfer-ownership="none">
187           <type name="none"/>
188         </return-value>
189         <parameters>
190           <parameter name="bytes" transfer-ownership="none">
191             <array zero-terminated="1">
192               <type name="uint8"/>
193             </array>
194           </parameter>
195         </parameters>
196       </method>
197       <method name="compute_sum" c:identifier="annotation_object_compute_sum">
198         <return-value transfer-ownership="none">
199           <type name="none"/>
200         </return-value>
201         <parameters>
202           <parameter name="nums" transfer-ownership="none">
203             <array zero-terminated="1">
204               <type name="int"/>
205             </array>
206           </parameter>
207         </parameters>
208       </method>
209       <method name="compute_sum_n" c:identifier="annotation_object_compute_sum_n">
210         <return-value transfer-ownership="none">
211           <type name="none"/>
212         </return-value>
213         <parameters>
214           <parameter name="nums" transfer-ownership="none">
215             <array length="2">
216               <type name="int"/>
217             </array>
218           </parameter>
219           <parameter name="n_nums" transfer-ownership="none">
220             <type name="int"/>
221           </parameter>
222         </parameters>
223       </method>
224       <method name="compute_sum_nz" c:identifier="annotation_object_compute_sum_nz">
225         <return-value transfer-ownership="none">
226           <type name="none"/>
227         </return-value>
228         <parameters>
229           <parameter name="nums" transfer-ownership="none">
230             <array length="2" zero-terminated="1">
231               <type name="int"/>
232             </array>
233           </parameter>
234           <parameter name="n_nums" transfer-ownership="none">
235             <type name="int"/>
236           </parameter>
237         </parameters>
238       </method>
239       <method name="parse_args" c:identifier="annotation_object_parse_args">
240         <return-value transfer-ownership="none">
241           <type name="none"/>
242         </return-value>
243         <parameters>
244           <parameter name="argc" transfer-ownership="full" direction="inout">
245             <type name="int"/>
246           </parameter>
247           <parameter name="argv" transfer-ownership="none" direction="inout">
248             <array length="1" zero-terminated="1">
249               <type name="utf8"/>
250             </array>
251           </parameter>
252         </parameters>
253       </method>
254       <method name="string_out" c:identifier="annotation_object_string_out">
255         <return-value transfer-ownership="none">
256           <type name="boolean"/>
257         </return-value>
258         <parameters>
259           <parameter name="str_out" transfer-ownership="full" direction="out">
260             <type name="utf8"/>
261           </parameter>
262         </parameters>
263       </method>
264       <method name="foreach" c:identifier="annotation_object_foreach">
265         <return-value transfer-ownership="none">
266           <type name="none"/>
267         </return-value>
268         <parameters>
269           <parameter name="func" transfer-ownership="none" scope="call" closure="2">
270             <type name="ForeachFunc"/>
271           </parameter>
272           <parameter name="user_data" transfer-ownership="none">
273             <type name="any"/>
274           </parameter>
275         </parameters>
276       </method>
277       <method name="set_data" c:identifier="annotation_object_set_data">
278         <return-value transfer-ownership="none">
279           <type name="none"/>
280         </return-value>
281         <parameters>
282           <parameter name="data" transfer-ownership="none">
283             <array length="2" zero-terminated="1">
284               <type name="uint8"/>
285             </array>
286           </parameter>
287           <parameter name="length" transfer-ownership="none">
288             <type name="size"/>
289           </parameter>
290         </parameters>
291       </method>
292       <method name="set_data2" c:identifier="annotation_object_set_data2">
293         <return-value transfer-ownership="none">
294           <type name="none"/>
295         </return-value>
296         <parameters>
297           <parameter name="data" transfer-ownership="none">
298             <array length="2" zero-terminated="1">
299               <type name="int8"/>
300             </array>
301           </parameter>
302           <parameter name="length" transfer-ownership="none">
303             <type name="size"/>
304           </parameter>
305         </parameters>
306       </method>
307       <method name="set_data3" c:identifier="annotation_object_set_data3">
308         <return-value transfer-ownership="none">
309           <type name="none"/>
310         </return-value>
311         <parameters>
312           <parameter name="data" transfer-ownership="none">
313             <array length="2" zero-terminated="1">
314               <type name="uint8"/>
315             </array>
316           </parameter>
317           <parameter name="length" transfer-ownership="none">
318             <type name="size"/>
319           </parameter>
320         </parameters>
321       </method>
322       <method name="do_not_use" c:identifier="annotation_object_do_not_use" deprecated="1">
323         <return-value transfer-ownership="full">
324           <type name="GObject.Object"/>
325         </return-value>
326       </method>
327       <method name="extra_annos" c:identifier="annotation_object_extra_annos">
328         <attribute name="org.foobar" value="testvalue"/>
329         <return-value transfer-ownership="none">
330           <type name="none"/>
331         </return-value>
332       </method>
333       <property name="string-property" writable="1" construct="1">
334         <type name="utf8"/>
335       </property>
336       <glib:signal name="string-signal" when="LAST">
337         <return-value transfer-ownership="full">
338           <type name="none"/>
339         </return-value>
340         <parameters>
341           <parameter name="string" transfer-ownership="none">
342             <type name="utf8"/>
343           </parameter>
344         </parameters>
345       </glib:signal>
346       <glib:signal name="list-signal" when="LAST">
347         <return-value transfer-ownership="full">
348           <type name="none"/>
349         </return-value>
350         <parameters>
351           <parameter name="list" transfer-ownership="container">
352             <type name="GLib.List">
353               <type name="utf8"/>
354             </type>
355           </parameter>
356         </parameters>
357       </glib:signal>
358     </class>
359     <record name="ObjectClass" glib:is-gtype-struct="1">
360       <field name="parent_class">
361         <type name="GObject.ObjectClass"/>
362       </field>
363     </record>
364     <record name="Struct">
365       <field name="objects" writable="1">
366         <array fixed-size="10">
367           <type name="Object"/>
368         </array>
369       </field>
370     </record>
371     <function name="get_source_file" c:identifier="annotation_get_source_file">
372       <return-value transfer-ownership="full">
373         <type name="filename"/>
374       </return-value>
375     </function>
376     <function name="init" c:identifier="annotation_init">
377       <return-value transfer-ownership="none">
378         <type name="none"/>
379       </return-value>
380       <parameters>
381         <parameter name="argc" transfer-ownership="full" direction="inout">
382           <type name="int"/>
383         </parameter>
384         <parameter name="argv" transfer-ownership="none" direction="inout">
385           <array length="0" zero-terminated="1">
386             <type name="utf8"/>
387           </array>
388         </parameter>
389       </parameters>
390     </function>
391     <function name="return_array" c:identifier="annotation_return_array">
392       <return-value transfer-ownership="none">
393         <array length="0" zero-terminated="1">
394           <type name="utf8"/>
395         </array>
396       </return-value>
397       <parameters>
398         <parameter name="length" transfer-ownership="full" direction="out">
399           <type name="int"/>
400         </parameter>
401       </parameters>
402     </function>
403     <function name="set_source_file" c:identifier="annotation_set_source_file">
404       <return-value transfer-ownership="none">
405         <type name="none"/>
406       </return-value>
407       <parameters>
408         <parameter name="fname" transfer-ownership="none">
409           <type name="filename"/>
410         </parameter>
411       </parameters>
412     </function>
413     <function name="string_zero_terminated" c:identifier="annotation_string_zero_terminated">
414       <return-value transfer-ownership="none">
415         <array zero-terminated="1">
416           <type name="utf8"/>
417         </array>
418       </return-value>
419     </function>
420     <function name="string_zero_terminated_out" c:identifier="annotation_string_zero_terminated_out">
421       <return-value transfer-ownership="none">
422         <type name="none"/>
423       </return-value>
424       <parameters>
425         <parameter name="out" transfer-ownership="none" direction="inout">
426           <array zero-terminated="1">
427             <type name="utf8"/>
428           </array>
429         </parameter>
430       </parameters>
431     </function>
432     <function name="versioned" c:identifier="annotation_versioned">
433       <return-value transfer-ownership="none">
434         <type name="none"/>
435       </return-value>
436     </function>
437   </namespace>
438 </repository>