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="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*"/>
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*">
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"/>
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"/>
81 <parameter name="outarg"
83 transfer-ownership="full"
84 doc="This is an argument test">
85 <type name="int" c:type="int*"/>
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*"/>
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*"/>
101 <parameter name="somearg" transfer-ownership="none" allow-none="1">
102 <type name="utf8" c:type="gchar*"/>
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*"/>
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"/>
119 <parameter name="inoutarg"
121 transfer-ownership="full"
122 doc="This is an argument test">
123 <type name="int" c:type="int*"/>
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"/>
134 <parameter name="inoutarg"
136 transfer-ownership="full"
137 doc="This is an argument test">
138 <type name="int" c:type="int*"/>
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"/>
149 <parameter name="inoutarg"
151 transfer-ownership="full"
153 doc="This is an argument test">
154 <type name="int" c:type="int*"/>
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"/>
165 <parameter name="inarg"
166 transfer-ownership="none"
167 doc="This is an argument test">
168 <type name="int" c:type="int*"/>
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"/>
179 <parameter name="toown"
181 transfer-ownership="full"
183 <type name="GObject.Object" c:type="GObject**"/>
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"/>
194 <parameter name="toown1"
196 transfer-ownership="full"
198 <type name="GObject.Object" c:type="GObject**"/>
200 <parameter name="toown2"
202 transfer-ownership="none"
204 <type name="GObject.Object" c:type="GObject**"/>
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*">
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
222 <return-value transfer-ownership="full" doc="hash table">
223 <type name="GLib.HashTable" c:type="GHashTable*">
225 <type name="GObject.Object"/>
229 <method name="with_voidp" c:identifier="annotation_object_with_voidp">
230 <return-value transfer-ownership="none">
231 <type name="none" c:type="void"/>
234 <parameter name="data" transfer-ownership="none">
235 <type name="any" c:type="void*"/>
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"/>
250 <method name="use_buffer" c:identifier="annotation_object_use_buffer">
251 <return-value transfer-ownership="none">
252 <type name="none" c:type="void"/>
255 <parameter name="bytes" transfer-ownership="none">
256 <array c:type="guchar*">
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"/>
269 <parameter name="nums"
270 transfer-ownership="none"
271 doc="Sequence of numbers">
272 <array c:type="int*">
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"/>
285 <parameter name="nums"
286 transfer-ownership="none"
287 doc="Sequence of numbers">
288 <array zero-terminated="0" length="2" c:type="int*">
292 <parameter name="n_nums" transfer-ownership="none">
293 <type name="int" c:type="int"/>
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"/>
304 <parameter name="nums"
305 transfer-ownership="none"
306 doc="Sequence of numbers">
307 <array length="2" c:type="int*">
311 <parameter name="n_nums" transfer-ownership="none">
312 <type name="int" c:type="int"/>
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"/>
323 <parameter name="argc"
325 transfer-ownership="full"
326 doc="Length of the argument vector">
327 <type name="int" c:type="int*"/>
329 <parameter name="argv"
331 transfer-ownership="none"
332 doc="Argument vector">
333 <array length="1" c:type="char***">
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"/>
346 <parameter name="str_out"
348 transfer-ownership="full"
349 doc="string return value">
350 <type name="utf8" c:type="char**"/>
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"/>
361 <parameter name="func"
362 transfer-ownership="none"
365 doc="Callback to invoke">
366 <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
368 <parameter name="user_data" transfer-ownership="none">
369 <type name="any" c:type="gpointer"/>
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"/>
380 <parameter name="data" transfer-ownership="none" doc="The data">
381 <array length="2" c:type="guchar*">
385 <parameter name="length" transfer-ownership="none">
386 <type name="size_t" c:type="gsize"/>
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"/>
397 <parameter name="data" transfer-ownership="none" doc="The data">
398 <array length="2" c:type="gchar*">
402 <parameter name="length" transfer-ownership="none">
403 <type name="size_t" c:type="gsize"/>
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
411 <return-value transfer-ownership="none">
412 <type name="none" c:type="void"/>
415 <parameter name="data" transfer-ownership="none" doc="The data">
416 <array length="2" c:type="gpointer">
420 <parameter name="length" transfer-ownership="none">
421 <type name="size_t" c:type="gsize"/>
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*"/>
433 <method name="extra_annos" c:identifier="annotation_object_extra_annos">
434 <attribute name="org.foobar" value="testvalue"/>
435 <return-value transfer-ownership="none">
436 <type name="none" c:type="void"/>
439 <property name="string-property"
441 deprecated="Use better-string-property instead"
442 deprecated-version="1.2"
445 doc="This is a property which is a string">
446 <type name="utf8" c:type="gchararray"/>
448 <field name="parent_instance">
449 <type name="GObject.Object" c:type="GObject"/>
451 <glib:signal name="string-signal"
452 doc="This is a signal which has a broken signal handler,
453 it says it's pointer but it's actually a string."
455 deprecated="Use other-signal instead"
456 deprecated-version="1.2">
457 <return-value transfer-ownership="full">
458 <type name="none" c:type="void"/>
461 <parameter name="string" transfer-ownership="none" doc="a string">
462 <type name="utf8" c:type="gpointer"/>
466 <glib:signal name="list-signal"
467 doc="This is a signal which takes a list of strings, but it's not
468 known by GObject as it's only marked as G_TYPE_POINTER">
469 <return-value transfer-ownership="full">
470 <type name="none" c:type="void"/>
473 <parameter name="list"
474 transfer-ownership="container"
475 doc="a list of strings">
476 <type name="GLib.List" c:type="gpointer">
483 <record name="ObjectClass"
484 c:type="AnnotationObjectClass"
485 glib:is-gtype-struct-for="Object">
486 <field name="parent_class">
487 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
490 <record name="Struct"
491 c:type="AnnotationStruct"
492 doc="This is a test of an array of object in an field of a struct.">
493 <field name="objects" writable="1">
494 <array zero-terminated="0" c:type="AnnotationObject*" fixed-size="10">
495 <type name="Object"/>
499 <function name="get_source_file" c:identifier="annotation_get_source_file">
500 <return-value transfer-ownership="full" doc="Source file">
501 <type name="filename" c:type="char*"/>
504 <function name="init" c:identifier="annotation_init">
505 <return-value transfer-ownership="none">
506 <type name="none" c:type="void"/>
509 <parameter name="argc"
511 transfer-ownership="full"
512 doc="The number of args.">
513 <type name="int" c:type="int*"/>
515 <parameter name="argv"
517 transfer-ownership="none"
518 doc="The arguments.">
519 <array length="0" c:type="char***">
525 <function name="return_array" c:identifier="annotation_return_array">
526 <return-value transfer-ownership="none" doc="The return value">
527 <array length="0" c:type="char**">
532 <parameter name="length"
534 transfer-ownership="full"
535 doc="Number of return values">
536 <type name="int" c:type="int*"/>
540 <function name="set_source_file" c:identifier="annotation_set_source_file">
541 <return-value transfer-ownership="none">
542 <type name="none" c:type="void"/>
545 <parameter name="fname" transfer-ownership="none" doc="Source file">
546 <type name="filename" c:type="char*"/>
550 <function name="string_zero_terminated"
551 c:identifier="annotation_string_zero_terminated">
552 <return-value transfer-ownership="none" doc="The return value">
553 <array c:type="char**">
558 <function name="string_zero_terminated_out"
559 c:identifier="annotation_string_zero_terminated_out">
560 <return-value transfer-ownership="none">
561 <type name="none" c:type="void"/>
564 <parameter name="out" direction="inout" transfer-ownership="none">
565 <array c:type="char***">
571 <function name="versioned"
572 c:identifier="annotation_versioned"
574 <return-value transfer-ownership="none">
575 <type name="none" c:type="void"/>