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 <c:include name="foo.h"/>
16 shared-library="libfoo.so"
18 <alias name="List" target="GLib.SList" c:type="FooList"/>
19 <alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
20 <alias name="XEvent" target="none" c:type="FooXEvent"/>
21 <enumeration name="ASingle" c:type="FooASingle">
22 <member name="some_single_enum"
24 c:identifier="FOO_SOME_SINGLE_ENUM"/>
28 glib:type-name="FooBRect"
29 glib:get-type="foo_brect_get_type">
30 <field name="x" writable="1">
31 <type name="double" c:type="double"/>
33 <field name="y" writable="1">
34 <type name="double" c:type="double"/>
36 <constructor name="new" c:identifier="foo_brect_new">
37 <return-value transfer-ownership="full">
38 <type name="BRect" c:type="FooBRect*"/>
41 <parameter name="x" transfer-ownership="none">
42 <type name="double" c:type="double"/>
44 <parameter name="y" transfer-ownership="none">
45 <type name="double" c:type="double"/>
49 <method name="add" c:identifier="foo_brect_add">
50 <return-value transfer-ownership="none">
51 <type name="none" c:type="void"/>
54 <parameter name="b2" transfer-ownership="none">
55 <type name="BRect" c:type="FooBRect*"/>
62 glib:type-name="FooBUnion"
63 glib:get-type="foo_bunion_get_type">
64 <field name="type" writable="1">
65 <type name="int" c:type="int"/>
67 <field name="v" writable="1">
68 <type name="double" c:type="double"/>
70 <field name="rect" writable="1">
71 <type name="BRect" c:type="FooBRect*"/>
73 <constructor name="new" c:identifier="foo_bunion_new">
74 <return-value transfer-ownership="full">
75 <type name="BUnion" c:type="FooBUnion*"/>
78 <method name="get_contained_type"
79 c:identifier="foo_bunion_get_contained_type">
80 <return-value transfer-ownership="none">
81 <type name="int" c:type="int"/>
87 glib:type-name="FooBoxed"
88 glib:get-type="foo_boxed_get_type">
89 <constructor name="new" c:identifier="foo_boxed_new">
90 <return-value transfer-ownership="full">
91 <type name="Boxed" c:type="FooBoxed*"/>
94 <method name="method" c:identifier="foo_boxed_method">
95 <return-value transfer-ownership="none">
96 <type name="none" c:type="void"/>
102 parent="GObject.Object"
103 glib:type-name="FooBuffer"
104 glib:get-type="foo_buffer_get_type"
105 glib:type-struct="BufferClass">
106 <implements name="Interface"/>
107 <method name="some_method" c:identifier="foo_buffer_some_method">
108 <return-value transfer-ownership="none">
109 <type name="none" c:type="void"/>
113 <record name="BufferClass"
114 c:type="FooBufferClass"
115 glib:is-gtype-struct-for="Buffer">
117 <callback name="Callback" c:type="FooCallback">
118 <return-value transfer-ownership="none">
119 <type name="boolean" c:type="gboolean"/>
122 <parameter name="foo" transfer-ownership="none">
123 <type name="Object" c:type="FooObject*"/>
125 <parameter name="b" transfer-ownership="none">
126 <type name="boolean" c:type="gboolean"/>
128 <parameter name="data" transfer-ownership="none">
129 <type name="any" c:type="gpointer"/>
133 <record name="DBusData"
135 glib:type-name="FooDBusData"
136 glib:get-type="foo_dbus_data_get_type">
137 <method name="method" c:identifier="foo_dbus_data_method">
138 <return-value transfer-ownership="none">
139 <type name="none" c:type="void"/>
143 <constant name="DEFINE_SHOULD_BE_EXPOSED" value="should be exposed">
146 <enumeration name="EnumFullname" c:type="FooEnumFullname">
147 <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
148 <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
149 <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
151 <enumeration name="EnumNoType" c:type="FooEnumNoType">
152 <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
153 <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
154 <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
155 <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
157 <enumeration name="EnumType"
158 glib:type-name="FooEnumType"
159 glib:get-type="foo_enum_type_get_type"
160 c:type="FooEnumType">
163 c:identifier="FOO_ENUM_ALPHA"
167 c:identifier="FOO_ENUM_BETA"
171 c:identifier="FOO_ENUM_DELTA"
174 <enumeration name="Error"
175 glib:type-name="FooError"
176 glib:get-type="foo_error_get_type"
178 glib:error-quark="foo_error_quark">
181 c:identifier="FOO_ERROR_GOOD"
185 c:identifier="FOO_ERROR_BAD"
189 c:identifier="FOO_ERROR_UGLY"
192 <union name="Event" c:type="FooEvent">
193 <field name="type" writable="1">
194 <type name="int" c:type="int"/>
196 <field name="any" writable="1">
197 <type name="EventAny" c:type="FooEventAny"/>
199 <field name="expose" writable="1">
200 <type name="EventExpose" c:type="FooEventExpose"/>
203 <record name="EventAny" c:type="FooEventAny">
204 <field name="send_event" writable="1">
205 <type name="int8" c:type="gint8"/>
208 <record name="EventExpose" c:type="FooEventExpose">
209 <field name="send_event" writable="1">
210 <type name="int8" c:type="gint8"/>
212 <field name="count" writable="1">
213 <type name="int" c:type="gint"/>
216 <bitfield name="FlagsNoType" c:type="FooFlagsNoType">
217 <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
218 <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
219 <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
221 <bitfield name="FlagsType"
222 glib:type-name="FooFlagsType"
223 glib:get-type="foo_flags_type_get_type"
224 c:type="FooFlagsType">
227 c:identifier="FOO_FLAGS_FIRST"
229 <member name="second"
231 c:identifier="FOO_FLAGS_SECOND"
235 c:identifier="FOO_FLAGS_THIRD"
238 <interface name="Interface"
239 c:type="FooInterface"
240 glib:type-name="FooInterface"
241 glib:get-type="foo_interface_get_type"
242 glib:type-struct="InterfaceIface">
243 <virtual-method name="do_foo" invoker="do_foo">
244 <return-value transfer-ownership="none">
245 <type name="none" c:type="void"/>
248 <parameter name="x" transfer-ownership="none">
249 <type name="int" c:type="int"/>
253 <method name="do_foo" c:identifier="foo_interface_do_foo">
254 <return-value transfer-ownership="none">
255 <type name="none" c:type="void"/>
258 <parameter name="x" transfer-ownership="none">
259 <type name="int" c:type="int"/>
264 <record name="InterfaceIface"
265 c:type="FooInterfaceIface"
266 glib:is-gtype-struct-for="Interface">
267 <field name="parent_iface">
268 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
270 <callback name="do_foo" c:type="do_foo">
271 <return-value transfer-ownership="none">
272 <type name="none" c:type="void"/>
275 <parameter name="self" transfer-ownership="none">
276 <type name="Interface" c:type="FooInterface*"/>
278 <parameter name="x" transfer-ownership="none">
279 <type name="int" c:type="int"/>
286 parent="GObject.Object"
287 glib:type-name="FooObject"
288 glib:get-type="foo_object_get_type"
289 glib:type-struct="ObjectClass">
290 <implements name="Interface"/>
291 <constructor name="new" c:identifier="foo_object_new">
292 <return-value transfer-ownership="full">
293 <type name="Object" c:type="FooObject*"/>
296 <function name="static_meth" c:identifier="foo_object_static_meth">
297 <return-value transfer-ownership="none">
298 <type name="int" c:type="int"/>
301 <function name="get_default"
302 c:identifier="foo_object_get_default"
303 doc="This function is intended to match clutter_stage_get_default which
304 uses a C sugar return type.">
305 <return-value transfer-ownership="full" doc="The global #FooSubobject">
306 <type name="Subobject" c:type="FooObject*"/>
309 <virtual-method name="virtual_method" invoker="virtual_method">
310 <return-value transfer-ownership="none">
311 <type name="boolean" c:type="gboolean"/>
314 <parameter name="first_param" transfer-ownership="none">
315 <type name="int" c:type="int"/>
319 <virtual-method name="read_fn" invoker="read">
320 <return-value transfer-ownership="none">
321 <type name="none" c:type="void"/>
324 <parameter name="offset" transfer-ownership="none">
325 <type name="int" c:type="int"/>
327 <parameter name="length" transfer-ownership="none">
328 <type name="int" c:type="int"/>
332 <method name="external_type" c:identifier="foo_object_external_type">
333 <return-value transfer-ownership="full">
334 <type name="utility.Object" c:type="UtilityObject*"/>
337 <method name="various" c:identifier="foo_object_various">
338 <return-value transfer-ownership="none">
339 <type name="none" c:type="void"/>
342 <parameter name="data" transfer-ownership="none">
343 <type name="any" c:type="void*"/>
345 <parameter name="some_type" transfer-ownership="none">
346 <type name="GType" c:type="GType"/>
350 <method name="take_all" c:identifier="foo_object_take_all">
351 <return-value transfer-ownership="none">
352 <type name="none" c:type="void"/>
355 <parameter name="x" transfer-ownership="none">
356 <type name="int" c:type="int"/>
358 <parameter transfer-ownership="none">
364 <method name="with_tdef" c:identifier="foo_object_with_tdef">
365 <return-value transfer-ownership="none">
366 <type name="none" c:type="void"/>
369 <parameter name="blah" transfer-ownership="none">
370 <type name="List" c:type="FooList*"/>
374 <method name="new_cookie" c:identifier="foo_object_new_cookie">
375 <return-value transfer-ownership="full">
376 <type name="ObjectCookie" c:type="FooObjectCookie"/>
379 <parameter name="target" transfer-ownership="none">
380 <type name="utf8" c:type="char*"/>
384 <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
385 <return-value transfer-ownership="none">
386 <type name="none" c:type="void"/>
389 <parameter name="time" transfer-ownership="none">
390 <type name="time_t" c:type="time_t"/>
394 <method name="get_name" c:identifier="foo_object_get_name">
395 <return-value transfer-ownership="none">
396 <type name="utf8" c:type="char*"/>
399 <method name="dup_name" c:identifier="foo_object_dup_name">
400 <return-value transfer-ownership="full">
401 <type name="utf8" c:type="char*"/>
404 <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
405 <return-value transfer-ownership="none">
406 <type name="none" c:type="void"/>
409 <parameter name="glyph" transfer-ownership="none">
410 <type name="utility.Glyph" c:type="UtilityGlyph"/>
414 <method name="virtual_method" c:identifier="foo_object_virtual_method">
415 <return-value transfer-ownership="none">
416 <type name="boolean" c:type="gboolean"/>
419 <parameter name="first_param" transfer-ownership="none">
420 <type name="int" c:type="int"/>
425 c:identifier="foo_object_read"
426 doc="Read some stuff.">
427 <return-value transfer-ownership="none">
428 <type name="none" c:type="void"/>
431 <parameter name="offset" transfer-ownership="none">
432 <type name="int" c:type="int"/>
434 <parameter name="length" transfer-ownership="none">
435 <type name="int" c:type="int"/>
439 <property name="string" writable="1" construct="1">
440 <type name="utf8" c:type="gchararray"/>
442 <field name="parent_instance">
443 <type name="GObject.Object" c:type="GObject"/>
445 <field name="some_int">
446 <type name="int" c:type="int"/>
448 <glib:signal name="signal">
449 <return-value transfer-ownership="full">
450 <type name="utf8" c:type="gchararray"/>
453 <parameter name="object" transfer-ownership="none">
454 <type name="GObject.Object" c:type="GObject"/>
456 <parameter name="p0" transfer-ownership="none">
457 <type name="any" c:type="gpointer"/>
462 <record name="ObjectClass"
463 c:type="FooObjectClass"
464 glib:is-gtype-struct-for="Object">
465 <field name="parent_class">
466 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
468 <callback name="virtual_method" c:type="virtual_method">
469 <return-value transfer-ownership="none">
470 <type name="boolean" c:type="gboolean"/>
473 <parameter name="object" transfer-ownership="none">
474 <type name="Object" c:type="FooObject*"/>
476 <parameter name="first_param" transfer-ownership="none">
477 <type name="int" c:type="int"/>
481 <callback name="read_fn" c:type="read_fn">
482 <return-value transfer-ownership="none">
483 <type name="none" c:type="void"/>
486 <parameter name="object" transfer-ownership="none">
487 <type name="Object" c:type="FooObject*"/>
489 <parameter name="offset" transfer-ownership="none">
490 <type name="int" c:type="int"/>
492 <parameter name="length" transfer-ownership="none">
493 <type name="int" c:type="int"/>
498 <constant name="PIE_IS_TASTY" value="3.14159">
499 <type name="double"/>
501 <record name="Rectangle" c:type="FooRectangle">
502 <field name="x" writable="1">
503 <type name="int" c:type="gint"/>
505 <field name="y" writable="1">
506 <type name="int" c:type="gint"/>
508 <field name="width" writable="1">
509 <type name="int" c:type="gint"/>
511 <field name="height" writable="1">
512 <type name="int" c:type="gint"/>
514 <constructor name="new" c:identifier="foo_rectangle_new">
515 <return-value transfer-ownership="full">
516 <type name="Rectangle" c:type="FooRectangle*"/>
519 <parameter name="x" transfer-ownership="none">
520 <type name="int" c:type="int"/>
522 <parameter name="y" transfer-ownership="none">
523 <type name="int" c:type="int"/>
525 <parameter name="width" transfer-ownership="none">
526 <type name="int" c:type="int"/>
528 <parameter name="height" transfer-ownership="none">
529 <type name="int" c:type="int"/>
533 <method name="add" c:identifier="foo_rectangle_add">
534 <return-value transfer-ownership="none">
535 <type name="none" c:type="void"/>
538 <parameter name="r2" transfer-ownership="none">
539 <type name="Rectangle" c:type="FooRectangle*"/>
544 <constant name="SUCCESS_INT" value="4408">
547 <enumeration name="StackLayer" c:type="FooStackLayer">
548 <member name="desktop" value="0" c:identifier="FOO_LAYER_DESKTOP"/>
549 <member name="bottom" value="1" c:identifier="FOO_LAYER_BOTTOM"/>
550 <member name="normal" value="2" c:identifier="FOO_LAYER_NORMAL"/>
551 <member name="top" value="4" c:identifier="FOO_LAYER_TOP"/>
552 <member name="dock" value="4" c:identifier="FOO_LAYER_DOCK"/>
553 <member name="fullscreen" value="5" c:identifier="FOO_LAYER_FULLSCREEN"/>
554 <member name="focused_window"
556 c:identifier="FOO_LAYER_FOCUSED_WINDOW"/>
557 <member name="override_redirect"
559 c:identifier="FOO_LAYER_OVERRIDE_REDIRECT"/>
560 <member name="last" value="8" c:identifier="FOO_LAYER_LAST"/>
562 <record name="Struct" c:type="FooStruct">
563 <field name="priv" writable="1">
564 <type name="StructPrivate" c:type="FooStructPrivate*"/>
566 <field name="member" writable="1">
567 <type name="int" c:type="int"/>
570 <record name="StructPrivate" c:type="FooStructPrivate">
572 <interface name="SubInterface"
573 c:type="FooSubInterface"
574 glib:type-name="FooSubInterface"
575 glib:get-type="foo_sub_interface_get_type"
576 glib:type-struct="SubInterfaceIface">
577 <prerequisite name="Interface"/>
578 <virtual-method name="do_bar" invoker="do_bar">
579 <return-value transfer-ownership="none">
580 <type name="none" c:type="void"/>
583 <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
584 <return-value transfer-ownership="none">
585 <type name="none" c:type="void"/>
588 <glib:signal name="destroy-event">
589 <return-value transfer-ownership="full">
590 <type name="none" c:type="void"/>
594 <record name="SubInterfaceIface"
595 c:type="FooSubInterfaceIface"
596 glib:is-gtype-struct-for="SubInterface">
597 <field name="parent_iface">
598 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
600 <callback name="destroy_event" c:type="destroy_event">
601 <return-value transfer-ownership="none">
602 <type name="none" c:type="void"/>
605 <parameter name="self" transfer-ownership="none">
606 <type name="SubInterface" c:type="FooSubInterface*"/>
610 <callback name="do_bar" c:type="do_bar">
611 <return-value transfer-ownership="none">
612 <type name="none" c:type="void"/>
615 <parameter name="self" transfer-ownership="none">
616 <type name="SubInterface" c:type="FooSubInterface*"/>
621 <class name="Subobject"
622 c:type="FooSubobject"
625 glib:type-name="FooSubobject"
626 glib:get-type="foo_subobject_get_type"
627 glib:type-struct="SubobjectClass">
628 <implements name="Interface"/>
629 <constructor name="new" c:identifier="foo_subobject_new">
630 <return-value transfer-ownership="full">
631 <type name="Subobject" c:type="FooSubobject*"/>
634 <field name="parent_instance">
635 <type name="Object" c:type="FooObject"/>
638 <record name="SubobjectClass"
639 c:type="FooSubobjectClass"
640 glib:is-gtype-struct-for="Subobject">
641 <field name="parent_class">
642 <type name="ObjectClass" c:type="FooObjectClass"/>
645 <record name="ThingWithArray" c:type="_FooThingWithArray">
646 <field name="x" writable="1">
647 <type name="int" c:type="int"/>
649 <field name="y" writable="1">
650 <type name="int" c:type="int"/>
652 <field name="lines" writable="1">
653 <array zero-terminated="0" c:type="char" fixed-size="80">
657 <field name="data" writable="1">
658 <type name="any" c:type="guchar*"/>
661 <union name="Union" c:type="_FooUnion">
662 <field name="foo" writable="1">
663 <type name="int" c:type="int"/>
666 <record name="UtilityStruct" c:type="FooUtilityStruct">
667 <field name="bar" writable="1">
668 <type name="utility.Struct" c:type="UtilityStruct"/>
671 <callback name="VarargsCallback" c:type="FooVarargsCallback">
672 <return-value transfer-ownership="none">
673 <type name="none" c:type="void"/>
676 <parameter name="param" transfer-ownership="none">
677 <type name="utf8" c:type="char*"/>
679 <parameter transfer-ownership="none">
685 <function name="enum_type_method" c:identifier="foo_enum_type_method">
686 <return-value transfer-ownership="none">
687 <type name="int" c:type="int"/>
690 <parameter name="foo_enum" transfer-ownership="none">
691 <type name="EnumType" c:type="FooEnumType"/>
695 <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
696 <return-value transfer-ownership="full">
697 <type name="EnumType" c:type="FooEnumType"/>
700 <parameter name="x" transfer-ownership="none">
701 <type name="int" c:type="int"/>
705 <function name="init" c:identifier="foo_init">
706 <return-value transfer-ownership="none">
707 <type name="int" c:type="gint"/>
710 <function name="method_external_references"
711 c:identifier="foo_method_external_references">
712 <return-value transfer-ownership="none">
713 <type name="none" c:type="void"/>
716 <parameter name="object" transfer-ownership="none">
717 <type name="utility.Object" c:type="UtilityObject*"/>
719 <parameter name="e" transfer-ownership="none">
720 <type name="utility.EnumType" c:type="UtilityEnumType"/>
722 <parameter name="f" transfer-ownership="none">
723 <type name="utility.FlagType" c:type="UtilityFlagType"/>
725 <parameter name="s" transfer-ownership="none">
726 <type name="utility.Struct" c:type="UtilityStruct"/>
730 <function name="test_const_char_param"
731 c:identifier="foo_test_const_char_param">
732 <return-value transfer-ownership="none">
733 <type name="none" c:type="void"/>
736 <parameter name="param" transfer-ownership="none">
737 <type name="utf8" c:type="char*"/>
741 <function name="test_const_char_retval"
742 c:identifier="foo_test_const_char_retval">
743 <return-value transfer-ownership="none">
744 <type name="utf8" c:type="char*"/>
747 <function name="test_const_struct_param"
748 c:identifier="foo_test_const_struct_param">
749 <return-value transfer-ownership="none">
750 <type name="none" c:type="void"/>
753 <parameter name="param" transfer-ownership="none">
754 <type name="Struct" c:type="FooStruct*"/>
758 <function name="test_const_struct_retval"
759 c:identifier="foo_test_const_struct_retval">
760 <return-value transfer-ownership="none">
761 <type name="Struct" c:type="FooStruct*"/>
764 <function name="test_string_array" c:identifier="foo_test_string_array">
765 <return-value transfer-ownership="none">
766 <type name="none" c:type="void"/>
769 <parameter name="array" transfer-ownership="none">
770 <array c:type="char**">
776 <function name="test_string_array_with_g"
777 c:identifier="foo_test_string_array_with_g">
778 <return-value transfer-ownership="none">
779 <type name="none" c:type="void"/>
782 <parameter name="array" transfer-ownership="none">
783 <array c:type="gchar**">
789 <function name="test_unsigned_qualifier"
790 c:identifier="foo_test_unsigned_qualifier">
791 <return-value transfer-ownership="none">
792 <type name="none" c:type="void"/>
795 <parameter name="unsigned_param" transfer-ownership="none">
796 <type name="uint" c:type="unsigned int"/>
800 <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
801 <return-value transfer-ownership="none">
802 <type name="none" c:type="void"/>
805 <parameter name="unsigned_param" transfer-ownership="none">
806 <type name="uint" c:type="unsigned"/>
810 <function name="test_varargs_callback"
811 c:identifier="foo_test_varargs_callback">
812 <return-value transfer-ownership="none">
813 <type name="none" c:type="void"/>
816 <parameter name="i" transfer-ownership="none">
817 <type name="int" c:type="gint"/>
819 <parameter name="callback" transfer-ownership="none">
820 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
824 <function name="test_varargs_callback2"
825 c:identifier="foo_test_varargs_callback2">
826 <return-value transfer-ownership="none">
827 <type name="none" c:type="void"/>
830 <parameter name="callback" transfer-ownership="none">
831 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
835 <function name="test_varargs_callback3"
836 c:identifier="foo_test_varargs_callback3">
837 <return-value transfer-ownership="none">
838 <type name="none" c:type="void"/>
841 <parameter name="callback" transfer-ownership="none">
842 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
844 <parameter name="callback2" transfer-ownership="none">
845 <type name="VarargsCallback" c:type="FooVarargsCallback"/>