scanner: Always explicitely set the scope of callbacks
[gnome.gobject-introspection] / gir / Everything-1.0-expected.gir
index 669bef1..145a9c9 100644 (file)
@@ -93,10 +93,10 @@ and/or use gtk-doc annotations.  -->
               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"
@@ -159,6 +159,11 @@ and/or use gtk-doc annotations.  -->
           </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
@@ -176,12 +181,18 @@ case.">
       <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"/>
@@ -204,19 +215,21 @@ case.">
       <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>
@@ -326,6 +339,39 @@ case.">
         <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"
@@ -380,6 +426,46 @@ case.">
         <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"/>
@@ -483,6 +569,43 @@ case.">
         </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"
@@ -497,6 +620,27 @@ case.">
         </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"/>
@@ -512,11 +656,30 @@ case.">
         <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
@@ -535,13 +698,13 @@ is invoked.">
         <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"/>
@@ -549,7 +712,7 @@ is invoked.">
       <parameters>
         <parameter name="callback"
                    transfer-ownership="none"
-                   scope="infinte"
+                   scope="infinite"
                    closure="1">
           <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
         </parameter>
@@ -558,6 +721,12 @@ is invoked.">
         </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(),
@@ -1071,6 +1240,33 @@ call and can be released on return.">
         </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">
@@ -1109,6 +1305,19 @@ call and can be released on return.">
         </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.">
@@ -1121,7 +1330,7 @@ call and can be released on return.">
     <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>
@@ -1135,6 +1344,18 @@ call and can be released on return.">
         </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"/>
@@ -1205,6 +1426,16 @@ call and can be released on return.">
         </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"/>
@@ -1258,6 +1489,40 @@ call and can be released on return.">
         </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 &quot;first&quot;">
+        <type name="utf8" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="out"
+                   direction="out"
+                   transfer-ownership="full"
+                   doc="a copy of &quot;second&quot;">
+          <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 &quot;first&quot;">
+          <type name="utf8" c:type="char**"/>
+        </parameter>
+        <parameter name="out1"
+                   direction="out"
+                   transfer-ownership="full"
+                   doc="a copy of &quot;second&quot;">
+          <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.">