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"
15 shared-library="libannotation.so"
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*"/>
24 <parameter name="in" transfer-ownership="none" doc="array of ints">
25 <type name="int" c:type="gint*"/>
29 <callback name="ForeachFunc" c:type="AnnotationForeachFunc">
30 <return-value transfer-ownership="none">
31 <type name="none" c:type="void"/>
34 <parameter name="object" transfer-ownership="none">
35 <type name="Object" c:type="AnnotationObject*"/>
37 <parameter name="item" transfer-ownership="none">
38 <type name="utf8" c:type="char*"/>
40 <parameter name="user_data" transfer-ownership="none" closure="2">
41 <type name="any" c:type="gpointer"/>
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*">
54 <parameter name="in" transfer-ownership="none" doc="list of strings">
55 <type name="GLib.List" c:type="GList*">
61 <callback name="NotifyFunc"
62 c:type="AnnotationNotifyFunc"
63 doc="This is a callback with a 'closure' argument that is not named
64 'user_data' and hence has to be annotated.">
65 <return-value transfer-ownership="none">
66 <type name="none" c:type="void"/>
69 <parameter name="data"
70 transfer-ownership="none"
73 <type name="any" c:type="gpointer"/>
78 c:type="AnnotationObject"
79 doc="This is an object used to test annotations."
80 parent="GObject.Object"
81 glib:type-name="AnnotationObject"
82 glib:get-type="annotation_object_get_type"
83 glib:type-struct="ObjectClass">
84 <attribute name="org.example.Test" value="cows"/>
85 <method name="method" c:identifier="annotation_object_method">
86 <return-value transfer-ownership="none">
87 <type name="int" c:type="gint"/>
91 c:identifier="annotation_object_out"
92 doc="This is a test for out arguments">
93 <return-value transfer-ownership="none">
94 <type name="int" c:type="gint"/>
97 <parameter name="outarg"
99 transfer-ownership="full"
100 doc="This is an argument test">
101 <type name="int" c:type="int*"/>
105 <method name="create_object"
106 c:identifier="annotation_object_create_object"
107 doc="Test returning a caller-owned object">
108 <return-value transfer-ownership="full" doc="The object">
109 <type name="GObject.Object" c:type="GObject*"/>
112 <method name="allow_none" c:identifier="annotation_object_allow_none">
113 <return-value transfer-ownership="full">
114 <type name="GObject.Object" c:type="GObject*"/>
117 <parameter name="somearg" transfer-ownership="none" allow-none="1">
118 <type name="utf8" c:type="gchar*"/>
122 <method name="notrans" c:identifier="annotation_object_notrans">
123 <return-value transfer-ownership="none"
124 doc="An object, not referenced">
125 <type name="GObject.Object" c:type="GObject*"/>
129 c:identifier="annotation_object_inout"
130 doc="This is a test for out arguments">
131 <return-value transfer-ownership="none">
132 <type name="int" c:type="gint"/>
135 <parameter name="inoutarg"
137 transfer-ownership="full"
138 doc="This is an argument test">
139 <type name="int" c:type="int*"/>
143 <method name="inout2"
144 c:identifier="annotation_object_inout2"
145 doc="This is a second test for out arguments">
146 <return-value transfer-ownership="none">
147 <type name="int" c:type="gint"/>
150 <parameter name="inoutarg"
152 transfer-ownership="full"
153 doc="This is an argument test">
154 <type name="int" c:type="int*"/>
158 <method name="inout3"
159 c:identifier="annotation_object_inout3"
160 doc="This is a 3th test for out arguments">
161 <return-value transfer-ownership="none">
162 <type name="int" c:type="gint"/>
165 <parameter name="inoutarg"
167 transfer-ownership="full"
169 doc="This is an argument test">
170 <type name="int" c:type="int*"/>
175 c:identifier="annotation_object_in"
176 doc="This is a test for in arguments">
177 <return-value transfer-ownership="none">
178 <type name="int" c:type="gint"/>
181 <parameter name="inarg"
182 transfer-ownership="none"
183 doc="This is an argument test">
184 <type name="int" c:type="int*"/>
188 <method name="calleeowns"
189 c:identifier="annotation_object_calleeowns"
190 doc="This is a test for out arguments; GObject defaults to transfer">
191 <return-value transfer-ownership="none">
192 <type name="int" c:type="gint"/>
195 <parameter name="toown"
197 transfer-ownership="full"
199 <type name="GObject.Object" c:type="GObject**"/>
203 <method name="calleesowns"
204 c:identifier="annotation_object_calleesowns"
205 doc="This is a test for out arguments, one transferred, other not">
206 <return-value transfer-ownership="none">
207 <type name="int" c:type="gint"/>
210 <parameter name="toown1"
212 transfer-ownership="full"
214 <type name="GObject.Object" c:type="GObject**"/>
216 <parameter name="toown2"
218 transfer-ownership="none"
220 <type name="GObject.Object" c:type="GObject**"/>
224 <method name="get_strings"
225 c:identifier="annotation_object_get_strings"
226 doc="This is a test for returning a list of strings, where
227 each string needs to be freed.">
228 <return-value transfer-ownership="full" doc="list of strings">
229 <type name="GLib.List" c:type="GList*">
234 <method name="get_hash"
235 c:identifier="annotation_object_get_hash"
236 doc="This is a test for returning a hash table mapping strings to
238 <return-value transfer-ownership="full" doc="hash table">
239 <type name="GLib.HashTable" c:type="GHashTable*">
241 <type name="GObject.Object"/>
245 <method name="with_voidp" c:identifier="annotation_object_with_voidp">
246 <return-value transfer-ownership="none">
247 <type name="none" c:type="void"/>
250 <parameter name="data" transfer-ownership="none">
251 <type name="any" c:type="void*"/>
255 <method name="get_objects"
256 c:identifier="annotation_object_get_objects"
257 doc="This is a test for returning a list of objects.
258 The list itself should be freed, but not the internal objects,
259 intentionally similar example to gtk_container_get_children">
260 <return-value transfer-ownership="container" doc="list of objects">
261 <type name="GLib.SList" c:type="GSList*">
262 <type name="Object"/>
266 <method name="use_buffer" c:identifier="annotation_object_use_buffer">
267 <return-value transfer-ownership="none">
268 <type name="none" c:type="void"/>
271 <parameter name="bytes" transfer-ownership="none">
272 <array c:type="guchar*">
278 <method name="compute_sum"
279 c:identifier="annotation_object_compute_sum"
280 doc="Test taking a zero-terminated array">
281 <return-value transfer-ownership="none">
282 <type name="none" c:type="void"/>
285 <parameter name="nums"
286 transfer-ownership="none"
287 doc="Sequence of numbers">
288 <array c:type="int*">
294 <method name="compute_sum_n"
295 c:identifier="annotation_object_compute_sum_n"
296 doc="Test taking an array with length parameter">
297 <return-value transfer-ownership="none">
298 <type name="none" c:type="void"/>
301 <parameter name="nums"
302 transfer-ownership="none"
303 doc="Sequence of numbers">
304 <array zero-terminated="0" length="2" c:type="int*">
308 <parameter name="n_nums" transfer-ownership="none">
309 <type name="int" c:type="int"/>
313 <method name="compute_sum_nz"
314 c:identifier="annotation_object_compute_sum_nz"
315 doc="Test taking a zero-terminated array with length parameter">
316 <return-value transfer-ownership="none">
317 <type name="none" c:type="void"/>
320 <parameter name="nums"
321 transfer-ownership="none"
322 doc="Sequence of numbers">
323 <array length="2" c:type="int*">
327 <parameter name="n_nums" transfer-ownership="none">
328 <type name="int" c:type="int"/>
332 <method name="parse_args"
333 c:identifier="annotation_object_parse_args"
334 doc="Test taking a zero-terminated array with length parameter">
335 <return-value transfer-ownership="none">
336 <type name="none" c:type="void"/>
339 <parameter name="argc"
341 transfer-ownership="full"
342 doc="Length of the argument vector">
343 <type name="int" c:type="int*"/>
345 <parameter name="argv"
347 transfer-ownership="full"
348 doc="Argument vector">
349 <array length="1" c:type="char***">
355 <method name="string_out"
356 c:identifier="annotation_object_string_out"
357 doc="Test returning a string as an out parameter">
358 <return-value transfer-ownership="none">
359 <type name="boolean" c:type="gboolean"/>
362 <parameter name="str_out"
364 transfer-ownership="full"
365 doc="string return value">
366 <type name="utf8" c:type="char**"/>
370 <method name="foreach"
371 c:identifier="annotation_object_foreach"
372 doc="Test taking a call-scoped callback">
373 <return-value transfer-ownership="none">
374 <type name="none" c:type="void"/>
377 <parameter name="func"
378 transfer-ownership="none"
381 doc="Callback to invoke">
382 <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
384 <parameter name="user_data" transfer-ownership="none">
385 <type name="any" c:type="gpointer"/>
389 <method name="set_data"
390 c:identifier="annotation_object_set_data"
391 doc="Test taking a guchar * with a length.">
392 <return-value transfer-ownership="none">
393 <type name="none" c:type="void"/>
396 <parameter name="data" transfer-ownership="none" doc="The data">
397 <array length="2" c:type="guchar*">
401 <parameter name="length" transfer-ownership="none">
402 <type name="size_t" c:type="gsize"/>
406 <method name="set_data2"
407 c:identifier="annotation_object_set_data2"
408 doc="Test taking a gchar * with a length.">
409 <return-value transfer-ownership="none">
410 <type name="none" c:type="void"/>
413 <parameter name="data" transfer-ownership="none" doc="The data">
414 <array length="2" c:type="gchar*">
418 <parameter name="length" transfer-ownership="none">
419 <type name="size_t" c:type="gsize"/>
423 <method name="set_data3"
424 c:identifier="annotation_object_set_data3"
425 doc="Test taking a gchar * with a length, overriding the array element
427 <return-value transfer-ownership="none">
428 <type name="none" c:type="void"/>
431 <parameter name="data" transfer-ownership="none" doc="The data">
432 <array length="2" c:type="gpointer">
436 <parameter name="length" transfer-ownership="none">
437 <type name="size_t" c:type="gsize"/>
441 <method name="do_not_use"
442 c:identifier="annotation_object_do_not_use"
443 deprecated="Use annotation_object_create_object() instead."
444 deprecated-version="0.12">
445 <return-value transfer-ownership="full">
446 <type name="GObject.Object" c:type="GObject*"/>
450 c:identifier="annotation_object_watch_full"
451 doc="Test overriding via the "Rename To" annotation.">
452 <return-value transfer-ownership="none">
453 <type name="none" c:type="void"/>
456 <parameter name="func"
457 transfer-ownership="none"
461 <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
463 <parameter name="user_data" transfer-ownership="none">
464 <type name="any" c:type="gpointer"/>
466 <parameter name="destroy" transfer-ownership="none" scope="call">
467 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
471 <method name="extra_annos" c:identifier="annotation_object_extra_annos">
472 <attribute name="org.foobar" value="testvalue"/>
473 <return-value transfer-ownership="none">
474 <type name="none" c:type="void"/>
477 <property name="string-property"
479 deprecated="Use better-string-property instead"
480 deprecated-version="1.2"
483 doc="This is a property which is a string">
484 <type name="utf8" c:type="gchararray"/>
486 <field name="parent_instance">
487 <type name="GObject.Object" c:type="GObject"/>
489 <glib:signal name="doc-empty-arg-parsing"
490 doc="This signal tests an empty document argument (@arg1)">
491 <return-value transfer-ownership="full">
492 <type name="none" c:type="void"/>
495 <parameter name="arg1" transfer-ownership="none">
496 <type name="any" c:type="gpointer"/>
500 <glib:signal name="list-signal"
501 doc="This is a signal which takes a list of strings, but it's not
502 known by GObject as it's only marked as G_TYPE_POINTER">
503 <return-value transfer-ownership="full">
504 <type name="none" c:type="void"/>
507 <parameter name="list"
508 transfer-ownership="container"
509 doc="a list of strings">
510 <type name="GLib.List" c:type="gpointer">
516 <glib:signal name="string-signal"
517 doc="This is a signal which has a broken signal handler,
518 it says it's pointer but it's actually a string."
520 deprecated="Use other-signal instead"
521 deprecated-version="1.2">
522 <return-value transfer-ownership="full">
523 <type name="none" c:type="void"/>
526 <parameter name="string" transfer-ownership="none" doc="a string">
527 <type name="utf8" c:type="gpointer"/>
532 <record name="ObjectClass"
533 c:type="AnnotationObjectClass"
534 glib:is-gtype-struct-for="Object">
535 <field name="parent_class">
536 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
539 <record name="Struct"
540 c:type="AnnotationStruct"
541 doc="This is a test of an array of object in an field of a struct.">
542 <field name="objects" writable="1">
543 <array zero-terminated="0" c:type="AnnotationObject*" fixed-size="10">
544 <type name="Object"/>
548 <function name="custom_destroy"
549 c:identifier="annotation_custom_destroy"
550 doc="Test messing up the heuristic of closure/destroy-notification
551 detection, and fixing it via annotations.">
552 <return-value transfer-ownership="none">
553 <type name="none" c:type="void"/>
556 <parameter name="callback"
557 transfer-ownership="none"
561 doc="Destroy notification">
562 <type name="Callback" c:type="AnnotationCallback"/>
564 <parameter name="destroy" transfer-ownership="none" scope="call">
565 <type name="NotifyFunc" c:type="AnnotationNotifyFunc"/>
567 <parameter name="data" transfer-ownership="none">
568 <type name="any" c:type="gpointer"/>
572 <function name="get_source_file" c:identifier="annotation_get_source_file">
573 <return-value transfer-ownership="full" doc="Source file">
574 <type name="filename" c:type="char*"/>
577 <function name="init" c:identifier="annotation_init">
578 <return-value transfer-ownership="none">
579 <type name="none" c:type="void"/>
582 <parameter name="argc"
584 transfer-ownership="full"
585 doc="The number of args.">
586 <type name="int" c:type="int*"/>
588 <parameter name="argv"
590 transfer-ownership="full"
591 doc="The arguments.">
592 <array length="0" c:type="char***">
598 <function name="return_array" c:identifier="annotation_return_array">
599 <return-value transfer-ownership="full" doc="The return value">
600 <array length="0" c:type="char**">
605 <parameter name="length"
607 transfer-ownership="full"
608 doc="Number of return values">
609 <type name="int" c:type="int*"/>
613 <function name="set_source_file" c:identifier="annotation_set_source_file">
614 <return-value transfer-ownership="none">
615 <type name="none" c:type="void"/>
618 <parameter name="fname" transfer-ownership="none" doc="Source file">
619 <type name="filename" c:type="char*"/>
623 <function name="string_array_length"
624 c:identifier="annotation_string_array_length">
625 <return-value transfer-ownership="none">
626 <type name="none" c:type="void"/>
629 <parameter name="n_properties" transfer-ownership="none">
630 <type name="uint" c:type="guint"/>
632 <parameter name="properties" transfer-ownership="none">
633 <array length="0" c:type="gchar*">
639 <function name="string_zero_terminated"
640 c:identifier="annotation_string_zero_terminated">
641 <return-value transfer-ownership="full" doc="The return value">
642 <array c:type="char**">
647 <function name="string_zero_terminated_out"
648 c:identifier="annotation_string_zero_terminated_out">
649 <return-value transfer-ownership="none">
650 <type name="none" c:type="void"/>
653 <parameter name="out" direction="inout" transfer-ownership="full">
654 <array c:type="char***">
660 <function name="versioned"
661 c:identifier="annotation_versioned"
663 <return-value transfer-ownership="none">
664 <type name="none" c:type="void"/>