scanner: Always explicitely set the scope of callbacks
[gnome.gobject-introspection] / tests / scanner / annotation-1.0-expected.tgir
index a201ec6..9e9370b 100644 (file)
@@ -6,7 +6,7 @@
   <include name="utility" version="1.0"/>
   <include name="GObject" version="2.0"/>
   <include name="GLib" version="2.0"/>
-  <namespace name="annotation" version="1.0" shared-library="annotation">
+  <namespace name="annotation" version="1.0" shared-library="libannotation.so" c:prefix="annotation">
     <callback name="Callback">
       <return-value transfer-ownership="none">
         <type name="int"/>
@@ -28,7 +28,7 @@
         <parameter name="item" transfer-ownership="none">
           <type name="utf8"/>
         </parameter>
-        <parameter name="user_data" transfer-ownership="none">
+        <parameter name="user_data" transfer-ownership="none" closure="2">
           <type name="any"/>
         </parameter>
       </parameters>
         </parameter>
       </parameters>
     </callback>
-    <class name="Object" parent="GObject.Object" glib:class-struct="ObjectClass" glib:type-name="AnnotationObject" glib:get-type="annotation_object_get_type">
+    <callback name="NotifyFunc">
+      <return-value transfer-ownership="none">
+        <type name="none"/>
+      </return-value>
+      <parameters>
+        <parameter name="data" transfer-ownership="none" closure="0">
+          <type name="any"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <class name="Object" parent="GObject.Object" glib:type-struct="ObjectClass" glib:type-name="AnnotationObject" glib:get-type="annotation_object_get_type">
+      <attribute name="org.example.Test" value="cows"/>
       <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
         </return-value>
         <parameters>
           <parameter name="nums" transfer-ownership="none">
-            <array length="2" zero-terminated="1">
+            <array length="2">
               <type name="int"/>
             </array>
           </parameter>
           <parameter name="argc" transfer-ownership="full" direction="inout">
             <type name="int"/>
           </parameter>
-          <parameter name="argv" transfer-ownership="none" direction="inout">
-            <array length="1" zero-terminated="1">
+          <parameter name="argv" transfer-ownership="full" direction="inout">
+            <array length="1">
               <type name="utf8"/>
             </array>
           </parameter>
         </return-value>
         <parameters>
           <parameter name="data" transfer-ownership="none">
-            <array length="2" zero-terminated="1">
+            <array length="2">
               <type name="uint8"/>
             </array>
           </parameter>
         </return-value>
         <parameters>
           <parameter name="data" transfer-ownership="none">
-            <array length="2" zero-terminated="1">
+            <array length="2">
               <type name="int8"/>
             </array>
           </parameter>
         </return-value>
         <parameters>
           <parameter name="data" transfer-ownership="none">
-            <array length="2" zero-terminated="1">
+            <array length="2">
               <type name="uint8"/>
             </array>
           </parameter>
           <type name="GObject.Object"/>
         </return-value>
       </method>
+      <method name="watch" c:identifier="annotation_object_watch_full">
+        <return-value transfer-ownership="none">
+          <type name="none"/>
+        </return-value>
+        <parameters>
+          <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3">
+            <type name="ForeachFunc"/>
+          </parameter>
+          <parameter name="user_data" transfer-ownership="none">
+            <type name="any"/>
+          </parameter>
+          <parameter name="destroy" transfer-ownership="none" scope="call">
+            <type name="GLib.DestroyNotify"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="extra_annos" c:identifier="annotation_object_extra_annos">
+        <attribute name="org.foobar" value="testvalue"/>
+        <return-value transfer-ownership="none">
+          <type name="none"/>
+        </return-value>
+      </method>
       <property name="string-property" writable="1" construct="1">
         <type name="utf8"/>
       </property>
-      <glib:signal name="string-signal" when="LAST">
+      <glib:signal name="doc-empty-arg-parsing" when="LAST">
         <return-value transfer-ownership="full">
           <type name="none"/>
         </return-value>
         <parameters>
-          <parameter name="string" transfer-ownership="none">
-            <type name="utf8"/>
+          <parameter name="arg1" transfer-ownership="none">
+            <type name="any"/>
           </parameter>
         </parameters>
       </glib:signal>
           </parameter>
         </parameters>
       </glib:signal>
+      <glib:signal name="string-signal" when="LAST">
+        <return-value transfer-ownership="full">
+          <type name="none"/>
+        </return-value>
+        <parameters>
+          <parameter name="string" transfer-ownership="none">
+            <type name="utf8"/>
+          </parameter>
+        </parameters>
+      </glib:signal>
     </class>
-    <record name="ObjectClass" glib:is-class-struct="1">
+    <record name="ObjectClass" glib:is-gtype-struct="1">
       <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
         </array>
       </field>
     </record>
+    <function name="custom_destroy" c:identifier="annotation_custom_destroy">
+      <return-value transfer-ownership="none">
+        <type name="none"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none" scope="call" closure="2" destroy="1">
+          <type name="Callback"/>
+        </parameter>
+        <parameter name="destroy" transfer-ownership="none" scope="call">
+          <type name="NotifyFunc"/>
+        </parameter>
+        <parameter name="data" transfer-ownership="none">
+          <type name="any"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_source_file" c:identifier="annotation_get_source_file">
+      <return-value transfer-ownership="full">
+        <type name="filename"/>
+      </return-value>
+    </function>
     <function name="init" c:identifier="annotation_init">
       <return-value transfer-ownership="none">
         <type name="none"/>
         <parameter name="argc" transfer-ownership="full" direction="inout">
           <type name="int"/>
         </parameter>
-        <parameter name="argv" transfer-ownership="none" direction="inout">
-          <array length="0" zero-terminated="1">
+        <parameter name="argv" transfer-ownership="full" direction="inout">
+          <array length="0">
             <type name="utf8"/>
           </array>
         </parameter>
       </parameters>
     </function>
     <function name="return_array" c:identifier="annotation_return_array">
-      <return-value transfer-ownership="none">
-        <array length="0" zero-terminated="1">
+      <return-value transfer-ownership="full">
+        <array length="0">
           <type name="utf8"/>
         </array>
       </return-value>
         </parameter>
       </parameters>
     </function>
-    <function name="string_zero_terminated" c:identifier="annotation_string_zero_terminated">
+    <function name="set_source_file" c:identifier="annotation_set_source_file">
       <return-value transfer-ownership="none">
+        <type name="none"/>
+      </return-value>
+      <parameters>
+        <parameter name="fname" transfer-ownership="none">
+          <type name="filename"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_array_length" c:identifier="annotation_string_array_length">
+      <return-value transfer-ownership="none">
+        <type name="none"/>
+      </return-value>
+      <parameters>
+        <parameter name="n_properties" transfer-ownership="none">
+          <type name="uint"/>
+        </parameter>
+        <parameter name="properties" transfer-ownership="none">
+          <array length="0">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_zero_terminated" c:identifier="annotation_string_zero_terminated">
+      <return-value transfer-ownership="full">
         <array zero-terminated="1">
           <type name="utf8"/>
         </array>
         <type name="none"/>
       </return-value>
       <parameters>
-        <parameter name="out" transfer-ownership="none" direction="inout">
+        <parameter name="out" transfer-ownership="full" direction="inout">
           <array zero-terminated="1">
             <type name="utf8"/>
           </array>