xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
+ <include name="Gio" version="2.0"/>
<include name="utility" version="1.0"/>
- <namespace name="foo" version="1.0" shared-library="foo">
+ <package name="gobject-2.0"/>
+ <c:include name="foo.h"/>
+ <namespace name="foo"
+ version="1.0"
+ shared-library="libfoo.so"
+ c:prefix="foo">
<alias name="List" target="GLib.SList" c:type="FooList"/>
- <alias name="XEvent" target="none" c:type="FooXEvent"/>
<alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
- <interface name="Interface"
- c:type="FooInterface"
- glib:type-name="FooInterface"
- glib:get-type="foo_interface_get_type">
- <callback name="do_foo" c:type="do_foo">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+ <alias name="XEvent" target="none" c:type="FooXEvent"/>
+ <enumeration name="ASingle" c:type="FooASingle">
+ <member name="some_single_enum"
+ value="0"
+ c:identifier="FOO_SOME_SINGLE_ENUM"/>
+ </enumeration>
+ <enumeration name="AddressType" c:type="FooAddressType">
+ <member name="invalid" value="0" c:identifier="FOO_ADDRESS_INVALID"/>
+ <member name="ipv4" value="1" c:identifier="FOO_ADDRESS_IPV4"/>
+ <member name="ipv6" value="2" c:identifier="FOO_ADDRESS_IPV6"/>
+ </enumeration>
+ <record name="BRect"
+ c:type="FooBRect"
+ glib:type-name="FooBRect"
+ glib:get-type="foo_brect_get_type">
+ <field name="x" writable="1">
+ <type name="double" c:type="double"/>
+ </field>
+ <field name="y" writable="1">
+ <type name="double" c:type="double"/>
+ </field>
+ <constructor name="new" c:identifier="foo_brect_new">
+ <return-value transfer-ownership="full">
+ <type name="BRect" c:type="FooBRect*"/>
</return-value>
<parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="Interface" c:type="FooInterface*"/>
+ <parameter name="x" transfer-ownership="none">
+ <type name="double" c:type="double"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="double" c:type="double"/>
</parameter>
</parameters>
- </callback>
- </interface>
- <record name="InterfaceIface" c:type="FooInterfaceIface">
- <field name="parent_iface">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <callback name="do_foo" c:type="do_foo">
+ </constructor>
+ <method name="add" c:identifier="foo_brect_add">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="Interface" c:type="FooInterface*"/>
+ <parameter name="b2" transfer-ownership="none">
+ <type name="BRect" c:type="FooBRect*"/>
</parameter>
</parameters>
- </callback>
+ </method>
</record>
- <interface name="SubInterface"
- c:type="FooSubInterface"
- glib:type-name="FooSubInterface"
- glib:get-type="foo_sub_interface_get_type">
- <prerequisite name="Interface"/>
- <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
+ <union name="BUnion"
+ c:type="FooBUnion"
+ glib:type-name="FooBUnion"
+ glib:get-type="foo_bunion_get_type">
+ <field name="type" writable="1">
+ <type name="int" c:type="int"/>
+ </field>
+ <field name="v" writable="1">
+ <type name="double" c:type="double"/>
+ </field>
+ <field name="rect" writable="1">
+ <type name="BRect" c:type="FooBRect*"/>
+ </field>
+ <constructor name="new" c:identifier="foo_bunion_new">
+ <return-value transfer-ownership="full">
+ <type name="BUnion" c:type="FooBUnion*"/>
+ </return-value>
+ </constructor>
+ <method name="get_contained_type"
+ c:identifier="foo_bunion_get_contained_type">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ </method>
+ </union>
+ <record name="Boxed"
+ c:type="FooBoxed"
+ glib:type-name="FooBoxed"
+ glib:get-type="foo_boxed_get_type">
+ <constructor name="new" c:identifier="foo_boxed_new">
+ <return-value transfer-ownership="full">
+ <type name="Boxed" c:type="FooBoxed*"/>
+ </return-value>
+ </constructor>
+ <method name="method" c:identifier="foo_boxed_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <class name="Buffer"
+ c:type="FooBuffer"
+ parent="Object"
+ glib:type-name="FooBuffer"
+ glib:get-type="foo_buffer_get_type"
+ glib:type-struct="BufferClass">
+ <implements name="Interface"/>
+ <method name="some_method" c:identifier="foo_buffer_some_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </class>
+ <record name="BufferClass"
+ c:type="FooBufferClass"
+ glib:is-gtype-struct-for="Buffer">
+ </record>
+ <callback name="Callback" c:type="FooCallback">
+ <return-value transfer-ownership="none">
+ <type name="boolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="foo" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </parameter>
+ <parameter name="b" transfer-ownership="none">
+ <type name="boolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="DBusData"
+ c:type="FooDBusData"
+ glib:type-name="FooDBusData"
+ glib:get-type="foo_dbus_data_get_type">
+ <method name="method" c:identifier="foo_dbus_data_method">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
- <callback name="do_bar" c:type="do_bar">
+ </record>
+ <constant name="DEFINE_SHOULD_BE_EXPOSED" value="should be exposed">
+ <type name="utf8"/>
+ </constant>
+ <enumeration name="EnumFullname" c:type="FooEnumFullname">
+ <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
+ <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
+ <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
+ </enumeration>
+ <enumeration name="EnumNoType" c:type="FooEnumNoType">
+ <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
+ <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
+ <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
+ <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
+ </enumeration>
+ <enumeration name="EnumType"
+ glib:type-name="FooEnumType"
+ glib:get-type="foo_enum_type_get_type"
+ c:type="FooEnumType">
+ <member name="alpha"
+ value="0"
+ c:identifier="FOO_ENUM_ALPHA"
+ glib:nick="alpha"/>
+ <member name="beta"
+ value="1"
+ c:identifier="FOO_ENUM_BETA"
+ glib:nick="beta"/>
+ <member name="delta"
+ value="2"
+ c:identifier="FOO_ENUM_DELTA"
+ glib:nick="delta"/>
+ </enumeration>
+ <enumeration name="Error"
+ glib:type-name="FooError"
+ glib:get-type="foo_error_get_type"
+ c:type="FooError"
+ glib:error-quark="foo_error_quark">
+ <member name="good"
+ value="0"
+ c:identifier="FOO_ERROR_GOOD"
+ glib:nick="good"/>
+ <member name="bad"
+ value="1"
+ c:identifier="FOO_ERROR_BAD"
+ glib:nick="bad"/>
+ <member name="ugly"
+ value="2"
+ c:identifier="FOO_ERROR_UGLY"
+ glib:nick="ugly"/>
+ </enumeration>
+ <union name="Event" c:type="FooEvent">
+ <field name="type" writable="1">
+ <type name="int" c:type="int"/>
+ </field>
+ <field name="any" writable="1">
+ <type name="EventAny" c:type="FooEventAny"/>
+ </field>
+ <field name="expose" writable="1">
+ <type name="EventExpose" c:type="FooEventExpose"/>
+ </field>
+ </union>
+ <record name="EventAny" c:type="FooEventAny">
+ <field name="send_event" writable="1">
+ <type name="int8" c:type="gint8"/>
+ </field>
+ </record>
+ <record name="EventExpose" c:type="FooEventExpose">
+ <field name="send_event" writable="1">
+ <type name="int8" c:type="gint8"/>
+ </field>
+ <field name="count" writable="1">
+ <type name="int" c:type="gint"/>
+ </field>
+ </record>
+ <bitfield name="FlagsNoType" c:type="FooFlagsNoType">
+ <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
+ <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
+ <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
+ </bitfield>
+ <bitfield name="FlagsType"
+ glib:type-name="FooFlagsType"
+ glib:get-type="foo_flags_type_get_type"
+ c:type="FooFlagsType">
+ <member name="first"
+ value="1"
+ c:identifier="FOO_FLAGS_FIRST"
+ glib:nick="first"/>
+ <member name="second"
+ value="2"
+ c:identifier="FOO_FLAGS_SECOND"
+ glib:nick="second"/>
+ <member name="third"
+ value="4"
+ c:identifier="FOO_FLAGS_THIRD"
+ glib:nick="third"/>
+ </bitfield>
+ <interface name="Interface"
+ c:type="FooInterface"
+ glib:type-name="FooInterface"
+ glib:get-type="foo_interface_get_type"
+ glib:type-struct="InterfaceIface">
+ <virtual-method name="do_foo" invoker="do_foo">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="SubInterface" c:type="FooSubInterface*"/>
+ <parameter name="x" transfer-ownership="none">
+ <type name="int" c:type="int"/>
</parameter>
</parameters>
- </callback>
- </interface>
- <record name="SubInterfaceIface" c:type="FooSubInterfaceIface">
- <field name="parent_iface">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <callback name="do_bar" c:type="do_bar">
+ </virtual-method>
+ <method name="do_foo" c:identifier="foo_interface_do_foo">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="SubInterface" c:type="FooSubInterface*"/>
+ <parameter name="x" transfer-ownership="none">
+ <type name="int" c:type="int"/>
</parameter>
</parameters>
- </callback>
+ </method>
+ </interface>
+ <record name="InterfaceIface"
+ c:type="FooInterfaceIface"
+ glib:is-gtype-struct-for="Interface">
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="do_foo">
+ <callback name="do_foo" c:type="do_foo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Interface" c:type="FooInterface*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
</record>
<class name="Object"
c:type="FooObject"
parent="GObject.Object"
glib:type-name="FooObject"
- glib:get-type="foo_object_get_type">
+ glib:get-type="foo_object_get_type"
+ glib:type-struct="ObjectClass">
<implements name="Interface"/>
<constructor name="new" c:identifier="foo_object_new">
<return-value transfer-ownership="full">
<type name="int" c:type="int"/>
</return-value>
</function>
+ <function name="get_default"
+ c:identifier="foo_object_get_default"
+ doc="This function is intended to match clutter_stage_get_default which
+uses a C sugar return type.">
+ <return-value transfer-ownership="full" doc="The global #FooSubobject">
+ <type name="Subobject" c:type="FooObject*"/>
+ </return-value>
+ </function>
+ <virtual-method name="virtual_method" invoker="virtual_method">
+ <return-value transfer-ownership="none">
+ <type name="boolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_param" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="read_fn" invoker="read">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
<method name="external_type" c:identifier="foo_object_external_type">
<return-value transfer-ownership="full">
<type name="utility.Object" c:type="UtilityObject*"/>
</parameter>
</parameters>
</method>
+ <method name="virtual_method" c:identifier="foo_object_virtual_method">
+ <return-value transfer-ownership="none">
+ <type name="boolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_param" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read"
+ c:identifier="foo_object_read"
+ doc="Read some stuff.">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
<property name="string" writable="1" construct="1">
<type name="utf8" c:type="gchararray"/>
</property>
</parameters>
</glib:signal>
</class>
- <record name="ObjectClass" c:type="FooObjectClass">
+ <record name="ObjectClass"
+ c:type="FooObjectClass"
+ glib:is-gtype-struct-for="Object">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
- <callback name="virtual_method" c:type="virtual_method">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="FooObject*"/>
- </parameter>
- <parameter name="first_param" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </record>
- <class name="Subobject"
- c:type="FooSubobject"
- parent="Object"
- abstract="1"
- glib:type-name="FooSubobject"
- glib:get-type="foo_subobject_get_type">
- <implements name="Interface"/>
- <constructor name="new" c:identifier="foo_subobject_new">
- <return-value transfer-ownership="full">
- <type name="Subobject" c:type="FooSubobject*"/>
- </return-value>
- </constructor>
- <field name="parent_instance">
- <type name="Object" c:type="FooObject"/>
+ <field name="virtual_method">
+ <callback name="virtual_method" c:type="virtual_method">
+ <return-value transfer-ownership="none">
+ <type name="boolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </parameter>
+ <parameter name="first_param" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </callback>
</field>
- </class>
- <record name="SubobjectClass" c:type="FooSubobjectClass">
- <field name="parent_class">
- <type name="ObjectClass" c:type="FooObjectClass"/>
+ <field name="read_fn">
+ <callback name="read_fn" c:type="read_fn">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </callback>
</field>
- </record>
- <function name="init" c:identifier="foo_init">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </function>
- <enumeration name="EnumType"
- glib:type-name="FooEnumType"
- glib:get-type="foo_enum_type_get_type"
- c:type="FooEnumType">
- <member name="alpha"
- value="0"
- c:identifier="FOO_ENUM_ALPHA"
- glib:nick="alpha"/>
- <member name="beta"
- value="1"
- c:identifier="FOO_ENUM_BETA"
- glib:nick="beta"/>
- <member name="delta"
- value="2"
- c:identifier="FOO_ENUM_DELTA"
- glib:nick="delta"/>
- </enumeration>
- <function name="enum_type_method" c:identifier="foo_enum_type_method">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="foo_enum" transfer-ownership="none">
- <type name="EnumType" c:type="FooEnumType"/>
- </parameter>
- </parameters>
- </function>
- <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
- <return-value transfer-ownership="full">
- <type name="EnumType" c:type="FooEnumType"/>
- </return-value>
- <parameters>
- <parameter name="x" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <bitfield name="FlagsType"
- glib:type-name="FooFlagsType"
- glib:get-type="foo_flags_type_get_type"
- c:type="FooFlagsType">
- <member name="first"
- value="1"
- c:identifier="FOO_FLAGS_FIRST"
- glib:nick="first"/>
- <member name="second"
- value="2"
- c:identifier="FOO_FLAGS_SECOND"
- glib:nick="second"/>
- <member name="third"
- value="4"
- c:identifier="FOO_FLAGS_THIRD"
- glib:nick="third"/>
- </bitfield>
- <enumeration name="EnumNoType" c:type="FooEnumNoType">
- <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
- <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
- <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
- <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
- </enumeration>
- <bitfield name="FlagsNoType" c:type="FooFlagsNoType">
- <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
- <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
- <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
- </bitfield>
- <enumeration name="EnumFullname" c:type="FooEnumFullname">
- <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
- <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
- <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
- </enumeration>
- <record name="Boxed"
- c:type="FooBoxed"
- glib:type-name="FooBoxed"
- glib:get-type="foo_boxed_get_type">
- <constructor name="new" c:identifier="foo_boxed_new">
- <return-value transfer-ownership="full">
- <type name="Boxed" c:type="FooBoxed*"/>
- </return-value>
- </constructor>
- <method name="method" c:identifier="foo_boxed_method">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- </record>
- <record name="DBusData"
- c:type="FooDBusData"
- glib:type-name="FooDBusData"
- glib:get-type="foo_dbus_data_get_type">
- <method name="method" c:identifier="foo_dbus_data_method">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- </record>
- <callback name="Callback" c:type="FooCallback">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="foo" transfer-ownership="none">
- <type name="Object" c:type="FooObject*"/>
- </parameter>
- <parameter name="b" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="Struct" c:type="FooStruct">
- <field name="priv" writable="1">
- <type name="StructPrivate" c:type="FooStructPrivate*"/>
- </field>
- <field name="member" writable="1">
- <type name="int" c:type="int"/>
+ <field name="_reserved">
+ <array zero-terminated="0" c:type="GCallback" fixed-size="4">
+ <type name="GObject.Callback"/>
+ </array>
</field>
</record>
- <record name="StructPrivate" c:type="FooStructPrivate">
- </record>
+ <constant name="PIE_IS_TASTY" value="3.14159">
+ <type name="double"/>
+ </constant>
<record name="Rectangle" c:type="FooRectangle">
<field name="x" writable="1">
<type name="int" c:type="gint"/>
</parameters>
</method>
</record>
- <function name="method_external_references"
- c:identifier="foo_method_external_references">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="utility.Object" c:type="UtilityObject*"/>
- </parameter>
- <parameter name="e" transfer-ownership="none">
- <type name="utility.EnumType" c:type="UtilityEnumType"/>
- </parameter>
- <parameter name="f" transfer-ownership="none">
- <type name="utility.FlagType" c:type="UtilityFlagType"/>
- </parameter>
- <parameter name="s" transfer-ownership="none">
- <type name="utility.Struct" c:type="UtilityStruct"/>
- </parameter>
- </parameters>
- </function>
- <record name="EventAny" c:type="FooEventAny">
- <field name="send_event" writable="1">
- <type name="int8" c:type="gint8"/>
- </field>
- </record>
- <record name="EventExpose" c:type="FooEventExpose">
- <field name="send_event" writable="1">
- <type name="int8" c:type="gint8"/>
- </field>
- <field name="count" writable="1">
- <type name="int" c:type="gint"/>
+ <constant name="SUCCESS_INT" value="4408">
+ <type name="int"/>
+ </constant>
+ <enumeration name="StackLayer" c:type="FooStackLayer">
+ <member name="desktop" value="0" c:identifier="FOO_LAYER_DESKTOP"/>
+ <member name="bottom" value="1" c:identifier="FOO_LAYER_BOTTOM"/>
+ <member name="normal" value="2" c:identifier="FOO_LAYER_NORMAL"/>
+ <member name="top" value="4" c:identifier="FOO_LAYER_TOP"/>
+ <member name="dock" value="4" c:identifier="FOO_LAYER_DOCK"/>
+ <member name="fullscreen" value="5" c:identifier="FOO_LAYER_FULLSCREEN"/>
+ <member name="focused_window"
+ value="6"
+ c:identifier="FOO_LAYER_FOCUSED_WINDOW"/>
+ <member name="override_redirect"
+ value="7"
+ c:identifier="FOO_LAYER_OVERRIDE_REDIRECT"/>
+ <member name="last" value="8" c:identifier="FOO_LAYER_LAST"/>
+ </enumeration>
+ <record name="Struct" c:type="FooStruct">
+ <field name="priv" writable="1">
+ <type name="StructPrivate" c:type="FooStructPrivate*"/>
</field>
- </record>
- <union name="Event" c:type="FooEvent">
- <field name="type" writable="1">
+ <field name="member" writable="1">
<type name="int" c:type="int"/>
</field>
- <field name="any" writable="1">
- <type name="EventAny" c:type="FooEventAny"/>
- </field>
- <field name="expose" writable="1">
- <type name="EventExpose" c:type="FooEventExpose"/>
- </field>
- </union>
- <record name="BRect"
- c:type="FooBRect"
- glib:type-name="FooBRect"
- glib:get-type="foo_brect_get_type">
- <field name="x" writable="1">
- <type name="double" c:type="double"/>
- </field>
- <field name="y" writable="1">
- <type name="double" c:type="double"/>
- </field>
- <constructor name="new" c:identifier="foo_brect_new">
- <return-value transfer-ownership="full">
- <type name="BRect" c:type="FooBRect*"/>
+ </record>
+ <record name="StructPrivate" c:type="FooStructPrivate">
+ </record>
+ <interface name="SubInterface"
+ c:type="FooSubInterface"
+ glib:type-name="FooSubInterface"
+ glib:get-type="foo_sub_interface_get_type"
+ glib:type-struct="SubInterfaceIface">
+ <prerequisite name="Interface"/>
+ <virtual-method name="do_bar" invoker="do_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
</return-value>
- <parameters>
- <parameter name="x" transfer-ownership="none">
- <type name="double" c:type="double"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="double" c:type="double"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="add" c:identifier="foo_brect_add">
+ </virtual-method>
+ <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
- <parameters>
- <parameter name="b2" transfer-ownership="none">
- <type name="BRect" c:type="FooBRect*"/>
- </parameter>
- </parameters>
</method>
- </record>
- <union name="BUnion"
- c:type="FooBUnion"
- glib:type-name="FooBUnion"
- glib:get-type="foo_bunion_get_type">
- <field name="type" writable="1">
- <type name="int" c:type="int"/>
+ <glib:signal name="destroy-event">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </interface>
+ <record name="SubInterfaceIface"
+ c:type="FooSubInterfaceIface"
+ glib:is-gtype-struct-for="SubInterface">
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
- <field name="v" writable="1">
- <type name="double" c:type="double"/>
+ <field name="destroy_event">
+ <callback name="destroy_event" c:type="destroy_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </parameter>
+ </parameters>
+ </callback>
</field>
- <field name="rect" writable="1">
- <type name="BRect" c:type="FooBRect*"/>
+ <field name="do_bar">
+ <callback name="do_bar" c:type="do_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </parameter>
+ </parameters>
+ </callback>
</field>
- <constructor name="new" c:identifier="foo_bunion_new">
+ </record>
+ <class name="Subobject"
+ c:type="FooSubobject"
+ parent="Object"
+ abstract="1"
+ glib:type-name="FooSubobject"
+ glib:get-type="foo_subobject_get_type"
+ glib:type-struct="SubobjectClass">
+ <implements name="Interface"/>
+ <constructor name="new" c:identifier="foo_subobject_new">
<return-value transfer-ownership="full">
- <type name="BUnion" c:type="FooBUnion*"/>
+ <type name="Subobject" c:type="FooSubobject*"/>
</return-value>
</constructor>
- <method name="get_contained_type"
- c:identifier="foo_bunion_get_contained_type">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- </method>
- </union>
- <union name="Union" c:type="_FooUnion">
- <field name="foo" writable="1">
- <type name="int" c:type="int"/>
+ <field name="parent_instance">
+ <type name="Object" c:type="FooObject"/>
</field>
- </union>
- <record name="UtilityStruct" c:type="FooUtilityStruct">
- <field name="bar" writable="1">
- <type name="utility.Struct" c:type="UtilityStruct"/>
+ </class>
+ <record name="SubobjectClass"
+ c:type="FooSubobjectClass"
+ glib:is-gtype-struct-for="Subobject">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="FooObjectClass"/>
</field>
</record>
<record name="ThingWithArray" c:type="_FooThingWithArray">
<type name="any" c:type="guchar*"/>
</field>
</record>
- <function name="test_unsigned_qualifier"
- c:identifier="foo_test_unsigned_qualifier">
+ <union name="Union" c:type="_FooUnion">
+ <field name="foo" writable="1">
+ <type name="int" c:type="int"/>
+ </field>
+ </union>
+ <record name="UtilityStruct" c:type="FooUtilityStruct">
+ <field name="bar" writable="1">
+ <type name="utility.Struct" c:type="UtilityStruct"/>
+ </field>
+ </record>
+ <callback name="VarargsCallback" c:type="FooVarargsCallback">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="unsigned_param" transfer-ownership="none">
- <type name="uint" c:type="unsigned int"/>
+ <parameter name="param" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </callback>
+ <function name="async_ready_callback"
+ c:identifier="foo_async_ready_callback">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cancellable" transfer-ownership="none">
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="async"
+ closure="2">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
- <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
+ <function name="destroy_notify_callback"
+ c:identifier="foo_destroy_notify_callback">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="unsigned_param" transfer-ownership="none">
- <type name="uint" c:type="unsigned"/>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <type name="Callback" c:type="FooCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="call">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="enum_type_method" c:identifier="foo_enum_type_method">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="foo_enum" transfer-ownership="none">
+ <type name="EnumType" c:type="FooEnumType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
+ <return-value transfer-ownership="full">
+ <type name="EnumType" c:type="FooEnumType"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="foo_init">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="gint"/>
+ </return-value>
+ </function>
+ <function name="method_external_references"
+ c:identifier="foo_method_external_references">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="utility.Object" c:type="UtilityObject*"/>
+ </parameter>
+ <parameter name="e" transfer-ownership="none">
+ <type name="utility.EnumType" c:type="UtilityEnumType"/>
+ </parameter>
+ <parameter name="f" transfer-ownership="none">
+ <type name="utility.FlagType" c:type="UtilityFlagType"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="utility.Struct" c:type="UtilityStruct"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_const_char_param"
+ c:identifier="foo_test_const_char_param">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_const_char_retval"
+ c:identifier="foo_test_const_char_retval">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </return-value>
+ </function>
+ <function name="test_const_struct_param"
+ c:identifier="foo_test_const_struct_param">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="Struct" c:type="FooStruct*"/>
</parameter>
</parameters>
</function>
+ <function name="test_const_struct_retval"
+ c:identifier="foo_test_const_struct_retval">
+ <return-value transfer-ownership="none">
+ <type name="Struct" c:type="FooStruct*"/>
+ </return-value>
+ </function>
<function name="test_string_array" c:identifier="foo_test_string_array">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</parameter>
</parameters>
</function>
- <function name="test_const_char_retval"
- c:identifier="foo_test_const_char_retval">
+ <function name="test_unsigned_qualifier"
+ c:identifier="foo_test_unsigned_qualifier">
<return-value transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
+ <type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <parameter name="unsigned_param" transfer-ownership="none">
+ <type name="uint" c:type="unsigned int"/>
+ </parameter>
+ </parameters>
</function>
- <function name="test_const_struct_retval"
- c:identifier="foo_test_const_struct_retval">
+ <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
<return-value transfer-ownership="none">
- <type name="Struct" c:type="FooStruct*"/>
+ <type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <parameter name="unsigned_param" transfer-ownership="none">
+ <type name="uint" c:type="unsigned"/>
+ </parameter>
+ </parameters>
</function>
- <function name="test_const_char_param"
- c:identifier="foo_test_const_char_param">
+ <function name="test_varargs_callback"
+ c:identifier="foo_test_varargs_callback">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="param" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
+ <parameter name="i" transfer-ownership="none">
+ <type name="int" c:type="gint"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none" scope="call">
+ <type name="VarargsCallback" c:type="FooVarargsCallback"/>
</parameter>
</parameters>
</function>
- <function name="test_const_struct_param"
- c:identifier="foo_test_const_struct_param">
+ <function name="test_varargs_callback2"
+ c:identifier="foo_test_varargs_callback2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="param" transfer-ownership="none">
- <type name="Struct" c:type="FooStruct*"/>
+ <parameter name="callback" transfer-ownership="none" scope="call">
+ <type name="VarargsCallback" c:type="FooVarargsCallback"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_varargs_callback3"
+ c:identifier="foo_test_varargs_callback3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback" transfer-ownership="none" scope="call">
+ <type name="VarargsCallback" c:type="FooVarargsCallback"/>
+ </parameter>
+ <parameter name="callback2" transfer-ownership="none" scope="call">
+ <type name="VarargsCallback" c:type="FooVarargsCallback"/>
</parameter>
</parameters>
</function>
- <constant name="SUCCESS_INT" value="4408">
- <type name="int"/>
- </constant>
</namespace>
</repository>