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"
100
transfer-ownership="full"
101
doc="This is an argument test">
102
<type name="int" c:type="int*"/>
106
<method name="create_object"
107
c:identifier="annotation_object_create_object"
108
doc="Test returning a caller-owned object">
109
<return-value transfer-ownership="full" doc="The object">
110
<type name="GObject.Object" c:type="GObject*"/>
113
<method name="allow_none" c:identifier="annotation_object_allow_none">
114
<return-value transfer-ownership="full">
115
<type name="GObject.Object" c:type="GObject*"/>
118
<parameter name="somearg" transfer-ownership="none" allow-none="1">
119
<type name="utf8" c:type="gchar*"/>
123
<method name="notrans" c:identifier="annotation_object_notrans">
124
<return-value transfer-ownership="none"
125
doc="An object, not referenced">
126
<type name="GObject.Object" c:type="GObject*"/>
130
c:identifier="annotation_object_inout"
131
doc="This is a test for out arguments">
132
<return-value transfer-ownership="none">
133
<type name="int" c:type="gint"/>
136
<parameter name="inoutarg"
139
transfer-ownership="full"
140
doc="This is an argument test">
141
<type name="int" c:type="int*"/>
145
<method name="inout2"
146
c:identifier="annotation_object_inout2"
147
doc="This is a second test for out arguments">
148
<return-value transfer-ownership="none">
149
<type name="int" c:type="gint"/>
152
<parameter name="inoutarg"
155
transfer-ownership="full"
156
doc="This is an argument test">
157
<type name="int" c:type="int*"/>
161
<method name="inout3"
162
c:identifier="annotation_object_inout3"
163
doc="This is a 3th test for out arguments">
164
<return-value transfer-ownership="none">
165
<type name="int" c:type="gint"/>
168
<parameter name="inoutarg"
171
transfer-ownership="full"
173
doc="This is an argument test">
174
<type name="int" c:type="int*"/>
179
c:identifier="annotation_object_in"
180
doc="This is a test for in arguments">
181
<return-value transfer-ownership="none">
182
<type name="int" c:type="gint"/>
185
<parameter name="inarg"
186
transfer-ownership="none"
187
doc="This is an argument test">
188
<type name="int" c:type="int*"/>
192
<method name="calleeowns"
193
c:identifier="annotation_object_calleeowns"
194
doc="This is a test for out arguments; GObject defaults to transfer">
195
<return-value transfer-ownership="none">
196
<type name="int" c:type="gint"/>
199
<parameter name="toown"
202
transfer-ownership="full"
204
<type name="GObject.Object" c:type="GObject**"/>
208
<method name="calleesowns"
209
c:identifier="annotation_object_calleesowns"
210
doc="This is a test for out arguments, one transferred, other not">
211
<return-value transfer-ownership="none">
212
<type name="int" c:type="gint"/>
215
<parameter name="toown1"
218
transfer-ownership="full"
220
<type name="GObject.Object" c:type="GObject**"/>
222
<parameter name="toown2"
225
transfer-ownership="none"
227
<type name="GObject.Object" c:type="GObject**"/>
231
<method name="get_strings"
232
c:identifier="annotation_object_get_strings"
233
doc="This is a test for returning a list of strings, where
234
each string needs to be freed.">
235
<return-value transfer-ownership="full" doc="list of strings">
236
<type name="GLib.List" c:type="GList*">
241
<method name="get_hash"
242
c:identifier="annotation_object_get_hash"
243
doc="This is a test for returning a hash table mapping strings to
245
<return-value transfer-ownership="full" doc="hash table">
246
<type name="GLib.HashTable" c:type="GHashTable*">
248
<type name="GObject.Object"/>
252
<method name="with_voidp" c:identifier="annotation_object_with_voidp">
253
<return-value transfer-ownership="none">
254
<type name="none" c:type="void"/>
257
<parameter name="data" transfer-ownership="none">
258
<type name="any" c:type="void*"/>
262
<method name="get_objects"
263
c:identifier="annotation_object_get_objects"
264
doc="This is a test for returning a list of objects.
265
The list itself should be freed, but not the internal objects,
266
intentionally similar example to gtk_container_get_children">
267
<return-value transfer-ownership="container" doc="list of objects">
268
<type name="GLib.SList" c:type="GSList*">
269
<type name="Object"/>
273
<method name="use_buffer" c:identifier="annotation_object_use_buffer">
274
<return-value transfer-ownership="none">
275
<type name="none" c:type="void"/>
278
<parameter name="bytes" transfer-ownership="none">
279
<array c:type="guchar*">
285
<method name="compute_sum"
286
c:identifier="annotation_object_compute_sum"
287
doc="Test taking a zero-terminated array">
288
<return-value transfer-ownership="none">
289
<type name="none" c:type="void"/>
292
<parameter name="nums"
293
transfer-ownership="none"
294
doc="Sequence of numbers">
295
<array c:type="int*">
301
<method name="compute_sum_n"
302
c:identifier="annotation_object_compute_sum_n"
303
doc="Test taking an array with length parameter">
304
<return-value transfer-ownership="none">
305
<type name="none" c:type="void"/>
308
<parameter name="nums"
309
transfer-ownership="none"
310
doc="Sequence of numbers that are zero-terminated">
311
<array zero-terminated="0" length="2" c:type="int*">
315
<parameter name="n_nums" transfer-ownership="none">
316
<type name="int" c:type="int"/>
320
<method name="compute_sum_nz"
321
c:identifier="annotation_object_compute_sum_nz"
322
doc="Test taking a zero-terminated array with length parameter">
323
<return-value transfer-ownership="none">
324
<type name="none" c:type="void"/>
327
<parameter name="nums"
328
transfer-ownership="none"
329
doc="Sequence of numbers that are zero-terminated">
330
<array length="2" c:type="int*">
334
<parameter name="n_nums" transfer-ownership="none">
335
<type name="int" c:type="int"/>
339
<method name="parse_args"
340
c:identifier="annotation_object_parse_args"
341
doc="Test taking a zero-terminated array with length parameter">
342
<return-value transfer-ownership="none">
343
<type name="none" c:type="void"/>
346
<parameter name="argc"
349
transfer-ownership="full"
350
doc="Length of the argument vector">
351
<type name="int" c:type="int*"/>
353
<parameter name="argv"
356
transfer-ownership="full"
357
doc="Argument vector">
358
<array length="1" c:type="char***">
364
<method name="string_out"
365
c:identifier="annotation_object_string_out"
366
doc="Test returning a string as an out parameter">
367
<return-value transfer-ownership="none">
368
<type name="boolean" c:type="gboolean"/>
371
<parameter name="str_out"
374
transfer-ownership="full"
375
doc="string return value">
376
<type name="utf8" c:type="char**"/>
380
<method name="foreach"
381
c:identifier="annotation_object_foreach"
382
doc="Test taking a call-scoped callback">
383
<return-value transfer-ownership="none">
384
<type name="none" c:type="void"/>
387
<parameter name="func"
388
transfer-ownership="none"
391
doc="Callback to invoke">
392
<type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
394
<parameter name="user_data" transfer-ownership="none">
395
<type name="any" c:type="gpointer"/>
399
<method name="set_data"
400
c:identifier="annotation_object_set_data"
401
doc="Test taking a guchar * with a length.">
402
<return-value transfer-ownership="none">
403
<type name="none" c:type="void"/>
406
<parameter name="data" transfer-ownership="none" doc="The data">
407
<array length="2" c:type="guchar*">
411
<parameter name="length" transfer-ownership="none">
412
<type name="size_t" c:type="gsize"/>
416
<method name="set_data2"
417
c:identifier="annotation_object_set_data2"
418
doc="Test taking a gchar * with a length.">
419
<return-value transfer-ownership="none">
420
<type name="none" c:type="void"/>
423
<parameter name="data" transfer-ownership="none" doc="The data">
424
<array length="2" c:type="gchar*">
428
<parameter name="length" transfer-ownership="none">
429
<type name="size_t" c:type="gsize"/>
433
<method name="set_data3"
434
c:identifier="annotation_object_set_data3"
435
doc="Test taking a gchar * with a length, overriding the array element
437
<return-value transfer-ownership="none">
438
<type name="none" c:type="void"/>
441
<parameter name="data" transfer-ownership="none" doc="The data">
442
<array length="2" c:type="gpointer">
446
<parameter name="length" transfer-ownership="none">
447
<type name="size_t" c:type="gsize"/>
451
<method name="do_not_use"
452
c:identifier="annotation_object_do_not_use"
453
deprecated="Use annotation_object_create_object() instead."
454
deprecated-version="0.12">
455
<return-value transfer-ownership="full">
456
<type name="GObject.Object" c:type="GObject*"/>
460
c:identifier="annotation_object_watch_full"
461
doc="Test overriding via the "Rename To" annotation.">
462
<return-value transfer-ownership="none">
463
<type name="none" c:type="void"/>
466
<parameter name="func"
467
transfer-ownership="none"
471
<type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
473
<parameter name="user_data" transfer-ownership="none">
474
<type name="any" c:type="gpointer"/>
476
<parameter name="destroy" transfer-ownership="none" scope="call">
477
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
481
<method name="extra_annos" c:identifier="annotation_object_extra_annos">
482
<attribute name="org.foobar" value="testvalue"/>
483
<return-value transfer-ownership="none">
484
<type name="none" c:type="void"/>
487
<property name="function-property" writable="1" construct="1">
488
<type name="Callback" c:type="gpointer"/>
490
<property name="string-property"
492
deprecated="Use better-string-property instead"
493
deprecated-version="1.2"
496
doc="This is a property which is a string">
497
<type name="utf8" c:type="gchararray"/>
499
<field name="parent_instance">
500
<type name="GObject.Object" c:type="GObject"/>
502
<glib:signal name="doc-empty-arg-parsing"
503
doc="This signal tests an empty document argument (@arg1)">
504
<return-value transfer-ownership="full">
505
<type name="none" c:type="void"/>
508
<parameter name="arg1" transfer-ownership="none">
509
<type name="any" c:type="gpointer"/>
513
<glib:signal name="list-signal"
514
doc="This is a signal which takes a list of strings, but it's not
515
known by GObject as it's only marked as G_TYPE_POINTER">
516
<return-value transfer-ownership="full">
517
<type name="none" c:type="void"/>
520
<parameter name="list"
521
transfer-ownership="container"
522
doc="a list of strings">
523
<type name="GLib.List" c:type="gpointer">
529
<glib:signal name="string-signal"
530
doc="This is a signal which has a broken signal handler,
531
it says it's pointer but it's actually a string."
533
deprecated="Use other-signal instead"
534
deprecated-version="1.2">
535
<return-value transfer-ownership="full">
536
<type name="none" c:type="void"/>
539
<parameter name="string" transfer-ownership="none" doc="a string">
540
<type name="utf8" c:type="gpointer"/>
545
<record name="ObjectClass"
546
c:type="AnnotationObjectClass"
547
glib:is-gtype-struct-for="Object">
548
<field name="parent_class">
549
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
552
<record name="Struct"
553
c:type="AnnotationStruct"
554
doc="This is a test of an array of object in an field of a struct.">
555
<field name="objects" writable="1">
556
<array zero-terminated="0" c:type="AnnotationObject*" fixed-size="10">
557
<type name="Object"/>
561
<function name="custom_destroy"
562
c:identifier="annotation_custom_destroy"
563
doc="Test messing up the heuristic of closure/destroy-notification
564
detection, and fixing it via annotations.">
565
<return-value transfer-ownership="none">
566
<type name="none" c:type="void"/>
569
<parameter name="callback"
570
transfer-ownership="none"
574
doc="Destroy notification">
575
<type name="Callback" c:type="AnnotationCallback"/>
577
<parameter name="destroy" transfer-ownership="none" scope="call">
578
<type name="NotifyFunc" c:type="AnnotationNotifyFunc"/>
580
<parameter name="data" transfer-ownership="none">
581
<type name="any" c:type="gpointer"/>
585
<function name="get_source_file" c:identifier="annotation_get_source_file">
586
<return-value transfer-ownership="full" doc="Source file">
587
<type name="filename" c:type="char*"/>
590
<function name="init" c:identifier="annotation_init">
591
<return-value transfer-ownership="none">
592
<type name="none" c:type="void"/>
595
<parameter name="argc"
598
transfer-ownership="full"
599
doc="The number of args.">
600
<type name="int" c:type="int*"/>
602
<parameter name="argv"
605
transfer-ownership="full"
606
doc="The arguments.">
607
<array length="0" c:type="char***">
613
<function name="ptr_array" c:identifier="annotation_ptr_array">
614
<return-value transfer-ownership="none">
615
<type name="none" c:type="void"/>
618
<parameter name="array" transfer-ownership="none" doc="the array">
619
<array name="GLib.PtrArray" c:type="GPtrArray*">
620
<type name="GLib.Value"/>
625
<function name="return_array" c:identifier="annotation_return_array">
626
<return-value transfer-ownership="full" doc="The return value">
627
<array length="0" c:type="char**">
632
<parameter name="length"
635
transfer-ownership="full"
636
doc="Number of return values">
637
<type name="int" c:type="int*"/>
641
<function name="set_source_file" c:identifier="annotation_set_source_file">
642
<return-value transfer-ownership="none">
643
<type name="none" c:type="void"/>
646
<parameter name="fname" transfer-ownership="none" doc="Source file">
647
<type name="filename" c:type="char*"/>
651
<function name="string_array_length"
652
c:identifier="annotation_string_array_length">
653
<return-value transfer-ownership="none">
654
<type name="none" c:type="void"/>
657
<parameter name="n_properties" transfer-ownership="none">
658
<type name="uint" c:type="guint"/>
660
<parameter name="properties" transfer-ownership="none">
661
<array length="0" c:type="gchar*">
667
<function name="string_zero_terminated"
668
c:identifier="annotation_string_zero_terminated">
669
<return-value transfer-ownership="full" doc="The return value">
670
<array c:type="char**">
675
<function name="string_zero_terminated_out"
676
c:identifier="annotation_string_zero_terminated_out">
677
<return-value transfer-ownership="none">
678
<type name="none" c:type="void"/>
681
<parameter name="out"
684
transfer-ownership="full">
685
<array c:type="char***">
691
<function name="versioned"
692
c:identifier="annotation_versioned"
694
<return-value transfer-ownership="none">
695
<type name="none" c:type="void"/>