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.2"
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="Gio" version="2.0"/>
12 <include name="Utility" version="1.0"/>
13 <package name="gobject-2.0"/>
14 <c:include name="foo.h"/>
17 shared-library="libfoo.so"
18 c:identifier-prefixes="Foo"
19 c:symbol-prefixes="foo">
20 <alias name="ObjectCookie" c:type="FooObjectCookie">
21 <type name="gpointer" c:type="gpointer"/>
23 <alias name="XEvent" c:type="FooXEvent">
24 <type name="gpointer" c:type="gpointer"/>
26 <enumeration name="ASingle" c:type="FooASingle">
27 <member name="some_single_enum"
29 c:identifier="FOO_SOME_SINGLE_ENUM"/>
31 <enumeration name="AddressType" c:type="FooAddressType">
32 <member name="invalid" value="0" c:identifier="FOO_ADDRESS_INVALID"/>
33 <member name="ipv4" value="1" c:identifier="FOO_ADDRESS_IPV4"/>
34 <member name="ipv6" value="2" c:identifier="FOO_ADDRESS_IPV6"/>
38 glib:type-name="FooBRect"
39 glib:get-type="foo_brect_get_type"
40 c:symbol-prefix="brect">
41 <field name="x" writable="1">
42 <type name="gdouble" c:type="double"/>
44 <field name="y" writable="1">
45 <type name="gdouble" c:type="double"/>
47 <constructor name="new" c:identifier="foo_brect_new">
48 <return-value transfer-ownership="full">
49 <type name="BRect" c:type="FooBRect*"/>
52 <parameter name="x" transfer-ownership="none">
53 <type name="gdouble" c:type="double"/>
55 <parameter name="y" transfer-ownership="none">
56 <type name="gdouble" c:type="double"/>
60 <method name="add" c:identifier="foo_brect_add">
61 <return-value transfer-ownership="none">
62 <type name="none" c:type="void"/>
65 <parameter name="b2" transfer-ownership="none">
66 <type name="BRect" c:type="FooBRect*"/>
73 glib:type-name="FooBUnion"
74 glib:get-type="foo_bunion_get_type"
75 c:symbol-prefix="bunion">
76 <field name="type" writable="1">
77 <type name="gint" c:type="int"/>
79 <field name="v" writable="1">
80 <type name="gdouble" c:type="double"/>
82 <field name="rect" writable="1">
83 <type name="BRect" c:type="FooBRect*"/>
85 <constructor name="new" c:identifier="foo_bunion_new">
86 <return-value transfer-ownership="full">
87 <type name="BUnion" c:type="FooBUnion*"/>
90 <method name="get_contained_type"
91 c:identifier="foo_bunion_get_contained_type">
92 <return-value transfer-ownership="none">
93 <type name="gint" c:type="int"/>
99 glib:type-name="FooBoxed"
100 glib:get-type="foo_boxed_get_type"
101 c:symbol-prefix="boxed">
102 <constructor name="new" c:identifier="foo_boxed_new">
103 <return-value transfer-ownership="full">
104 <type name="Boxed" c:type="FooBoxed*"/>
107 <method name="method" c:identifier="foo_boxed_method">
108 <return-value transfer-ownership="none">
109 <type name="none" c:type="void"/>
114 c:symbol-prefix="buffer"
117 glib:type-name="FooBuffer"
118 glib:get-type="foo_buffer_get_type"
119 glib:type-struct="BufferClass">
120 <implements name="Interface"/>
121 <method name="some_method" c:identifier="foo_buffer_some_method">
122 <return-value transfer-ownership="none">
123 <type name="none" c:type="void"/>
127 <record name="BufferClass"
128 c:type="FooBufferClass"
130 glib:is-gtype-struct-for="Buffer">
132 <callback name="Callback" c:type="FooCallback">
133 <return-value transfer-ownership="none">
134 <type name="gboolean" c:type="gboolean"/>
137 <parameter name="foo" transfer-ownership="none">
138 <type name="Object" c:type="FooObject*"/>
140 <parameter name="b" transfer-ownership="none">
141 <type name="gboolean" c:type="gboolean"/>
143 <parameter name="data" transfer-ownership="none">
144 <type name="gpointer" c:type="gpointer"/>
148 <record name="DBusData"
150 glib:type-name="FooDBusData"
151 glib:get-type="foo_dbus_data_get_type"
152 c:symbol-prefix="dbus_data">
153 <method name="method" c:identifier="foo_dbus_data_method">
154 <return-value transfer-ownership="none">
155 <type name="none" c:type="void"/>
159 <constant name="DEFINE_SHOULD_BE_EXPOSED"
160 value="should be exposed"
161 c:type="FOO_DEFINE_SHOULD_BE_EXPOSED">
162 <type name="utf8" c:type="gchar*"/>
164 <enumeration name="EnumFullname" c:type="FooEnumFullname">
165 <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
166 <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
167 <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
169 <enumeration name="EnumNoType" c:type="FooEnumNoType">
170 <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
171 <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
172 <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
173 <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
175 <enumeration name="EnumType"
176 glib:type-name="FooEnumType"
177 glib:get-type="foo_enum_type_get_type"
178 c:type="FooEnumType">
181 c:identifier="FOO_ENUM_ALPHA"
185 c:identifier="FOO_ENUM_BETA"
189 c:identifier="FOO_ENUM_DELTA"
191 <function name="method" c:identifier="foo_enum_type_method">
192 <return-value transfer-ownership="none">
193 <type name="gint" c:type="int"/>
196 <parameter name="foo_enum" transfer-ownership="none">
197 <type name="EnumType" c:type="FooEnumType"/>
201 <function name="returnv" c:identifier="foo_enum_type_returnv">
202 <return-value transfer-ownership="none">
203 <type name="EnumType" c:type="FooEnumType"/>
206 <parameter name="x" transfer-ownership="none">
207 <type name="gint" c:type="int"/>
212 <enumeration name="Error"
213 glib:type-name="FooError"
214 glib:get-type="foo_error_get_type"
216 glib:error-domain="foo-error-quark">
219 c:identifier="FOO_ERROR_GOOD"
223 c:identifier="FOO_ERROR_BAD"
227 c:identifier="FOO_ERROR_UGLY"
229 <function name="quark" c:identifier="foo_error_quark">
230 <return-value transfer-ownership="none">
231 <type name="GLib.Quark" c:type="GQuark"/>
235 <union name="Event" c:type="FooEvent">
236 <field name="type" writable="1">
237 <type name="gint" c:type="int"/>
239 <field name="any" writable="1">
240 <type name="EventAny" c:type="FooEventAny"/>
242 <field name="expose" writable="1">
243 <type name="EventExpose" c:type="FooEventExpose"/>
246 <record name="EventAny" c:type="FooEventAny">
247 <field name="send_event" writable="1">
248 <type name="gint8" c:type="gint8"/>
251 <record name="EventExpose" c:type="FooEventExpose">
252 <field name="send_event" writable="1">
253 <type name="gint8" c:type="gint8"/>
255 <field name="count" writable="1">
256 <type name="gint" c:type="gint"/>
259 <bitfield name="FlagsNoType" c:type="FooFlagsNoType">
260 <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
261 <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
262 <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
264 <bitfield name="FlagsType"
265 glib:type-name="FooFlagsType"
266 glib:get-type="foo_flags_type_get_type"
267 c:type="FooFlagsType">
270 c:identifier="FOO_FLAGS_FIRST"
272 <member name="second"
274 c:identifier="FOO_FLAGS_SECOND"
278 c:identifier="FOO_FLAGS_THIRD"
281 <record name="ForeignStruct" c:type="FooForeignStruct" foreign="1">
282 <field name="foo" writable="1">
283 <type name="gint" c:type="int"/>
285 <constructor name="new" c:identifier="foo_foreign_struct_new">
286 <return-value transfer-ownership="full">
287 <type name="ForeignStruct" c:type="FooForeignStruct*"/>
290 <method name="copy" c:identifier="foo_foreign_struct_copy">
291 <return-value transfer-ownership="full">
292 <type name="ForeignStruct" c:type="FooForeignStruct*"/>
296 <interface name="Interface"
297 c:symbol-prefix="interface"
298 c:type="FooInterface"
299 glib:type-name="FooInterface"
300 glib:get-type="foo_interface_get_type"
301 glib:type-struct="InterfaceIface">
302 <function name="static_method"
303 c:identifier="foo_interface_static_method">
304 <return-value transfer-ownership="none">
305 <type name="none" c:type="void"/>
308 <parameter name="x" transfer-ownership="none">
309 <type name="gint" c:type="int"/>
313 <virtual-method name="do_foo" invoker="do_foo">
314 <return-value transfer-ownership="none">
315 <type name="none" c:type="void"/>
318 <parameter name="x" transfer-ownership="none">
319 <type name="gint" c:type="int"/>
323 <method name="do_foo" c:identifier="foo_interface_do_foo">
324 <return-value transfer-ownership="none">
325 <type name="none" c:type="void"/>
328 <parameter name="x" transfer-ownership="none">
329 <type name="gint" c:type="int"/>
334 <record name="InterfaceIface"
335 c:type="FooInterfaceIface"
336 glib:is-gtype-struct-for="Interface">
337 <field name="parent_iface">
338 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
340 <field name="do_foo">
341 <callback name="do_foo">
342 <return-value transfer-ownership="none">
343 <type name="none" c:type="void"/>
346 <parameter name="self" transfer-ownership="none">
347 <type name="Interface" c:type="FooInterface*"/>
349 <parameter name="x" transfer-ownership="none">
350 <type name="gint" c:type="int"/>
357 c:symbol-prefix="object"
359 parent="GObject.Object"
360 glib:type-name="FooObject"
361 glib:get-type="foo_object_get_type"
362 glib:type-struct="ObjectClass">
363 <implements name="Interface"/>
364 <constructor name="new" c:identifier="foo_object_new">
365 <return-value transfer-ownership="full">
366 <type name="Object" c:type="FooObject*"/>
369 <constructor name="new_as_super" c:identifier="foo_object_new_as_super">
370 <return-value transfer-ownership="full">
371 <type name="GObject.Object" c:type="GObject*"/>
374 <function name="a_global_method"
375 c:identifier="foo_object_a_global_method">
376 <return-value transfer-ownership="none">
377 <type name="none" c:type="void"/>
380 <parameter name="obj" transfer-ownership="none">
381 <type name="Utility.Object" c:type="UtilityObject*"/>
385 <function name="get_default" c:identifier="foo_object_get_default">
386 <doc xml:whitespace="preserve">This function is intended to match clutter_stage_get_default which
387 uses a C sugar return type.</doc>
388 <return-value transfer-ownership="none">
389 <doc xml:whitespace="preserve">The global #FooSubobject</doc>
390 <type name="Subobject" c:type="FooObject*"/>
393 <function name="static_meth" c:identifier="foo_object_static_meth">
394 <return-value transfer-ownership="none">
395 <type name="gint" c:type="int"/>
398 <virtual-method name="read_fn" invoker="read">
399 <doc xml:whitespace="preserve">Read some stuff.</doc>
400 <return-value transfer-ownership="none">
401 <type name="none" c:type="void"/>
404 <parameter name="offset" transfer-ownership="none">
405 <doc xml:whitespace="preserve">offset</doc>
406 <type name="gint" c:type="int"/>
408 <parameter name="length" transfer-ownership="none">
409 <doc xml:whitespace="preserve">length</doc>
410 <type name="gint" c:type="int"/>
414 <virtual-method name="virtual_method" invoker="virtual_method">
415 <return-value transfer-ownership="none">
416 <type name="gboolean" c:type="gboolean"/>
419 <parameter name="first_param" transfer-ownership="none">
420 <type name="gint" c:type="int"/>
424 <method name="append_new_stack_layer"
425 c:identifier="foo_object_append_new_stack_layer">
426 <doc xml:whitespace="preserve">This shouldn't be scanned as a constructor.</doc>
427 <return-value transfer-ownership="none">
428 <type name="OtherObject" c:type="FooOtherObject*"/>
431 <parameter name="x" transfer-ownership="none">
432 <type name="gint" c:type="int"/>
436 <method name="dup_name" c:identifier="foo_object_dup_name">
437 <return-value transfer-ownership="full">
438 <type name="utf8" c:type="char*"/>
441 <method name="external_type" c:identifier="foo_object_external_type">
442 <return-value transfer-ownership="none">
443 <doc xml:whitespace="preserve">%NULL always</doc>
444 <type name="Utility.Object" c:type="UtilityObject*"/>
447 <method name="get_name" c:identifier="foo_object_get_name">
448 <return-value transfer-ownership="none">
449 <type name="utf8" c:type="char*"/>
452 <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
453 <return-value transfer-ownership="none">
454 <type name="none" c:type="void"/>
457 <parameter name="glyph" transfer-ownership="none">
458 <type name="Utility.Glyph" c:type="UtilityGlyph"/>
462 <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
463 <return-value transfer-ownership="none">
464 <type name="none" c:type="void"/>
467 <parameter name="time" transfer-ownership="none">
468 <type name="glong" c:type="time_t"/>
472 <method name="new_cookie"
473 c:identifier="foo_object_new_cookie"
475 <doc xml:whitespace="preserve">Not sure why this test is here...</doc>
477 <type name="ObjectCookie" c:type="FooObjectCookie"/>
480 <parameter name="target" transfer-ownership="none">
481 <type name="utf8" c:type="char*"/>
485 <method name="read" c:identifier="foo_object_read">
486 <doc xml:whitespace="preserve">Read some stuff.</doc>
487 <return-value transfer-ownership="none">
488 <type name="none" c:type="void"/>
491 <parameter name="offset" transfer-ownership="none">
492 <doc xml:whitespace="preserve">offset</doc>
493 <type name="gint" c:type="int"/>
495 <parameter name="length" transfer-ownership="none">
496 <doc xml:whitespace="preserve">length</doc>
497 <type name="gint" c:type="int"/>
501 <method name="skipped_method"
502 c:identifier="foo_object_skipped_method"
504 <doc xml:whitespace="preserve">This is only useful from C.</doc>
505 <return-value transfer-ownership="none">
506 <type name="none" c:type="void"/>
509 <method name="take_all"
510 c:identifier="foo_object_take_all"
512 <return-value transfer-ownership="none">
513 <type name="none" c:type="void"/>
516 <parameter name="x" transfer-ownership="none">
517 <type name="gint" c:type="int"/>
519 <parameter transfer-ownership="none">
525 <method name="various" c:identifier="foo_object_various">
526 <return-value transfer-ownership="none">
527 <type name="none" c:type="void"/>
530 <parameter name="data" transfer-ownership="none">
531 <type name="gpointer" c:type="void*"/>
533 <parameter name="some_type" transfer-ownership="none">
534 <type name="GType" c:type="GType"/>
538 <method name="virtual_method" c:identifier="foo_object_virtual_method">
539 <return-value transfer-ownership="none">
540 <type name="gboolean" c:type="gboolean"/>
543 <parameter name="first_param" transfer-ownership="none">
544 <type name="gint" c:type="int"/>
548 <property name="hidden"
552 transfer-ownership="none">
555 <property name="string"
558 transfer-ownership="none">
561 <field name="parent_instance">
562 <type name="GObject.Object" c:type="GObject"/>
564 <field name="some_int">
565 <type name="gint" c:type="int"/>
567 <glib:signal name="signal" when="last">
568 <return-value transfer-ownership="full">
572 <parameter name="object" transfer-ownership="none">
573 <type name="GObject.Object"/>
575 <parameter name="p0" transfer-ownership="none">
576 <type name="gpointer"/>
581 <record name="ObjectClass"
582 c:type="FooObjectClass"
583 glib:is-gtype-struct-for="Object">
584 <field name="parent_class">
585 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
587 <field name="virtual_method">
588 <callback name="virtual_method">
589 <return-value transfer-ownership="none">
590 <type name="gboolean" c:type="gboolean"/>
593 <parameter name="object" transfer-ownership="none">
594 <type name="Object" c:type="FooObject*"/>
596 <parameter name="first_param" transfer-ownership="none">
597 <type name="gint" c:type="int"/>
602 <field name="read_fn">
603 <callback name="read_fn">
604 <return-value transfer-ownership="none">
605 <type name="none" c:type="void"/>
608 <parameter name="object" transfer-ownership="none">
609 <type name="Object" c:type="FooObject*"/>
611 <parameter name="offset" transfer-ownership="none">
612 <doc xml:whitespace="preserve">offset</doc>
613 <type name="gint" c:type="int"/>
615 <parameter name="length" transfer-ownership="none">
616 <doc xml:whitespace="preserve">length</doc>
617 <type name="gint" c:type="int"/>
622 <field name="_reserved">
623 <array zero-terminated="0" c:type="GCallback" fixed-size="4">
624 <type name="GObject.Callback" c:type="GCallback"/>
628 <class name="OtherObject"
629 c:symbol-prefix="other_object"
630 c:type="FooOtherObject"
631 parent="GObject.Object"
632 glib:type-name="FooOtherObject"
633 glib:get-type="foo_other_object_get_type"
634 glib:type-struct="OtherObjectClass">
636 <record name="OtherObjectClass"
637 c:type="FooOtherObjectClass"
639 glib:is-gtype-struct-for="OtherObject">
641 <constant name="PIE_IS_TASTY" value="3.141590" c:type="FOO_PIE_IS_TASTY">
642 <type name="gdouble" c:type="gdouble"/>
644 <record name="Rectangle" c:type="FooRectangle">
645 <field name="x" writable="1">
646 <type name="gint" c:type="gint"/>
648 <field name="y" writable="1">
649 <type name="gint" c:type="gint"/>
651 <field name="width" writable="1">
652 <type name="gint" c:type="gint"/>
654 <field name="height" writable="1">
655 <type name="gint" c:type="gint"/>
657 <method name="add" c:identifier="foo_rectangle_add">
658 <return-value transfer-ownership="none">
659 <type name="none" c:type="void"/>
662 <parameter name="r2" transfer-ownership="none">
663 <doc xml:whitespace="preserve">source rectangle</doc>
664 <type name="Rectangle" c:type="FooRectangle*"/>
668 <function name="new" c:identifier="foo_rectangle_new" introspectable="0">
669 <doc xml:whitespace="preserve">This is a C convenience constructor; we have to (skip)
670 it because it's not a boxed type.</doc>
672 <type name="Rectangle" c:type="FooRectangle*"/>
675 <parameter name="x" transfer-ownership="none">
676 <type name="gint" c:type="int"/>
678 <parameter name="y" transfer-ownership="none">
679 <type name="gint" c:type="int"/>
681 <parameter name="width" transfer-ownership="none">
682 <type name="gint" c:type="int"/>
684 <parameter name="height" transfer-ownership="none">
685 <type name="gint" c:type="int"/>
690 <constant name="SUCCESS_INT" value="4408" c:type="FOO_SUCCESS_INT">
691 <type name="gint" c:type="gint"/>
693 <enumeration name="Skippable" introspectable="0" c:type="FooSkippable">
694 <doc xml:whitespace="preserve">Some type that is only interesting from C and should not be
695 exposed to language bindings.</doc>
696 <member name="one" value="0" c:identifier="FOO_SKIPPABLE_ONE"/>
697 <member name="two" value="1" c:identifier="FOO_SKIPPABLE_TWO"/>
699 <enumeration name="StackLayer" c:type="FooStackLayer">
700 <member name="desktop" value="0" c:identifier="FOO_LAYER_DESKTOP"/>
701 <member name="bottom" value="1" c:identifier="FOO_LAYER_BOTTOM"/>
702 <member name="normal" value="2" c:identifier="FOO_LAYER_NORMAL"/>
703 <member name="top" value="4" c:identifier="FOO_LAYER_TOP"/>
704 <member name="dock" value="4" c:identifier="FOO_LAYER_DOCK"/>
705 <member name="fullscreen" value="5" c:identifier="FOO_LAYER_FULLSCREEN"/>
706 <member name="focused_window"
708 c:identifier="FOO_LAYER_FOCUSED_WINDOW"/>
709 <member name="override_redirect"
711 c:identifier="FOO_LAYER_OVERRIDE_REDIRECT"/>
712 <member name="last" value="8" c:identifier="FOO_LAYER_LAST"/>
714 <record name="Struct" c:type="FooStruct">
715 <field name="priv" writable="1">
716 <type name="StructPrivate" c:type="FooStructPrivate*"/>
718 <field name="member" writable="1">
719 <type name="gint" c:type="int"/>
722 <record name="StructPrivate" c:type="FooStructPrivate" disguised="1">
724 <interface name="SubInterface"
725 c:symbol-prefix="sub_interface"
726 c:type="FooSubInterface"
727 glib:type-name="FooSubInterface"
728 glib:get-type="foo_sub_interface_get_type"
729 glib:type-struct="SubInterfaceIface">
730 <prerequisite name="Interface"/>
731 <virtual-method name="destroy_event">
732 <return-value transfer-ownership="none">
733 <type name="none" c:type="void"/>
736 <virtual-method name="do_bar" invoker="do_bar">
737 <return-value transfer-ownership="none">
738 <type name="none" c:type="void"/>
741 <virtual-method name="do_baz" invoker="do_baz">
742 <return-value transfer-ownership="none">
743 <type name="none" c:type="void"/>
746 <parameter name="callback"
747 transfer-ownership="none"
750 <type name="GObject.Callback" c:type="GCallback"/>
752 <parameter name="data" transfer-ownership="none">
753 <type name="gpointer" c:type="gpointer"/>
757 <virtual-method name="do_moo" invoker="do_moo">
758 <return-value transfer-ownership="none">
759 <type name="none" c:type="void"/>
762 <parameter transfer-ownership="none">
763 <type name="gint" c:type="int"/>
765 <parameter transfer-ownership="none">
766 <type name="gpointer" c:type="gpointer"/>
770 <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
771 <return-value transfer-ownership="none">
772 <type name="none" c:type="void"/>
775 <method name="do_baz" c:identifier="foo_sub_interface_do_baz">
776 <return-value transfer-ownership="none">
777 <type name="none" c:type="void"/>
780 <parameter name="callback"
781 transfer-ownership="none"
784 <type name="GObject.Callback" c:type="GCallback"/>
786 <parameter name="data" transfer-ownership="none">
787 <type name="gpointer" c:type="gpointer"/>
791 <method name="do_moo" c:identifier="foo_sub_interface_do_moo">
792 <return-value transfer-ownership="none">
793 <type name="none" c:type="void"/>
796 <parameter transfer-ownership="none">
797 <type name="gint" c:type="int"/>
799 <parameter transfer-ownership="none">
800 <type name="gpointer" c:type="gpointer"/>
804 <glib:signal name="destroy-event" when="last">
805 <return-value transfer-ownership="none">
810 <record name="SubInterfaceIface"
811 c:type="FooSubInterfaceIface"
812 glib:is-gtype-struct-for="SubInterface">
813 <field name="parent_iface">
814 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
816 <field name="destroy_event">
817 <callback name="destroy_event">
818 <return-value transfer-ownership="none">
819 <type name="none" c:type="void"/>
822 <parameter name="self" transfer-ownership="none">
823 <type name="SubInterface" c:type="FooSubInterface*"/>
828 <field name="do_bar">
829 <callback name="do_bar">
830 <return-value transfer-ownership="none">
831 <type name="none" c:type="void"/>
834 <parameter name="self" transfer-ownership="none">
835 <type name="SubInterface" c:type="FooSubInterface*"/>
840 <field name="do_moo">
841 <callback name="do_moo">
842 <return-value transfer-ownership="none">
843 <type name="none" c:type="void"/>
846 <parameter name="self" transfer-ownership="none">
847 <type name="SubInterface" c:type="FooSubInterface*"/>
849 <parameter transfer-ownership="none">
850 <type name="gint" c:type="int"/>
852 <parameter transfer-ownership="none">
853 <type name="gpointer" c:type="gpointer"/>
858 <field name="do_baz">
859 <callback name="do_baz">
860 <return-value transfer-ownership="none">
861 <type name="none" c:type="void"/>
864 <parameter name="self" transfer-ownership="none">
865 <type name="SubInterface" c:type="FooSubInterface*"/>
867 <parameter name="callback"
868 transfer-ownership="none"
871 <type name="GObject.Callback" c:type="GCallback"/>
873 <parameter name="data" transfer-ownership="none">
874 <type name="gpointer" c:type="gpointer"/>
880 <class name="Subobject"
881 c:symbol-prefix="subobject"
882 c:type="FooSubobject"
885 glib:type-name="FooSubobject"
886 glib:get-type="foo_subobject_get_type"
887 glib:type-struct="SubobjectClass">
888 <implements name="Interface"/>
889 <constructor name="new" c:identifier="foo_subobject_new">
890 <return-value transfer-ownership="full">
891 <type name="Subobject" c:type="FooSubobject*"/>
894 <field name="parent_instance">
895 <type name="Object" c:type="FooObject"/>
898 <record name="SubobjectClass"
899 c:type="FooSubobjectClass"
900 glib:is-gtype-struct-for="Subobject">
901 <field name="parent_class">
902 <type name="ObjectClass" c:type="FooObjectClass"/>
905 <record name="ThingWithArray" c:type="FooThingWithArray">
906 <field name="x" writable="1">
907 <type name="gint" c:type="int"/>
909 <field name="y" writable="1">
910 <type name="gint" c:type="int"/>
912 <field name="lines" writable="1">
913 <array zero-terminated="0" c:type="gchar" fixed-size="80">
914 <type name="gchar" c:type="char"/>
917 <field name="data" writable="1">
918 <type name="guint8" c:type="guchar*"/>
921 <union name="Union" c:type="FooUnion">
922 <field name="foo" writable="1">
923 <type name="gint" c:type="int"/>
926 <record name="UtilityStruct" c:type="FooUtilityStruct">
927 <field name="bar" writable="1">
928 <type name="Utility.Struct" c:type="UtilityStruct"/>
931 <callback name="VarargsCallback"
932 c:type="FooVarargsCallback"
934 <return-value transfer-ownership="none">
935 <type name="none" c:type="void"/>
938 <parameter name="param" transfer-ownership="none">
939 <type name="utf8" c:type="char*"/>
941 <parameter transfer-ownership="none">
947 <function name="async_ready_callback"
948 c:identifier="foo_async_ready_callback">
949 <return-value transfer-ownership="none">
950 <type name="none" c:type="void"/>
953 <parameter name="cancellable" transfer-ownership="none" allow-none="1">
954 <type name="Gio.Cancellable" c:type="GCancellable*"/>
956 <parameter name="callback"
957 transfer-ownership="none"
961 <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
963 <parameter name="user_data" transfer-ownership="none">
964 <type name="gpointer" c:type="gpointer"/>
968 <function name="destroy_notify_callback"
969 c:identifier="foo_destroy_notify_callback">
970 <return-value transfer-ownership="none">
971 <type name="none" c:type="void"/>
974 <parameter name="callback"
975 transfer-ownership="none"
979 <type name="Callback" c:type="FooCallback"/>
981 <parameter name="data" transfer-ownership="none">
982 <type name="gpointer" c:type="gpointer"/>
984 <parameter name="destroy" transfer-ownership="none" scope="async">
985 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
989 <function name="enum_type_method"
990 c:identifier="foo_enum_type_method"
991 moved-to="EnumType.method">
992 <return-value transfer-ownership="none">
993 <type name="gint" c:type="int"/>
996 <parameter name="foo_enum" transfer-ownership="none">
997 <type name="EnumType" c:type="FooEnumType"/>
1001 <function name="enum_type_returnv"
1002 c:identifier="foo_enum_type_returnv"
1003 moved-to="EnumType.returnv">
1004 <return-value transfer-ownership="none">
1005 <type name="EnumType" c:type="FooEnumType"/>
1008 <parameter name="x" transfer-ownership="none">
1009 <type name="gint" c:type="int"/>
1013 <function name="error_quark"
1014 c:identifier="foo_error_quark"
1015 moved-to="Error.quark">
1016 <return-value transfer-ownership="none">
1017 <type name="GLib.Quark" c:type="GQuark"/>
1020 <function name="init" c:identifier="foo_init">
1021 <return-value transfer-ownership="none">
1022 <type name="gint" c:type="gint"/>
1025 <function name="interface_static_method"
1026 c:identifier="foo_interface_static_method"
1027 moved-to="Interface.static_method">
1028 <return-value transfer-ownership="none">
1029 <type name="none" c:type="void"/>
1032 <parameter name="x" transfer-ownership="none">
1033 <type name="gint" c:type="int"/>
1037 <function name="method_external_references"
1038 c:identifier="foo_method_external_references">
1039 <return-value transfer-ownership="none">
1040 <type name="none" c:type="void"/>
1043 <parameter name="object" transfer-ownership="none">
1044 <type name="Utility.Object" c:type="UtilityObject*"/>
1046 <parameter name="e" transfer-ownership="none">
1047 <type name="Utility.EnumType" c:type="UtilityEnumType"/>
1049 <parameter name="f" transfer-ownership="none">
1050 <type name="Utility.FlagType" c:type="UtilityFlagType"/>
1052 <parameter name="s" transfer-ownership="none">
1053 <type name="Utility.Struct" c:type="UtilityStruct"/>
1057 <function name="rectangle_new"
1058 c:identifier="foo_rectangle_new"
1059 moved-to="Rectangle.new"
1061 <doc xml:whitespace="preserve">This is a C convenience constructor; we have to (skip)
1062 it because it's not a boxed type.</doc>
1064 <type name="Rectangle" c:type="FooRectangle*"/>
1067 <parameter name="x" transfer-ownership="none">
1068 <type name="gint" c:type="int"/>
1070 <parameter name="y" transfer-ownership="none">
1071 <type name="gint" c:type="int"/>
1073 <parameter name="width" transfer-ownership="none">
1074 <type name="gint" c:type="int"/>
1076 <parameter name="height" transfer-ownership="none">
1077 <type name="gint" c:type="int"/>
1081 <function name="skip_me" c:identifier="foo_skip_me" introspectable="0">
1082 <doc xml:whitespace="preserve">Does something that's only interesting from C and should not be
1083 exposed to language bindings.</doc>
1084 <return-value transfer-ownership="none">
1085 <type name="none" c:type="void"/>
1088 <parameter name="fs" transfer-ownership="none">
1089 <doc xml:whitespace="preserve">a #FooSkippable</doc>
1090 <type name="Skippable" c:type="FooSkippable"/>
1094 <function name="some_variant"
1095 c:identifier="foo_some_variant"
1097 <return-value transfer-ownership="none">
1098 <type name="none" c:type="void"/>
1101 <parameter name="x" transfer-ownership="none">
1102 <type name="guint" c:type="guint"/>
1104 <parameter name="args" transfer-ownership="none">
1105 <type name="va_list" c:type="va_list"/>
1109 <function name="some_variant_ptr"
1110 c:identifier="foo_some_variant_ptr"
1112 <return-value transfer-ownership="none">
1113 <type name="none" c:type="void"/>
1116 <parameter name="x" transfer-ownership="none">
1117 <type name="guint" c:type="guint"/>
1119 <parameter name="args" transfer-ownership="none">
1120 <type name="va_list" c:type="va_list*"/>
1124 <function name="test_array" c:identifier="foo_test_array">
1125 <return-value transfer-ownership="container">
1126 <array name="GLib.Array" c:type="GArray*">
1131 <function name="test_const_char_param"
1132 c:identifier="foo_test_const_char_param">
1133 <return-value transfer-ownership="none">
1134 <type name="none" c:type="void"/>
1137 <parameter name="param" transfer-ownership="none">
1138 <type name="utf8" c:type="char*"/>
1142 <function name="test_const_char_retval"
1143 c:identifier="foo_test_const_char_retval">
1144 <return-value transfer-ownership="none">
1145 <type name="utf8" c:type="char*"/>
1148 <function name="test_const_struct_param"
1149 c:identifier="foo_test_const_struct_param">
1150 <return-value transfer-ownership="none">
1151 <type name="none" c:type="void"/>
1154 <parameter name="param" transfer-ownership="none">
1155 <type name="Struct" c:type="FooStruct*"/>
1159 <function name="test_const_struct_retval"
1160 c:identifier="foo_test_const_struct_retval">
1161 <return-value transfer-ownership="none">
1162 <type name="Struct" c:type="FooStruct*"/>
1165 <function name="test_string_array" c:identifier="foo_test_string_array">
1166 <return-value transfer-ownership="none">
1167 <type name="none" c:type="void"/>
1170 <parameter name="array" transfer-ownership="none">
1171 <array c:type="char**">
1172 <type name="utf8" c:type="char*"/>
1177 <function name="test_string_array_with_g"
1178 c:identifier="foo_test_string_array_with_g">
1179 <return-value transfer-ownership="none">
1180 <type name="none" c:type="void"/>
1183 <parameter name="array" transfer-ownership="none">
1184 <array c:type="gchar**">
1185 <type name="utf8" c:type="gchar*"/>
1190 <function name="test_unsigned_qualifier"
1191 c:identifier="foo_test_unsigned_qualifier">
1192 <return-value transfer-ownership="none">
1193 <type name="none" c:type="void"/>
1196 <parameter name="unsigned_param" transfer-ownership="none">
1197 <type name="guint" c:type="unsigned int"/>
1201 <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
1202 <return-value transfer-ownership="none">
1203 <type name="none" c:type="void"/>
1206 <parameter name="unsigned_param" transfer-ownership="none">
1207 <type name="guint" c:type="unsigned"/>
1211 <function name="test_varargs_callback"
1212 c:identifier="foo_test_varargs_callback"
1214 <return-value transfer-ownership="none">
1215 <type name="none" c:type="void"/>
1218 <parameter name="i" transfer-ownership="none">
1219 <type name="gint" c:type="gint"/>
1221 <parameter name="callback" transfer-ownership="none">
1222 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
1226 <function name="test_varargs_callback2"
1227 c:identifier="foo_test_varargs_callback2"
1229 <return-value transfer-ownership="none">
1230 <type name="none" c:type="void"/>
1233 <parameter name="callback" transfer-ownership="none">
1234 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
1238 <function name="test_varargs_callback3"
1239 c:identifier="foo_test_varargs_callback3"
1241 <return-value transfer-ownership="none">
1242 <type name="none" c:type="void"/>
1245 <parameter name="callback" transfer-ownership="none">
1246 <type name="VarargsCallback" c:type="FooVarargsCallback"/>
1248 <parameter name="callback2" transfer-ownership="none">
1249 <type name="VarargsCallback" c:type="FooVarargsCallback"/>