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"/>
14 <namespace name="foo" version="1.0" shared-library="foo" c:prefix="foo">
15 <alias name="List" target="GLib.SList" c:type="FooList"/>
16 <alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
17 <alias name="XEvent" target="none" c:type="FooXEvent"/>
18 <enumeration name="ASingle" c:type="FooASingle">
19 <member name="some_single_enum"
21 c:identifier="FOO_SOME_SINGLE_ENUM"/>
25 glib:type-name="FooBRect"
26 glib:get-type="foo_brect_get_type">
27 <field name="x" writable="1">
28 <type name="double" c:type="double"/>
30 <field name="y" writable="1">
31 <type name="double" c:type="double"/>
33 <constructor name="new" c:identifier="foo_brect_new">
34 <return-value transfer-ownership="full">
35 <type name="BRect" c:type="FooBRect*"/>
38 <parameter name="x" transfer-ownership="none">
39 <type name="double" c:type="double"/>
41 <parameter name="y" transfer-ownership="none">
42 <type name="double" c:type="double"/>
46 <method name="add" c:identifier="foo_brect_add">
47 <return-value transfer-ownership="none">
48 <type name="none" c:type="void"/>
51 <parameter name="b2" transfer-ownership="none">
52 <type name="BRect" c:type="FooBRect*"/>
59 glib:type-name="FooBUnion"
60 glib:get-type="foo_bunion_get_type">
61 <field name="type" writable="1">
62 <type name="int" c:type="int"/>
64 <field name="v" writable="1">
65 <type name="double" c:type="double"/>
67 <field name="rect" writable="1">
68 <type name="BRect" c:type="FooBRect*"/>
70 <constructor name="new" c:identifier="foo_bunion_new">
71 <return-value transfer-ownership="full">
72 <type name="BUnion" c:type="FooBUnion*"/>
75 <method name="get_contained_type"
76 c:identifier="foo_bunion_get_contained_type">
77 <return-value transfer-ownership="none">
78 <type name="int" c:type="int"/>
84 glib:type-name="FooBoxed"
85 glib:get-type="foo_boxed_get_type">
86 <constructor name="new" c:identifier="foo_boxed_new">
87 <return-value transfer-ownership="full">
88 <type name="Boxed" c:type="FooBoxed*"/>
91 <method name="method" c:identifier="foo_boxed_method">
92 <return-value transfer-ownership="none">
93 <type name="none" c:type="void"/>
99 parent="GObject.Object"
100 glib:type-name="FooBuffer"
101 glib:get-type="foo_buffer_get_type"
102 glib:type-struct="BufferClass">
103 <implements name="Interface"/>
104 <method name="some_method" c:identifier="foo_buffer_some_method">
105 <return-value transfer-ownership="none">
106 <type name="none" c:type="void"/>
110 <record name="BufferClass"
111 c:type="FooBufferClass"
112 glib:is-gtype-struct-for="Buffer">
114 <callback name="Callback" c:type="FooCallback">
115 <return-value transfer-ownership="none">
116 <type name="boolean" c:type="gboolean"/>
119 <parameter name="foo" transfer-ownership="none">
120 <type name="Object" c:type="FooObject*"/>
122 <parameter name="b" transfer-ownership="none">
123 <type name="boolean" c:type="gboolean"/>
125 <parameter name="data" transfer-ownership="none">
126 <type name="any" c:type="gpointer"/>
130 <record name="DBusData"
132 glib:type-name="FooDBusData"
133 glib:get-type="foo_dbus_data_get_type">
134 <method name="method" c:identifier="foo_dbus_data_method">
135 <return-value transfer-ownership="none">
136 <type name="none" c:type="void"/>
140 <constant name="DEFINE_SHOULD_BE_EXPOSED" value="should be exposed">
143 <enumeration name="EnumFullname" c:type="FooEnumFullname">
144 <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
145 <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
146 <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
148 <enumeration name="EnumNoType" c:type="FooEnumNoType">
149 <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
150 <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
151 <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
152 <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
154 <enumeration name="EnumType"
155 glib:type-name="FooEnumType"
156 glib:get-type="foo_enum_type_get_type"
157 c:type="FooEnumType">
160 c:identifier="FOO_ENUM_ALPHA"
164 c:identifier="FOO_ENUM_BETA"
168 c:identifier="FOO_ENUM_DELTA"
171 <enumeration name="Error"
172 glib:type-name="FooError"
173 glib:get-type="foo_error_get_type"
175 glib:error-quark="foo_error_quark">
178 c:identifier="FOO_ERROR_GOOD"
182 c:identifier="FOO_ERROR_BAD"
186 c:identifier="FOO_ERROR_UGLY"
189 <union name="Event" c:type="FooEvent">
190 <field name="type" writable="1">
191 <type name="int" c:type="int"/>
193 <field name="any" writable="1">
194 <type name="EventAny" c:type="FooEventAny"/>
196 <field name="expose" writable="1">
197 <type name="EventExpose" c:type="FooEventExpose"/>
200 <record name="EventAny" c:type="FooEventAny">
201 <field name="send_event" writable="1">
202 <type name="int8" c:type="gint8"/>
205 <record name="EventExpose" c:type="FooEventExpose">
206 <field name="send_event" writable="1">
207 <type name="int8" c:type="gint8"/>
209 <field name="count" writable="1">
210 <type name="int" c:type="gint"/>
213 <bitfield name="FlagsNoType" c:type="FooFlagsNoType">
214 <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
215 <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
216 <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
218 <bitfield name="FlagsType"
219 glib:type-name="FooFlagsType"
220 glib:get-type="foo_flags_type_get_type"
221 c:type="FooFlagsType">
224 c:identifier="FOO_FLAGS_FIRST"
226 <member name="second"
228 c:identifier="FOO_FLAGS_SECOND"
232 c:identifier="FOO_FLAGS_THIRD"
235 <interface name="Interface"
236 c:type="FooInterface"
237 glib:type-name="FooInterface"
238 glib:get-type="foo_interface_get_type"
239 glib:type-struct="InterfaceIface">
240 <virtual-method name="do_foo" invoker="do_foo">
241 <return-value transfer-ownership="none">
242 <type name="none" c:type="void"/>
245 <parameter name="x" transfer-ownership="none">
246 <type name="int" c:type="int"/>
250 <method name="do_foo" c:identifier="foo_interface_do_foo">
251 <return-value transfer-ownership="none">
252 <type name="none" c:type="void"/>
255 <parameter name="x" transfer-ownership="none">
256 <type name="int" c:type="int"/>
261 <record name="InterfaceIface"
262 c:type="FooInterfaceIface"
263 glib:is-gtype-struct-for="Interface">
264 <field name="parent_iface">
265 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
267 <callback name="do_foo" c:type="do_foo">
268 <return-value transfer-ownership="none">
269 <type name="none" c:type="void"/>
272 <parameter name="self" transfer-ownership="none">
273 <type name="Interface" c:type="FooInterface*"/>
275 <parameter name="x" transfer-ownership="none">
276 <type name="int" c:type="int"/>
283 parent="GObject.Object"
284 glib:type-name="FooObject"
285 glib:get-type="foo_object_get_type"
286 glib:type-struct="ObjectClass">
287 <implements name="Interface"/>
288 <constructor name="new" c:identifier="foo_object_new">
289 <return-value transfer-ownership="full">
290 <type name="Object" c:type="FooObject*"/>
293 <function name="static_meth" c:identifier="foo_object_static_meth">
294 <return-value transfer-ownership="none">
295 <type name="int" c:type="int"/>
298 <function name="get_default"
299 c:identifier="foo_object_get_default"
300 doc="This function is intended to match clutter_stage_get_default which
301 uses a C sugar return type.">
302 <return-value transfer-ownership="full" doc="The global #FooSubobject">
303 <type name="Subobject" c:type="FooObject*"/>
306 <virtual-method name="virtual_method" invoker="virtual_method">
307 <return-value transfer-ownership="none">
308 <type name="boolean" c:type="gboolean"/>
311 <parameter name="first_param" transfer-ownership="none">
312 <type name="int" c:type="int"/>
316 <virtual-method name="read_fn" invoker="read">
317 <return-value transfer-ownership="none">
318 <type name="none" c:type="void"/>
321 <parameter name="offset" transfer-ownership="none">
322 <type name="int" c:type="int"/>
324 <parameter name="length" transfer-ownership="none">
325 <type name="int" c:type="int"/>
329 <method name="external_type" c:identifier="foo_object_external_type">
330 <return-value transfer-ownership="full">
331 <type name="utility.Object" c:type="UtilityObject*"/>
334 <method name="various" c:identifier="foo_object_various">
335 <return-value transfer-ownership="none">
336 <type name="none" c:type="void"/>
339 <parameter name="data" transfer-ownership="none">
340 <type name="any" c:type="void*"/>
342 <parameter name="some_type" transfer-ownership="none">
343 <type name="GType" c:type="GType"/>
347 <method name="take_all" c:identifier="foo_object_take_all">
348 <return-value transfer-ownership="none">
349 <type name="none" c:type="void"/>
352 <parameter name="x" transfer-ownership="none">
353 <type name="int" c:type="int"/>
355 <parameter transfer-ownership="none">
361 <method name="with_tdef" c:identifier="foo_object_with_tdef">
362 <return-value transfer-ownership="none">
363 <type name="none" c:type="void"/>
366 <parameter name="blah" transfer-ownership="none">
367 <type name="List" c:type="FooList*"/>
371 <method name="new_cookie" c:identifier="foo_object_new_cookie">
372 <return-value transfer-ownership="full">
373 <type name="ObjectCookie" c:type="FooObjectCookie"/>
376 <parameter name="target" transfer-ownership="none">
377 <type name="utf8" c:type="char*"/>
381 <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
382 <return-value transfer-ownership="none">
383 <type name="none" c:type="void"/>
386 <parameter name="time" transfer-ownership="none">
387 <type name="time_t" c:type="time_t"/>
391 <method name="get_name" c:identifier="foo_object_get_name">
392 <return-value transfer-ownership="none">
393 <type name="utf8" c:type="char*"/>
396 <method name="dup_name" c:identifier="foo_object_dup_name">
397 <return-value transfer-ownership="full">
398 <type name="utf8" c:type="char*"/>
401 <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
402 <return-value transfer-ownership="none">
403 <type name="none" c:type="void"/>
406 <parameter name="glyph" transfer-ownership="none">
407 <type name="utility.Glyph" c:type="UtilityGlyph"/>
411 <method name="virtual_method" c:identifier="foo_object_virtual_method">
412 <return-value transfer-ownership="none">
413 <type name="boolean" c:type="gboolean"/>
416 <parameter name="first_param" transfer-ownership="none">
417 <type name="int" c:type="int"/>
422 c:identifier="foo_object_read"
423 doc="Read some stuff.">
424 <return-value transfer-ownership="none">
425 <type name="none" c:type="void"/>
428 <parameter name="offset" transfer-ownership="none">
429 <type name="int" c:type="int"/>
431 <parameter name="length" transfer-ownership="none">
432 <type name="int" c:type="int"/>
436 <property name="string" writable="1" construct="1">
437 <type name="utf8" c:type="gchararray"/>
439 <field name="parent_instance">
440 <type name="GObject.Object" c:type="GObject"/>
442 <field name="some_int">
443 <type name="int" c:type="int"/>
445 <glib:signal name="signal">
446 <return-value transfer-ownership="full">
447 <type name="utf8" c:type="gchararray"/>
450 <parameter name="object" transfer-ownership="none">
451 <type name="GObject.Object" c:type="GObject"/>
453 <parameter name="p0" transfer-ownership="none">
454 <type name="any" c:type="gpointer"/>
459 <record name="ObjectClass"
460 c:type="FooObjectClass"
461 glib:is-gtype-struct-for="Object">
462 <field name="parent_class">
463 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
465 <callback name="virtual_method" c:type="virtual_method">
466 <return-value transfer-ownership="none">
467 <type name="boolean" c:type="gboolean"/>
470 <parameter name="object" transfer-ownership="none">
471 <type name="Object" c:type="FooObject*"/>
473 <parameter name="first_param" transfer-ownership="none">
474 <type name="int" c:type="int"/>
478 <callback name="read_fn" c:type="read_fn">
479 <return-value transfer-ownership="none">
480 <type name="none" c:type="void"/>
483 <parameter name="object" transfer-ownership="none">
484 <type name="Object" c:type="FooObject*"/>
486 <parameter name="offset" transfer-ownership="none">
487 <type name="int" c:type="int"/>
489 <parameter name="length" transfer-ownership="none">
490 <type name="int" c:type="int"/>
495 <constant name="PIE_IS_TASTY" value="3.14159">
496 <type name="double"/>
498 <record name="Rectangle" c:type="FooRectangle">
499 <field name="x" writable="1">
500 <type name="int" c:type="gint"/>
502 <field name="y" writable="1">
503 <type name="int" c:type="gint"/>
505 <field name="width" writable="1">
506 <type name="int" c:type="gint"/>
508 <field name="height" writable="1">
509 <type name="int" c:type="gint"/>
511 <constructor name="new" c:identifier="foo_rectangle_new">
512 <return-value transfer-ownership="full">
513 <type name="Rectangle" c:type="FooRectangle*"/>
516 <parameter name="x" transfer-ownership="none">
517 <type name="int" c:type="int"/>
519 <parameter name="y" transfer-ownership="none">
520 <type name="int" c:type="int"/>
522 <parameter name="width" transfer-ownership="none">
523 <type name="int" c:type="int"/>
525 <parameter name="height" transfer-ownership="none">
526 <type name="int" c:type="int"/>
530 <method name="add" c:identifier="foo_rectangle_add">
531 <return-value transfer-ownership="none">
532 <type name="none" c:type="void"/>
535 <parameter name="r2" transfer-ownership="none">
536 <type name="Rectangle" c:type="FooRectangle*"/>
541 <constant name="SUCCESS_INT" value="4408">
544 <enumeration name="StackLayer" c:type="FooStackLayer">
545 <member name="desktop" value="0" c:identifier="FOO_LAYER_DESKTOP"/>
546 <member name="bottom" value="1" c:identifier="FOO_LAYER_BOTTOM"/>
547 <member name="normal" value="2" c:identifier="FOO_LAYER_NORMAL"/>
548 <member name="top" value="4" c:identifier="FOO_LAYER_TOP"/>
549 <member name="dock" value="4" c:identifier="FOO_LAYER_DOCK"/>
550 <member name="fullscreen" value="5" c:identifier="FOO_LAYER_FULLSCREEN"/>
551 <member name="focused_window"
553 c:identifier="FOO_LAYER_FOCUSED_WINDOW"/>
554 <member name="override_redirect"
556 c:identifier="FOO_LAYER_OVERRIDE_REDIRECT"/>
557 <member name="last" value="8" c:identifier="FOO_LAYER_LAST"/>
559 <record name="Struct" c:type="FooStruct">
560 <field name="priv" writable="1">
561 <type name="StructPrivate" c:type="FooStructPrivate*"/>
563 <field name="member" writable="1">
564 <type name="int" c:type="int"/>
567 <record name="StructPrivate" c:type="FooStructPrivate">
569 <interface name="SubInterface"
570 c:type="FooSubInterface"
571 glib:type-name="FooSubInterface"
572 glib:get-type="foo_sub_interface_get_type"
573 glib:type-struct="SubInterfaceIface">
574 <prerequisite name="Interface"/>
575 <virtual-method name="do_bar" invoker="do_bar">
576 <return-value transfer-ownership="none">
577 <type name="none" c:type="void"/>
580 <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
581 <return-value transfer-ownership="none">
582 <type name="none" c:type="void"/>
585 <glib:signal name="destroy-event">
586 <return-value transfer-ownership="full">
587 <type name="none" c:type="void"/>
591 <record name="SubInterfaceIface"
592 c:type="FooSubInterfaceIface"
593 glib:is-gtype-struct-for="SubInterface">
594 <field name="parent_iface">
595 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
597 <callback name="destroy_event" c:type="destroy_event">
598 <return-value transfer-ownership="none">
599 <type name="none" c:type="void"/>
602 <parameter name="self" transfer-ownership="none">
603 <type name="SubInterface" c:type="FooSubInterface*"/>
607 <callback name="do_bar" c:type="do_bar">
608 <return-value transfer-ownership="none">
609 <type name="none" c:type="void"/>
612 <parameter name="self" transfer-ownership="none">
613 <type name="SubInterface" c:type="FooSubInterface*"/>
618 <class name="Subobject"
619 c:type="FooSubobject"
622 glib:type-name="FooSubobject"
623 glib:get-type="foo_subobject_get_type"
624 glib:type-struct="SubobjectClass">
625 <implements name="Interface"/>
626 <constructor name="new" c:identifier="foo_subobject_new">
627 <return-value transfer-ownership="full">
628 <type name="Subobject" c:type="FooSubobject*"/>
631 <field name="parent_instance">
632 <type name="Object" c:type="FooObject"/>
635 <record name="SubobjectClass"
636 c:type="FooSubobjectClass"
637 glib:is-gtype-struct-for="Subobject">
638 <field name="parent_class">
639 <type name="ObjectClass" c:type="FooObjectClass"/>
642 <record name="ThingWithArray" c:type="_FooThingWithArray">
643 <field name="x" writable="1">
644 <type name="int" c:type="int"/>
646 <field name="y" writable="1">
647 <type name="int" c:type="int"/>
649 <field name="lines" writable="1">
650 <array zero-terminated="0" c:type="char" fixed-size="80">
654 <field name="data" writable="1">
655 <type name="any" c:type="guchar*"/>
658 <union name="Union" c:type="_FooUnion">
659 <field name="foo" writable="1">
660 <type name="int" c:type="int"/>
663 <record name="UtilityStruct" c:type="FooUtilityStruct">
664 <field name="bar" writable="1">
665 <type name="utility.Struct" c:type="UtilityStruct"/>
668 <callback name="VarargsCallback" c:type="FooVarargsCallback">
669 <return-value transfer-ownership="none">
670 <type name="none" c:type="void"/>
673 <parameter name="param" transfer-ownership="none">
674 <type name="utf8" c:type="char*"/>
676 <parameter transfer-ownership="none">
682 <function name="enum_type_method" c:identifier="foo_enum_type_method">
683 <return-value transfer-ownership="none">
684 <type name="int" c:type="int"/>
687 <parameter name="foo_enum" transfer-ownership="none">
688 <type name="EnumType" c:type="FooEnumType"/>
692 <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
693 <return-value transfer-ownership="full">
694 <type name="EnumType" c:type="FooEnumType"/>
697 <parameter name="x" transfer-ownership="none">
698 <type name="int" c:type="int"/>
702 <function name="init" c:identifier="foo_init">
703 <return-value transfer-ownership="none">
704 <type name="int" c:type="gint"/>
707 <function name="method_external_references"
708 c:identifier="foo_method_external_references">
709 <return-value transfer-ownership="none">
710 <type name="none" c:type="void"/>
713 <parameter name="object" transfer-ownership="none">
714 <type name="utility.Object" c:type="UtilityObject*"/>
716 <parameter name="e" transfer-ownership="none">
717 <type name="utility.EnumType" c:type="UtilityEnumType"/>
719 <parameter name="f" transfer-ownership="none">
720 <type name="utility.FlagType" c:type="UtilityFlagType"/>
722 <parameter name="s" transfer-ownership="none">
723 <type name="utility.Struct" c:type="UtilityStruct"/>
727 <function name="test_const_char_param"
728 c:identifier="foo_test_const_char_param">
729 <return-value transfer-ownership="none">
730 <type name="none" c:type="void"/>
733 <parameter name="param" transfer-ownership="none">
734 <type name="utf8" c:type="char*"/>
738 <function name="test_const_char_retval"
739 c:identifier="foo_test_const_char_retval">
740 <return-value transfer-ownership="none">
741 <type name="utf8" c:type="char*"/>
744 <function name="test_const_struct_param"
745 c:identifier="foo_test_const_struct_param">
746 <return-value transfer-ownership="none">
747 <type name="none" c:type="void"/>
750 <parameter name="param" transfer-ownership="none">
751 <type name="Struct" c:type="FooStruct*"/>
755 <function name="test_const_struct_retval"
756 c:identifier="foo_test_const_struct_retval">
757 <return-value transfer-ownership="none">
758 <type name="Struct" c:type="FooStruct*"/>
761 <function name="test_string_array" c:identifier="foo_test_string_array">
762 <return-value transfer-ownership="none">
763 <type name="none" c:type="void"/>
766 <parameter name="array" transfer-ownership="none">
767 <array c:type="char**">
773 <function name="test_string_array_with_g"
774 c:identifier="foo_test_string_array_with_g">
775 <return-value transfer-ownership="none">
776 <type name="none" c:type="void"/>
779 <parameter name="array" transfer-ownership="none">
780 <array c:type="gchar**">
786 <function name="test_unsigned_qualifier"
787 c:identifier="foo_test_unsigned_qualifier">
788 <return-value transfer-ownership="none">
789 <type name="none" c:type="void"/>
792 <parameter name="unsigned_param" transfer-ownership="none">
793 <type name="uint" c:type="unsigned int"/>
797 <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
798 <return-value transfer-ownership="none">
799 <type name="none" c:type="void"/>
802 <parameter name="unsigned_param" transfer-ownership="none">
803 <type name="uint" c:type="unsigned"/>
807 <function name="test_varargs_callback"
808 c:identifier="foo_test_varargs_callback">
809 <return-value transfer-ownership="none">
810 <type name="none" c:type="void"/>
813 <parameter name="i" transfer-ownership="none">
814 <type name="int" c:type="gint"/>
816 <parameter name="callback" transfer-ownership="none">
817 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
821 <function name="test_varargs_callback2"
822 c:identifier="foo_test_varargs_callback2">
823 <return-value transfer-ownership="none">
824 <type name="none" c:type="void"/>
827 <parameter name="callback" transfer-ownership="none">
828 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
832 <function name="test_varargs_callback3"
833 c:identifier="foo_test_varargs_callback3">
834 <return-value transfer-ownership="none">
835 <type name="none" c:type="void"/>
838 <parameter name="callback" transfer-ownership="none">
839 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
841 <parameter name="callback2" transfer-ownership="none">
842 <type name="VarargsCallback" c:type="FooVarargsCallback"/>