add missing with_voidp
[gnome.gobject-introspection] / tests / scanner / annotation-1.0-expected.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.0"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <include name="GObject" version="2.0"/>
11   <include name="utility" version="1.0"/>
12   <namespace name="annotation" version="1.0" shared-library="annotation">
13     <callback name="Callback"
14               c:type="AnnotationCallback"
15               doc="This is a callback.">
16       <return-value transfer-ownership="none" doc="array of ints">
17         <type name="int" c:type="gint*"/>
18       </return-value>
19       <parameters>
20         <parameter name="in" transfer-ownership="none" doc="array of ints">
21           <type name="int" c:type="gint*"/>
22         </parameter>
23       </parameters>
24     </callback>
25     <callback name="ListCallback"
26               c:type="AnnotationListCallback"
27               doc="This is a callback taking a list.">
28       <return-value transfer-ownership="container" doc="list of strings">
29         <type name="GLib.List" c:type="GList*">
30           <type name="utf8"/>
31         </type>
32       </return-value>
33       <parameters>
34         <parameter name="in" transfer-ownership="none" doc="list of strings">
35           <type name="GLib.List" c:type="GList*">
36             <type name="utf8"/>
37           </type>
38         </parameter>
39       </parameters>
40     </callback>
41     <class name="Object"
42            c:type="AnnotationObject"
43            doc="This is an object used to test annotations."
44            parent="GObject.Object"
45            glib:type-name="AnnotationObject"
46            glib:get-type="annotation_object_get_type">
47       <method name="method" c:identifier="annotation_object_method">
48         <return-value transfer-ownership="none">
49           <type name="int" c:type="gint"/>
50         </return-value>
51       </method>
52       <method name="out"
53               c:identifier="annotation_object_out"
54               doc="This is a test for out arguments">
55         <return-value transfer-ownership="none">
56           <type name="int" c:type="gint"/>
57         </return-value>
58         <parameters>
59           <parameter name="outarg"
60                      direction="out"
61                      transfer-ownership="full"
62                      doc="This is an argument test">
63             <type name="int" c:type="int*"/>
64           </parameter>
65         </parameters>
66       </method>
67       <method name="create_object"
68               c:identifier="annotation_object_create_object"
69               doc="Test returning a caller-owned object">
70         <return-value transfer-ownership="full" doc="The object">
71           <type name="GObject.Object" c:type="GObject*"/>
72         </return-value>
73       </method>
74       <method name="allow_none" c:identifier="annotation_object_allow_none">
75         <return-value transfer-ownership="full">
76           <type name="GObject.Object" c:type="GObject*"/>
77         </return-value>
78         <parameters>
79           <parameter name="somearg" transfer-ownership="none" allow-none="1">
80             <type name="utf8" c:type="gchar*"/>
81           </parameter>
82         </parameters>
83       </method>
84       <method name="notrans" c:identifier="annotation_object_notrans">
85         <return-value transfer-ownership="none"
86                       doc="An object, not referenced">
87           <type name="GObject.Object" c:type="GObject*"/>
88         </return-value>
89       </method>
90       <method name="inout"
91               c:identifier="annotation_object_inout"
92               doc="This is a test for out arguments">
93         <return-value transfer-ownership="none">
94           <type name="int" c:type="gint"/>
95         </return-value>
96         <parameters>
97           <parameter name="inoutarg"
98                      direction="inout"
99                      transfer-ownership="full"
100                      doc="This is an argument test">
101             <type name="int" c:type="int*"/>
102           </parameter>
103         </parameters>
104       </method>
105       <method name="inout2"
106               c:identifier="annotation_object_inout2"
107               doc="This is a second test for out arguments">
108         <return-value transfer-ownership="none">
109           <type name="int" c:type="gint"/>
110         </return-value>
111         <parameters>
112           <parameter name="inoutarg"
113                      direction="inout"
114                      transfer-ownership="full"
115                      doc="This is an argument test">
116             <type name="int" c:type="int*"/>
117           </parameter>
118         </parameters>
119       </method>
120       <method name="inout3"
121               c:identifier="annotation_object_inout3"
122               doc="This is a 3th test for out arguments">
123         <return-value transfer-ownership="none">
124           <type name="int" c:type="gint"/>
125         </return-value>
126         <parameters>
127           <parameter name="inoutarg"
128                      direction="inout"
129                      transfer-ownership="full"
130                      allow-none="1"
131                      doc="This is an argument test">
132             <type name="int" c:type="int*"/>
133           </parameter>
134         </parameters>
135       </method>
136       <method name="in"
137               c:identifier="annotation_object_in"
138               doc="This is a test for in arguments">
139         <return-value transfer-ownership="none">
140           <type name="int" c:type="gint"/>
141         </return-value>
142         <parameters>
143           <parameter name="inarg"
144                      transfer-ownership="none"
145                      doc="This is an argument test">
146             <type name="int" c:type="int*"/>
147           </parameter>
148         </parameters>
149       </method>
150       <method name="calleeowns"
151               c:identifier="annotation_object_calleeowns"
152               doc="This is a test for out arguments; GObject defaults to transfer">
153         <return-value transfer-ownership="none">
154           <type name="int" c:type="gint"/>
155         </return-value>
156         <parameters>
157           <parameter name="toown"
158                      direction="out"
159                      transfer-ownership="full"
160                      doc="a #GObject">
161             <type name="GObject.Object" c:type="GObject**"/>
162           </parameter>
163         </parameters>
164       </method>
165       <method name="calleesowns"
166               c:identifier="annotation_object_calleesowns"
167               doc="This is a test for out arguments, one transferred, other not">
168         <return-value transfer-ownership="none">
169           <type name="int" c:type="gint"/>
170         </return-value>
171         <parameters>
172           <parameter name="toown1"
173                      direction="out"
174                      transfer-ownership="full"
175                      doc="a #GObject">
176             <type name="GObject.Object" c:type="GObject**"/>
177           </parameter>
178           <parameter name="toown2"
179                      direction="out"
180                      transfer-ownership="none"
181                      doc="a #GObject">
182             <type name="GObject.Object" c:type="GObject**"/>
183           </parameter>
184         </parameters>
185       </method>
186       <method name="get_strings"
187               c:identifier="annotation_object_get_strings"
188               doc="This is a test for returning a list of strings, where
189 each string needs to be freed.">
190         <return-value transfer-ownership="full" doc="list of strings">
191           <type name="GLib.List" c:type="GList*">
192             <type name="utf8"/>
193           </type>
194         </return-value>
195       </method>
196       <method name="get_hash"
197               c:identifier="annotation_object_get_hash"
198               doc="This is a test for returning a hash table mapping strings to
199 objects.">
200         <return-value transfer-ownership="full" doc="hash table">
201           <type name="GLib.HashTable" c:type="GHashTable*">
202             <type name="utf8"/>
203             <type name="GObject.Object"/>
204           </type>
205         </return-value>
206       </method>
207       <method name="with_voidp" c:identifier="annotation_object_with_voidp">
208         <return-value transfer-ownership="none">
209           <type name="none" c:type="void"/>
210         </return-value>
211         <parameters>
212           <parameter name="data" transfer-ownership="none">
213             <type name="any" c:type="void*"/>
214           </parameter>
215         </parameters>
216       </method>
217       <method name="get_objects"
218               c:identifier="annotation_object_get_objects"
219               doc="This is a test for returning a list of objects.
220 The list itself should be freed, but not the internal objects,
221 intentionally similar example to gtk_container_get_children">
222         <return-value transfer-ownership="container" doc="list of objects">
223           <type name="GLib.SList" c:type="GSList*">
224             <type name="Object"/>
225           </type>
226         </return-value>
227       </method>
228       <method name="use_buffer" c:identifier="annotation_object_use_buffer">
229         <return-value transfer-ownership="none">
230           <type name="none" c:type="void"/>
231         </return-value>
232         <parameters>
233           <parameter name="bytes" transfer-ownership="none">
234             <array c:type="guchar*">
235               <type name="uint8"/>
236             </array>
237           </parameter>
238         </parameters>
239       </method>
240       <method name="compute_sum"
241               c:identifier="annotation_object_compute_sum"
242               doc="Test taking a zero-terminated array">
243         <return-value transfer-ownership="none">
244           <type name="none" c:type="void"/>
245         </return-value>
246         <parameters>
247           <parameter name="nums"
248                      transfer-ownership="none"
249                      doc="Sequence of numbers">
250             <array c:type="int*">
251               <type name="int"/>
252             </array>
253           </parameter>
254         </parameters>
255       </method>
256       <method name="compute_sum_n"
257               c:identifier="annotation_object_compute_sum_n"
258               doc="Test taking an array with length parameter">
259         <return-value transfer-ownership="none">
260           <type name="none" c:type="void"/>
261         </return-value>
262         <parameters>
263           <parameter name="nums"
264                      transfer-ownership="none"
265                      doc="Sequence of numbers">
266             <array zero-terminated="0" length="2" c:type="int*">
267               <type name="int"/>
268             </array>
269           </parameter>
270           <parameter name="n_nums" transfer-ownership="none">
271             <type name="int" c:type="int"/>
272           </parameter>
273         </parameters>
274       </method>
275       <method name="compute_sum_nz"
276               c:identifier="annotation_object_compute_sum_nz"
277               doc="Test taking a zero-terminated array with length parameter">
278         <return-value transfer-ownership="none">
279           <type name="none" c:type="void"/>
280         </return-value>
281         <parameters>
282           <parameter name="nums"
283                      transfer-ownership="none"
284                      doc="Sequence of numbers">
285             <array length="2" c:type="int*">
286               <type name="int"/>
287             </array>
288           </parameter>
289           <parameter name="n_nums" transfer-ownership="none">
290             <type name="int" c:type="int"/>
291           </parameter>
292         </parameters>
293       </method>
294       <method name="parse_args"
295               c:identifier="annotation_object_parse_args"
296               doc="Test taking a zero-terminated array with length parameter">
297         <return-value transfer-ownership="none">
298           <type name="none" c:type="void"/>
299         </return-value>
300         <parameters>
301           <parameter name="argc"
302                      direction="inout"
303                      transfer-ownership="full"
304                      doc="Length of the argument vector">
305             <type name="int" c:type="int*"/>
306           </parameter>
307           <parameter name="argv"
308                      direction="inout"
309                      transfer-ownership="none"
310                      doc="Argument vector">
311             <array length="1" c:type="char***">
312               <type name="utf8"/>
313             </array>
314           </parameter>
315         </parameters>
316       </method>
317       <method name="string_out"
318               c:identifier="annotation_object_string_out"
319               doc="Test returning a string as an out parameter">
320         <return-value transfer-ownership="none">
321           <type name="boolean" c:type="gboolean"/>
322         </return-value>
323         <parameters>
324           <parameter name="str_out"
325                      direction="out"
326                      transfer-ownership="full"
327                      doc="string return value">
328             <type name="utf8" c:type="char**"/>
329           </parameter>
330         </parameters>
331       </method>
332       <method name="foreach"
333               c:identifier="annotation_object_foreach"
334               doc="Test taking a call-scoped callback">
335         <return-value transfer-ownership="none">
336           <type name="none" c:type="void"/>
337         </return-value>
338         <parameters>
339           <parameter name="func"
340                      transfer-ownership="none"
341                      scope="call"
342                      closure="2"
343                      doc="Callback to invoke">
344             <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
345           </parameter>
346           <parameter name="user_data" transfer-ownership="none">
347             <type name="any" c:type="gpointer"/>
348           </parameter>
349         </parameters>
350       </method>
351       <method name="set_data"
352               c:identifier="annotation_object_set_data"
353               doc="Test taking a guchar * with a length.">
354         <return-value transfer-ownership="none">
355           <type name="none" c:type="void"/>
356         </return-value>
357         <parameters>
358           <parameter name="data" transfer-ownership="none" doc="The data">
359             <array length="2" c:type="guchar*">
360               <type name="uint8"/>
361             </array>
362           </parameter>
363           <parameter name="length" transfer-ownership="none">
364             <type name="size_t" c:type="gsize"/>
365           </parameter>
366         </parameters>
367       </method>
368       <method name="set_data2"
369               c:identifier="annotation_object_set_data2"
370               doc="Test taking a gchar * with a length.">
371         <return-value transfer-ownership="none">
372           <type name="none" c:type="void"/>
373         </return-value>
374         <parameters>
375           <parameter name="data" transfer-ownership="none" doc="The data">
376             <array length="2" c:type="gchar*">
377               <type name="int8"/>
378             </array>
379           </parameter>
380           <parameter name="length" transfer-ownership="none">
381             <type name="size_t" c:type="gsize"/>
382           </parameter>
383         </parameters>
384       </method>
385       <method name="set_data3"
386               c:identifier="annotation_object_set_data3"
387               doc="Test taking a gchar * with a length, overriding the array element
388 type.">
389         <return-value transfer-ownership="none">
390           <type name="none" c:type="void"/>
391         </return-value>
392         <parameters>
393           <parameter name="data" transfer-ownership="none" doc="The data">
394             <array length="2" c:type="gpointer">
395               <type name="uint8"/>
396             </array>
397           </parameter>
398           <parameter name="length" transfer-ownership="none">
399             <type name="size_t" c:type="gsize"/>
400           </parameter>
401         </parameters>
402       </method>
403       <method name="do_not_use"
404               c:identifier="annotation_object_do_not_use"
405               deprecated="Use annotation_object_create_object() instead."
406               deprecated-version="0.12">
407         <return-value transfer-ownership="full">
408           <type name="GObject.Object" c:type="GObject*"/>
409         </return-value>
410       </method>
411       <property name="string-property"
412                 version="1.0"
413                 deprecated="Use better-string-property instead"
414                 deprecated-version="1.2"
415                 writable="1"
416                 construct="1"
417                 doc="This is a property which is a string">
418         <type name="utf8" c:type="gchararray"/>
419       </property>
420       <field name="parent_instance">
421         <type name="GObject.Object" c:type="GObject"/>
422       </field>
423       <glib:signal name="string-signal"
424                    doc="This is a signal which has a broken signal handler,
425 it says it&apos;s pointer but it&apos;s actually a string."
426                    version="1.0"
427                    deprecated="Use other-signal instead"
428                    deprecated-version="1.2">
429         <return-value transfer-ownership="full">
430           <type name="none" c:type="void"/>
431         </return-value>
432         <parameters>
433           <parameter name="string" transfer-ownership="none" doc="a string">
434             <type name="utf8" c:type="gpointer"/>
435           </parameter>
436         </parameters>
437       </glib:signal>
438       <glib:signal name="list-signal"
439                    doc="This is a signal which takes a list of strings, but it&apos;s not
440 known by GObject as it&apos;s only marked as G_TYPE_POINTER">
441         <return-value transfer-ownership="full">
442           <type name="none" c:type="void"/>
443         </return-value>
444         <parameters>
445           <parameter name="list"
446                      transfer-ownership="container"
447                      doc="a list of strings">
448             <type name="GLib.List" c:type="gpointer">
449               <type name="utf8"/>
450             </type>
451           </parameter>
452         </parameters>
453       </glib:signal>
454     </class>
455     <record name="ObjectClass" c:type="AnnotationObjectClass">
456       <field name="parent_class">
457         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
458       </field>
459     </record>
460     <callback name="ForeachFunc" c:type="AnnotationForeachFunc">
461       <return-value transfer-ownership="none">
462         <type name="none" c:type="void"/>
463       </return-value>
464       <parameters>
465         <parameter name="object" transfer-ownership="none">
466           <type name="Object" c:type="AnnotationObject*"/>
467         </parameter>
468         <parameter name="item" transfer-ownership="none">
469           <type name="utf8" c:type="char*"/>
470         </parameter>
471         <parameter name="user_data" transfer-ownership="none">
472           <type name="any" c:type="gpointer"/>
473         </parameter>
474       </parameters>
475     </callback>
476     <function name="init" c:identifier="annotation_init">
477       <return-value transfer-ownership="none">
478         <type name="none" c:type="void"/>
479       </return-value>
480       <parameters>
481         <parameter name="argc"
482                    direction="inout"
483                    transfer-ownership="full"
484                    doc="The number of args.">
485           <type name="int" c:type="int*"/>
486         </parameter>
487         <parameter name="argv"
488                    direction="inout"
489                    transfer-ownership="none"
490                    doc="The arguments.">
491           <array length="0" c:type="char***">
492             <type name="utf8"/>
493           </array>
494         </parameter>
495       </parameters>
496     </function>
497     <function name="return_array" c:identifier="annotation_return_array">
498       <return-value transfer-ownership="none" doc="The return value">
499         <array length="0" c:type="char**">
500           <type name="utf8"/>
501         </array>
502       </return-value>
503       <parameters>
504         <parameter name="length"
505                    direction="out"
506                    transfer-ownership="full"
507                    doc="Number of return values">
508           <type name="int" c:type="int*"/>
509         </parameter>
510       </parameters>
511     </function>
512     <function name="versioned"
513               c:identifier="annotation_versioned"
514               version="0.6">
515       <return-value transfer-ownership="none">
516         <type name="none" c:type="void"/>
517       </return-value>
518     </function>
519     <function name="string_zero_terminated"
520               c:identifier="annotation_string_zero_terminated">
521       <return-value transfer-ownership="none" doc="The return value">
522         <array c:type="char**">
523           <type name="utf8"/>
524         </array>
525       </return-value>
526     </function>
527     <function name="string_zero_terminated_out"
528               c:identifier="annotation_string_zero_terminated_out">
529       <return-value transfer-ownership="none">
530         <type name="none" c:type="void"/>
531       </return-value>
532       <parameters>
533         <parameter name="out" direction="inout" transfer-ownership="none">
534           <array c:type="char***">
535             <type name="utf8"/>
536           </array>
537         </parameter>
538       </parameters>
539     </function>
540     <record name="Struct"
541             c:type="AnnotationStruct"
542             doc="This is a test of an array of object in an field of a struct.">
543       <field name="objects" writable="1">
544         <array zero-terminated="0" c:type="AnnotationObject*" fixed-size="10">
545           <type name="Object"/>
546         </array>
547       </field>
548     </record>
549   </namespace>
550 </repository>