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"/>
<package name="gobject-2.0"/>
<c:include name="foo.h"/>
- <namespace name="foo" version="1.0" shared-library="foo">
+ <namespace name="foo"
+ version="1.0"
+ shared-library="libfoo.so"
+ c:prefix="foo">
<alias name="List" target="GLib.SList" c:type="FooList"/>
<alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
<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"
</record>
<class name="Buffer"
c:type="FooBuffer"
- parent="GObject.Object"
+ parent="Object"
glib:type-name="FooBuffer"
glib:get-type="foo_buffer_get_type"
glib:type-struct="BufferClass">
glib:type-name="FooInterface"
glib:get-type="foo_interface_get_type"
glib:type-struct="InterfaceIface">
- <vfunc name="do_foo" c:identifier="foo_interface_do_foo">
+ <virtual-method name="do_foo" invoker="do_foo">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<type name="int" c:type="int"/>
</parameter>
</parameters>
- </vfunc>
- </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>
- <callback name="do_foo" c:type="do_foo">
+ </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="Interface" c:type="FooInterface*"/>
- </parameter>
<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"
<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>
- <vfunc name="virtual_method" c:identifier="foo_object_virtual_method">
+ <method name="virtual_method" c:identifier="foo_object_virtual_method">
<return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+ <type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="first_param" transfer-ownership="none">
<type name="int" c:type="int"/>
</parameter>
</parameters>
- </vfunc>
+ </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>
<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>
+ <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>
+ <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>
+ <field name="_reserved">
+ <array zero-terminated="0" c:type="GCallback" fixed-size="4">
+ <type name="GObject.Callback"/>
+ </array>
+ </field>
</record>
<constant name="PIE_IS_TASTY" value="3.14159">
<type name="double"/>
<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*"/>
glib:get-type="foo_sub_interface_get_type"
glib:type-struct="SubInterfaceIface">
<prerequisite name="Interface"/>
- <vfunc name="do_bar" c:identifier="foo_sub_interface_do_bar">
+ <virtual-method name="do_bar" invoker="do_bar">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
- </vfunc>
+ </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>
+ </method>
+ <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"
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
- <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 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="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>
</record>
<class name="Subobject"
c:type="FooSubobject"
</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" allow-none="1">
+ <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="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="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"/>
<parameter name="i" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
- <parameter name="callback" transfer-ownership="none">
+ <parameter name="callback" transfer-ownership="none" scope="call">
<type name="VarargsCallback" c:type="FooVarargsCallback"/>
</parameter>
</parameters>
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="callback" transfer-ownership="none">
+ <parameter name="callback" transfer-ownership="none" scope="call">
<type name="VarargsCallback" c:type="FooVarargsCallback"/>
</parameter>
</parameters>
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="callback" transfer-ownership="none">
+ <parameter name="callback" transfer-ownership="none" scope="call">
<type name="VarargsCallback" c:type="FooVarargsCallback"/>
</parameter>
- <parameter name="callback2" transfer-ownership="none">
+ <parameter name="callback2" transfer-ownership="none" scope="call">
<type name="VarargsCallback" c:type="FooVarargsCallback"/>
</parameter>
</parameters>