2 <repository version="1.0"
3 xmlns="http://www.gtk.org/introspection/core/1.0"
4 xmlns:c="http://www.gtk.org/introspection/c/1.0"
5 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
6 <include name="GLib" version="2.0"/>
7 <include name="GObject" version="2.0"/>
8 <include name="utility" version="1.0"/>
9 <namespace name="foo" version="1.0" shared-library="foo">
10 <alias name="List" target="GLib.SList" c:type="FooList"/>
11 <alias name="XEvent" target="none" c:type="FooXEvent"/>
12 <alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
13 <interface name="Interface"
15 glib:type-name="FooInterface"
16 glib:get-type="foo_interface_get_type">
17 <callback name="do_foo" c:type="do_foo">
18 <return-value transfer-ownership="none">
19 <type name="none" c:type="void"/>
22 <parameter name="self" transfer-ownership="none">
23 <type name="Interface" c:type="FooInterface*"/>
28 <record name="InterfaceIface" c:type="FooInterfaceIface">
29 <field name="parent_iface">
30 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
32 <callback name="do_foo" c:type="do_foo">
33 <return-value transfer-ownership="none">
34 <type name="none" c:type="void"/>
37 <parameter name="self" transfer-ownership="none">
38 <type name="Interface" c:type="FooInterface*"/>
43 <interface name="SubInterface"
44 c:type="FooSubInterface"
45 glib:type-name="FooSubInterface"
46 glib:get-type="foo_sub_interface_get_type">
47 <prerequisite name="Interface"/>
48 <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
49 <return-value transfer-ownership="none">
50 <type name="none" c:type="void"/>
53 <callback name="do_bar" c:type="do_bar">
54 <return-value transfer-ownership="none">
55 <type name="none" c:type="void"/>
58 <parameter name="self" transfer-ownership="none">
59 <type name="SubInterface" c:type="FooSubInterface*"/>
64 <record name="SubInterfaceIface" c:type="FooSubInterfaceIface">
65 <field name="parent_iface">
66 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
68 <callback name="do_bar" c:type="do_bar">
69 <return-value transfer-ownership="none">
70 <type name="none" c:type="void"/>
73 <parameter name="self" transfer-ownership="none">
74 <type name="SubInterface" c:type="FooSubInterface*"/>
81 parent="GObject.Object"
82 glib:type-name="FooObject"
83 glib:get-type="foo_object_get_type">
84 <implements name="Interface"/>
85 <constructor name="new" c:identifier="foo_object_new">
86 <return-value transfer-ownership="full">
87 <type name="Object" c:type="FooObject*"/>
90 <function name="static_meth" c:identifier="foo_object_static_meth">
91 <return-value transfer-ownership="none">
92 <type name="int" c:type="int"/>
95 <method name="external_type" c:identifier="foo_object_external_type">
96 <return-value transfer-ownership="full">
97 <type name="utility.Object" c:type="UtilityObject*"/>
100 <method name="various" c:identifier="foo_object_various">
101 <return-value transfer-ownership="none">
102 <type name="none" c:type="void"/>
105 <parameter name="data" transfer-ownership="none">
106 <type name="any" c:type="void*"/>
108 <parameter name="some_type" transfer-ownership="none">
109 <type name="GType" c:type="GType"/>
113 <method name="take_all" c:identifier="foo_object_take_all">
114 <return-value transfer-ownership="none">
115 <type name="none" c:type="void"/>
118 <parameter name="x" transfer-ownership="none">
119 <type name="int" c:type="int"/>
121 <parameter transfer-ownership="none">
127 <method name="with_tdef" c:identifier="foo_object_with_tdef">
128 <return-value transfer-ownership="none">
129 <type name="none" c:type="void"/>
132 <parameter name="blah" transfer-ownership="none">
133 <type name="List" c:type="FooList*"/>
137 <method name="new_cookie" c:identifier="foo_object_new_cookie">
138 <return-value transfer-ownership="full">
139 <type name="ObjectCookie" c:type="FooObjectCookie"/>
142 <parameter name="target" transfer-ownership="none">
143 <type name="utf8" c:type="char*"/>
147 <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
148 <return-value transfer-ownership="none">
149 <type name="none" c:type="void"/>
152 <parameter name="time" transfer-ownership="none">
153 <type name="time_t" c:type="time_t"/>
157 <method name="get_name" c:identifier="foo_object_get_name">
158 <return-value transfer-ownership="none">
159 <type name="utf8" c:type="char*"/>
162 <method name="dup_name" c:identifier="foo_object_dup_name">
163 <return-value transfer-ownership="full">
164 <type name="utf8" c:type="char*"/>
167 <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
168 <return-value transfer-ownership="none">
169 <type name="none" c:type="void"/>
172 <parameter name="glyph" transfer-ownership="none">
173 <type name="utility.Glyph" c:type="UtilityGlyph"/>
177 <property name="string" writable="1" construct="1">
178 <type name="utf8" c:type="gchararray"/>
180 <field name="parent_instance">
181 <type name="GObject.Object" c:type="GObject"/>
183 <field name="some_int">
184 <type name="int" c:type="int"/>
186 <glib:signal name="signal">
187 <return-value transfer-ownership="full">
188 <type name="utf8" c:type="gchararray"/>
191 <parameter name="object" transfer-ownership="none">
192 <type name="GObject.Object" c:type="GObject"/>
194 <parameter name="p0" transfer-ownership="none">
195 <type name="any" c:type="gpointer"/>
200 <record name="ObjectClass" c:type="FooObjectClass">
201 <field name="parent_class">
202 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
204 <callback name="virtual_method" c:type="virtual_method">
205 <return-value transfer-ownership="none">
206 <type name="boolean" c:type="gboolean"/>
209 <parameter name="object" transfer-ownership="none">
210 <type name="Object" c:type="FooObject*"/>
212 <parameter name="first_param" transfer-ownership="none">
213 <type name="int" c:type="int"/>
218 <class name="Subobject"
219 c:type="FooSubobject"
222 glib:type-name="FooSubobject"
223 glib:get-type="foo_subobject_get_type">
224 <implements name="Interface"/>
225 <constructor name="new" c:identifier="foo_subobject_new">
226 <return-value transfer-ownership="full">
227 <type name="Subobject" c:type="FooSubobject*"/>
230 <field name="parent_instance">
231 <type name="Object" c:type="FooObject"/>
234 <record name="SubobjectClass" c:type="FooSubobjectClass">
235 <field name="parent_class">
236 <type name="ObjectClass" c:type="FooObjectClass"/>
239 <function name="init" c:identifier="foo_init">
240 <return-value transfer-ownership="none">
241 <type name="int" c:type="gint"/>
244 <enumeration name="EnumType"
245 glib:type-name="FooEnumType"
246 glib:get-type="foo_enum_type_get_type"
247 c:type="FooEnumType">
250 c:identifier="FOO_ENUM_ALPHA"
254 c:identifier="FOO_ENUM_BETA"
258 c:identifier="FOO_ENUM_DELTA"
261 <function name="enum_type_method" c:identifier="foo_enum_type_method">
262 <return-value transfer-ownership="none">
263 <type name="int" c:type="int"/>
266 <parameter name="foo_enum" transfer-ownership="none">
267 <type name="EnumType" c:type="FooEnumType"/>
271 <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
272 <return-value transfer-ownership="full">
273 <type name="EnumType" c:type="FooEnumType"/>
276 <parameter name="x" transfer-ownership="none">
277 <type name="int" c:type="int"/>
281 <bitfield name="FlagsType"
282 glib:type-name="FooFlagsType"
283 glib:get-type="foo_flags_type_get_type"
284 c:type="FooFlagsType">
287 c:identifier="FOO_FLAGS_FIRST"
289 <member name="second"
291 c:identifier="FOO_FLAGS_SECOND"
295 c:identifier="FOO_FLAGS_THIRD"
298 <enumeration name="EnumNoType" c:type="FooEnumNoType">
299 <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
300 <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
301 <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
302 <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
304 <enumeration name="EnumFullname" c:type="FooEnumFullname">
305 <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
306 <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
307 <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
311 glib:type-name="FooBoxed"
312 glib:get-type="foo_boxed_get_type">
313 <constructor name="new" c:identifier="foo_boxed_new">
314 <return-value transfer-ownership="full">
315 <type name="Boxed" c:type="FooBoxed*"/>
318 <method name="method" c:identifier="foo_boxed_method">
319 <return-value transfer-ownership="none">
320 <type name="none" c:type="void"/>
324 <record name="DBusData"
326 glib:type-name="FooDBusData"
327 glib:get-type="foo_dbus_data_get_type">
328 <method name="method" c:identifier="foo_dbus_data_method">
329 <return-value transfer-ownership="none">
330 <type name="none" c:type="void"/>
334 <callback name="Callback" c:type="FooCallback">
335 <return-value transfer-ownership="none">
336 <type name="boolean" c:type="gboolean"/>
339 <parameter name="foo" transfer-ownership="none">
340 <type name="Object" c:type="FooObject*"/>
342 <parameter name="b" transfer-ownership="none">
343 <type name="boolean" c:type="gboolean"/>
345 <parameter name="data" transfer-ownership="none">
346 <type name="any" c:type="gpointer"/>
350 <record name="Struct" c:type="FooStruct">
351 <field name="priv" writable="1">
352 <type name="StructPrivate" c:type="FooStructPrivate*"/>
354 <field name="member" writable="1">
355 <type name="int" c:type="int"/>
358 <record name="StructPrivate" c:type="FooStructPrivate">
360 <record name="Rectangle" c:type="FooRectangle">
361 <field name="x" writable="1">
362 <type name="int" c:type="gint"/>
364 <field name="y" writable="1">
365 <type name="int" c:type="gint"/>
367 <field name="width" writable="1">
368 <type name="int" c:type="gint"/>
370 <field name="height" writable="1">
371 <type name="int" c:type="gint"/>
374 <function name="method_external_references"
375 c:identifier="foo_method_external_references">
376 <return-value transfer-ownership="none">
377 <type name="none" c:type="void"/>
380 <parameter name="object" transfer-ownership="none">
381 <type name="utility.Object" c:type="UtilityObject*"/>
383 <parameter name="e" transfer-ownership="none">
384 <type name="utility.EnumType" c:type="UtilityEnumType"/>
386 <parameter name="f" transfer-ownership="none">
387 <type name="utility.FlagType" c:type="UtilityFlagType"/>
389 <parameter name="s" transfer-ownership="none">
390 <type name="utility.Struct" c:type="UtilityStruct"/>
394 <function name="rectangle_add" c:identifier="foo_rectangle_add">
395 <return-value transfer-ownership="none">
396 <type name="none" c:type="void"/>
399 <parameter name="r1" direction="inout" transfer-ownership="full">
400 <type name="Rectangle" c:type="FooRectangle*"/>
402 <parameter name="r2" transfer-ownership="none">
403 <type name="Rectangle" c:type="FooRectangle*"/>
407 <function name="rectangle_new" c:identifier="foo_rectangle_new">
408 <return-value transfer-ownership="full">
409 <type name="Rectangle" c:type="FooRectangle*"/>
412 <parameter name="x" transfer-ownership="none">
413 <type name="int" c:type="int"/>
415 <parameter name="y" transfer-ownership="none">
416 <type name="int" c:type="int"/>
418 <parameter name="width" transfer-ownership="none">
419 <type name="int" c:type="int"/>
421 <parameter name="height" transfer-ownership="none">
422 <type name="int" c:type="int"/>
426 <record name="EventAny" c:type="FooEventAny">
427 <field name="send_event" writable="1">
428 <type name="int8" c:type="gint8"/>
431 <record name="EventExpose" c:type="FooEventExpose">
432 <field name="send_event" writable="1">
433 <type name="int8" c:type="gint8"/>
435 <field name="count" writable="1">
436 <type name="int" c:type="gint"/>
439 <union name="Event" c:type="FooEvent">
440 <field name="type" writable="1">
441 <type name="int" c:type="int"/>
443 <field name="any" writable="1">
444 <type name="EventAny" c:type="FooEventAny"/>
446 <field name="expose" writable="1">
447 <type name="EventExpose" c:type="FooEventExpose"/>
452 glib:type-name="FooBRect"
453 glib:get-type="foo_brect_get_type">
454 <field name="x" writable="1">
455 <type name="double" c:type="double"/>
457 <field name="y" writable="1">
458 <type name="double" c:type="double"/>
460 <constructor name="new" c:identifier="foo_brect_new">
461 <return-value transfer-ownership="full">
462 <type name="BRect" c:type="FooBRect*"/>
465 <parameter name="x" transfer-ownership="none">
466 <type name="double" c:type="double"/>
468 <parameter name="y" transfer-ownership="none">
469 <type name="double" c:type="double"/>
473 <method name="add" c:identifier="foo_brect_add">
474 <return-value transfer-ownership="none">
475 <type name="none" c:type="void"/>
478 <parameter name="b2" transfer-ownership="none">
479 <type name="BRect" c:type="FooBRect*"/>
486 glib:type-name="FooBUnion"
487 glib:get-type="foo_bunion_get_type">
488 <field name="type" writable="1">
489 <type name="int" c:type="int"/>
491 <field name="v" writable="1">
492 <type name="double" c:type="double"/>
494 <field name="rect" writable="1">
495 <type name="BRect" c:type="FooBRect*"/>
497 <constructor name="new" c:identifier="foo_bunion_new">
498 <return-value transfer-ownership="full">
499 <type name="BUnion" c:type="FooBUnion*"/>
502 <method name="get_contained_type"
503 c:identifier="foo_bunion_get_contained_type">
504 <return-value transfer-ownership="none">
505 <type name="int" c:type="int"/>
509 <union name="Union" c:type="_FooUnion">
510 <field name="foo" writable="1">
511 <type name="int" c:type="int"/>
514 <record name="UtilityStruct" c:type="FooUtilityStruct">
515 <field name="bar" writable="1">
516 <type name="utility.Struct" c:type="UtilityStruct"/>
519 <record name="ThingWithArray" c:type="_FooThingWithArray">
520 <field name="x" writable="1">
521 <type name="int" c:type="int"/>
523 <field name="y" writable="1">
524 <type name="int" c:type="int"/>
526 <field name="lines" writable="1">
527 <array zero-terminated="0" c:type="char" fixed-size="80">
531 <field name="data" writable="1">
532 <type name="any" c:type="guchar*"/>
535 <function name="test_unsigned_qualifier"
536 c:identifier="foo_test_unsigned_qualifier">
537 <return-value transfer-ownership="none">
538 <type name="none" c:type="void"/>
541 <parameter name="unsigned_param" transfer-ownership="none">
542 <type name="uint" c:type="unsigned int"/>
546 <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
547 <return-value transfer-ownership="none">
548 <type name="none" c:type="void"/>
551 <parameter name="unsigned_param" transfer-ownership="none">
552 <type name="uint" c:type="unsigned"/>
556 <function name="test_string_array" c:identifier="foo_test_string_array">
557 <return-value transfer-ownership="none">
558 <type name="none" c:type="void"/>
561 <parameter name="array" transfer-ownership="none">
562 <array c:type="char**">
568 <function name="test_string_array_with_g"
569 c:identifier="foo_test_string_array_with_g">
570 <return-value transfer-ownership="none">
571 <type name="none" c:type="void"/>
574 <parameter name="array" transfer-ownership="none">
575 <array c:type="gchar**">
581 <function name="test_const_char_retval"
582 c:identifier="foo_test_const_char_retval">
583 <return-value transfer-ownership="none">
584 <type name="utf8" c:type="char*"/>
587 <function name="test_const_struct_retval"
588 c:identifier="foo_test_const_struct_retval">
589 <return-value transfer-ownership="none">
590 <type name="Struct" c:type="FooStruct*"/>
593 <function name="test_const_char_param"
594 c:identifier="foo_test_const_char_param">
595 <return-value transfer-ownership="none">
596 <type name="none" c:type="void"/>
599 <parameter name="param" transfer-ownership="none">
600 <type name="utf8" c:type="char*"/>
604 <function name="test_const_struct_param"
605 c:identifier="foo_test_const_struct_param">
606 <return-value transfer-ownership="none">
607 <type name="none" c:type="void"/>
610 <parameter name="param" transfer-ownership="none">
611 <type name="Struct" c:type="FooStruct*"/>
615 <constant name="SUCCESS_INT" value="4408">