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