value="2"
c:identifier="TEST_FLAG2"
glib:nick="flag2"/>
- <member name="flag2"
+ <member name="flag3"
value="4"
c:identifier="TEST_FLAG3"
- glib:nick="flag2"/>
+ glib:nick="flag3"/>
</bitfield>
<interface name="TestInterface"
c:type="EverythingTestInterface"
</parameter>
</parameters>
</method>
+ <method name="instance_method" c:identifier="test_obj_instance_method">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ </method>
<method name="do_matrix"
c:identifier="test_obj_do_matrix"
doc="This method is virtual. Notably its name differs from the virtual
<property name="bare" writable="1">
<type name="GObject.Object" c:type="GObject"/>
</property>
+ <property name="boxed" writable="1">
+ <type name="TestBoxed" c:type="TestBoxed"/>
+ </property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="bare">
<type name="GObject.Object" c:type="GObject*"/>
</field>
+ <field name="boxed">
+ <type name="TestBoxed" c:type="TestBoxed*"/>
+ </field>
<glib:signal name="test">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
- <callback name="matrix" c:type="matrix">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="TestObj" c:type="TestObj*"/>
- </parameter>
- <parameter name="somestr" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- </parameters>
- </callback>
+ <field name="matrix">
+ <callback name="matrix" c:type="matrix">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="TestObj*"/>
+ </parameter>
+ <parameter name="somestr" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
<field name="test_signal">
<type name="uint" c:type="guint"/>
</field>
<type name="GObject.Object" c:type="GObject*"/>
</field>
</record>
+ <class name="TestSubObj"
+ c:type="TestSubObj"
+ parent="TestObj"
+ glib:type-name="TestSubObj"
+ glib:get-type="test_sub_obj_get_type"
+ glib:type-struct="TestSubObjClass">
+ <constructor name="new" c:identifier="test_sub_obj_new">
+ <return-value transfer-ownership="full">
+ <type name="TestSubObj" c:type="TestSubObj*"/>
+ </return-value>
+ </constructor>
+ <method name="unset_bare" c:identifier="test_sub_obj_unset_bare">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="instance_method"
+ c:identifier="test_sub_obj_instance_method">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ </method>
+ <field name="parent_instance">
+ <type name="TestObj" c:type="TestObj"/>
+ </field>
+ </class>
+ <record name="TestSubObjClass"
+ c:type="TestSubObjClass"
+ glib:is-gtype-struct-for="TestSubObj">
+ <field name="parent_class">
+ <type name="TestObjClass" c:type="TestObjClass"/>
+ </field>
+ </record>
<class name="TestWi8021x"
c:type="TestWi8021x"
parent="GObject.Object"
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
+ <function name="test_array_fixed_size_int_in"
+ c:identifier="test_array_fixed_size_int_in">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="ints"
+ transfer-ownership="none"
+ doc="a list of 5 integers">
+ <array c:type="int*" fixed-size="5">
+ <type name="int"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_array_fixed_size_int_out"
+ c:identifier="test_array_fixed_size_int_out">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ints"
+ direction="out"
+ transfer-ownership="full"
+ doc="a list of 5 integers ranging from 0 to 4">
+ <array c:type="int**" fixed-size="5">
+ <type name="int"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_array_fixed_size_int_return"
+ c:identifier="test_array_fixed_size_int_return">
+ <return-value transfer-ownership="full"
+ doc="a list of 5 integers ranging from 0 to 4">
+ <array c:type="int*" fixed-size="5">
+ <type name="int"/>
+ </array>
+ </return-value>
+ </function>
<function name="test_array_gint16_in" c:identifier="test_array_gint16_in">
<return-value transfer-ownership="none">
<type name="int" c:type="int"/>
</parameter>
</parameters>
</function>
+ <function name="test_array_int_in_take"
+ c:identifier="test_array_int_in_take">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_ints" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ <parameter name="ints" transfer-ownership="full" doc="List of ints">
+ <array length="0" c:type="int*">
+ <type name="int"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_array_int_inout" c:identifier="test_array_int_inout">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_ints"
+ direction="inout"
+ transfer-ownership="full"
+ doc="the length of @ints">
+ <type name="int" c:type="int*"/>
+ </parameter>
+ <parameter name="ints"
+ direction="inout"
+ transfer-ownership="full"
+ doc="a list of integers whose items will be increased by 1, except the first that will be dropped">
+ <array length="0" c:type="int**">
+ <type name="int"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_array_int_none_out"
c:identifier="test_array_int_none_out">
<return-value transfer-ownership="none"
</parameter>
</parameters>
</function>
+ <function name="test_array_int_out" c:identifier="test_array_int_out">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_ints"
+ direction="out"
+ transfer-ownership="full"
+ doc="the length of @ints">
+ <type name="int" c:type="int*"/>
+ </parameter>
+ <parameter name="ints"
+ direction="out"
+ transfer-ownership="full"
+ doc="a list of 5 integers, from 0 to 4 in consecutive order">
+ <array length="0" c:type="int**">
+ <type name="int"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_boolean" c:identifier="test_boolean">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
<type name="int" c:type="int"/>
</return-value>
<parameters>
- <parameter name="callback" transfer-ownership="none" scope="call">
+ <parameter name="callback"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="call">
<type name="TestCallback" c:type="TestCallback"/>
</parameter>
</parameters>
</function>
+ <function name="test_callback_async" c:identifier="test_callback_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="async"
+ closure="1">
+ <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_callback_destroy_notify"
c:identifier="test_callback_destroy_notify"
doc="Notified - callback persists until a DestroyNotify delegate
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
- <parameter name="notify" transfer-ownership="none">
+ <parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
- <function name="test_callback_infinte"
- c:identifier="test_callback_infinte"
+ <function name="test_callback_infinite"
+ c:identifier="test_callback_infinite"
doc="Infinite - callback persists forever.">
<return-value transfer-ownership="none">
<type name="int" c:type="int"/>
<parameters>
<parameter name="callback"
transfer-ownership="none"
- scope="infinte"
+ scope="infinite"
closure="1">
<type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
</parameter>
</parameter>
</parameters>
</function>
+ <function name="test_callback_thaw_async"
+ c:identifier="test_callback_thaw_async">
+ <return-value transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </return-value>
+ </function>
<function name="test_callback_thaw_notifications"
c:identifier="test_callback_thaw_notifications"
doc="Invokes all callbacks installed by #test_callback_destroy_notify(),
</parameter>
</parameters>
</function>
+ <function name="test_multi_double_args"
+ c:identifier="test_multi_double_args">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <type name="double" c:type="gdouble"/>
+ </parameter>
+ <parameter name="one" direction="out" transfer-ownership="full">
+ <type name="double" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="two" direction="out" transfer-ownership="full">
+ <type name="double" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_short" c:identifier="test_short">
+ <return-value transfer-ownership="none">
+ <type name="short" c:type="gshort"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <type name="short" c:type="gshort"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_simple_boxed_a_const_return"
c:identifier="test_simple_boxed_a_const_return">
<return-value transfer-ownership="none">
</parameter>
</parameters>
</function>
+ <function name="test_strv_in_container"
+ c:identifier="test_strv_in_container">
+ <return-value transfer-ownership="none">
+ <type name="boolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="arr" transfer-ownership="container">
+ <array c:type="char**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_strv_out"
c:identifier="test_strv_out"
doc="No annotations here. We want the default to Do The Right Thing.">
<function name="test_strv_out_c"
c:identifier="test_strv_out_c"
doc="No annotations here. We want the default to Do The Right Thing.">
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="full">
<array c:type="char**">
<type name="utf8"/>
</array>
</array>
</return-value>
</function>
+ <function name="test_strv_outarg" c:identifier="test_strv_outarg">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="retp" direction="out" transfer-ownership="container">
+ <array c:type="char***">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_timet" c:identifier="test_timet">
<return-value transfer-ownership="none">
<type name="time_t" c:type="time_t"/>
</parameter>
</parameters>
</function>
+ <function name="test_ushort" c:identifier="test_ushort">
+ <return-value transfer-ownership="none">
+ <type name="ushort" c:type="gushort"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <type name="ushort" c:type="gushort"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_utf8_const_in" c:identifier="test_utf8_const_in">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</parameter>
</parameters>
</function>
+ <function name="test_utf8_out_nonconst_return"
+ c:identifier="test_utf8_out_nonconst_return">
+ <return-value transfer-ownership="full"
+ doc="a copy of "first"">
+ <type name="utf8" c:type="char*"/>
+ </return-value>
+ <parameters>
+ <parameter name="out"
+ direction="out"
+ transfer-ownership="full"
+ doc="a copy of "second"">
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="test_utf8_out_out" c:identifier="test_utf8_out_out">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="out0"
+ direction="out"
+ transfer-ownership="full"
+ doc="a copy of "first"">
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ <parameter name="out1"
+ direction="out"
+ transfer-ownership="full"
+ doc="a copy of "second"">
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_value_return" c:identifier="test_value_return">
<return-value transfer-ownership="none"
doc="the int wrapped in a GValue.">