--- foo-1.0.tgir	2010-01-04 18:04:42.305537370 +0800
+++ /net/rebound/export/home/halton/work/projects/gnome/gobject-introspection/gobject-introspection/tests/scanner/foo-1.0.tgir	2010-01-06 13:26:43.080411000 +0800
@@ -197,527 +197,4 @@
         <type name="GObject.TypeInterface"/>
       </field>
       <field name="do_foo">
-        <callback name="do_foo">
-          <return-value transfer-ownership="none">
-            <type name="none"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Interface"/>
-            </parameter>
-            <parameter name="x" transfer-ownership="none">
-              <type name="int"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <class name="Object" parent="GObject.Object" glib:type-struct="ObjectClass" glib:type-name="FooObject" glib:get-type="foo_object_get_type">
-      <implements name="Interface"/>
-      <field name="parent_instance">
-        <type name="GObject.Object"/>
-      </field>
-      <field name="some_int">
-        <type name="int"/>
-      </field>
-      <constructor name="new" c:identifier="foo_object_new">
-        <return-value transfer-ownership="full">
-          <type name="Object"/>
-        </return-value>
-      </constructor>
-      <function name="static_meth" c:identifier="foo_object_static_meth">
-        <return-value transfer-ownership="none">
-          <type name="int"/>
-        </return-value>
-      </function>
-      <function name="get_default" c:identifier="foo_object_get_default">
-        <return-value transfer-ownership="full">
-          <type name="Subobject"/>
-        </return-value>
-      </function>
-      <method name="external_type" c:identifier="foo_object_external_type">
-        <return-value transfer-ownership="full">
-          <type name="utility.Object"/>
-        </return-value>
-      </method>
-      <method name="various" c:identifier="foo_object_various">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <type name="any"/>
-          </parameter>
-          <parameter name="some_type" transfer-ownership="none">
-            <type name="GType"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="with_tdef" c:identifier="foo_object_with_tdef">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="blah" transfer-ownership="none">
-            <type name="GLib.SList">
-              <type name="any"/>
-            </type>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="new_cookie" c:identifier="foo_object_new_cookie">
-        <return-value transfer-ownership="full">
-          <type name="any"/>
-        </return-value>
-        <parameters>
-          <parameter name="target" transfer-ownership="none">
-            <type name="utf8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="time" transfer-ownership="none">
-            <type name="time_t"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_name" c:identifier="foo_object_get_name">
-        <return-value transfer-ownership="none">
-          <type name="utf8"/>
-        </return-value>
-      </method>
-      <method name="dup_name" c:identifier="foo_object_dup_name">
-        <return-value transfer-ownership="full">
-          <type name="utf8"/>
-        </return-value>
-      </method>
-      <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="glyph" transfer-ownership="none">
-            <type name="uint32"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="virtual_method" c:identifier="foo_object_virtual_method">
-        <return-value transfer-ownership="none">
-          <type name="boolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_param" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="read" c:identifier="foo_object_read">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="offset" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="string" writable="1" construct="1">
-        <type name="utf8"/>
-      </property>
-      <glib:signal name="signal" when="LAST">
-        <return-value transfer-ownership="full">
-          <type name="utf8"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <type name="GObject.Object"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <type name="any"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <virtual-method name="virtual_method" offset="0" invoker="virtual_method">
-        <return-value transfer-ownership="none">
-          <type name="boolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_param" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="read_fn" offset="0" invoker="read">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="offset" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-    </class>
-    <record name="ObjectClass" glib:is-gtype-struct="1">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass"/>
-      </field>
-      <field name="virtual_method">
-        <callback name="virtual_method">
-          <return-value transfer-ownership="none">
-            <type name="boolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="object" transfer-ownership="none">
-              <type name="Object"/>
-            </parameter>
-            <parameter name="first_param" transfer-ownership="none">
-              <type name="int"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="read_fn">
-        <callback name="read_fn">
-          <return-value transfer-ownership="none">
-            <type name="none"/>
-          </return-value>
-          <parameters>
-            <parameter name="object" transfer-ownership="none">
-              <type name="Object"/>
-            </parameter>
-            <parameter name="offset" transfer-ownership="none">
-              <type name="int"/>
-            </parameter>
-            <parameter name="length" transfer-ownership="none">
-              <type name="int"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_reserved">
-        <array fixed-size="4">
-          <type name="GObject.Callback"/>
-        </array>
-      </field>
-    </record>
-    <constant name="PIE_IS_TASTY" value="3.141590">
-      <type name="double"/>
-    </constant>
-    <record name="Rectangle">
-      <field name="x" writable="1">
-        <type name="int"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="int"/>
-      </field>
-      <field name="width" writable="1">
-        <type name="int"/>
-      </field>
-      <field name="height" writable="1">
-        <type name="int"/>
-      </field>
-      <constructor name="new" c:identifier="foo_rectangle_new">
-        <return-value transfer-ownership="full">
-          <type name="Rectangle"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <type name="int"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="add" c:identifier="foo_rectangle_add">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="r2" transfer-ownership="none">
-            <type name="Rectangle"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <constant name="SUCCESS_INT" value="4408">
-      <type name="int"/>
-    </constant>
-    <enumeration name="StackLayer">
-      <member name="desktop" value="0"/>
-      <member name="bottom" value="1"/>
-      <member name="normal" value="2"/>
-      <member name="top" value="4"/>
-      <member name="dock" value="4"/>
-      <member name="fullscreen" value="5"/>
-      <member name="focused_window" value="6"/>
-      <member name="override_redirect" value="7"/>
-      <member name="last" value="8"/>
-    </enumeration>
-    <record name="Struct">
-      <field name="priv" writable="1">
-        <type name="StructPrivate"/>
-      </field>
-      <field name="member" writable="1">
-        <type name="int"/>
-      </field>
-    </record>
-    <record name="StructPrivate"/>
-    <interface name="SubInterface" glib:type-name="FooSubInterface" glib:get-type="foo_sub_interface_get_type" glib:type-struct="SubInterfaceIface">
-      <prerequisite name="Interface"/>
-      <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </method>
-      <glib:signal name="destroy-event" when="LAST">
-        <return-value transfer-ownership="full">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <virtual-method name="do_bar" offset="0" invoker="do_bar">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </virtual-method>
-    </interface>
-    <record name="SubInterfaceIface" glib:is-gtype-struct="1">
-      <field name="parent_iface">
-        <type name="GObject.TypeInterface"/>
-      </field>
-      <field name="destroy_event">
-        <callback name="destroy_event">
-          <return-value transfer-ownership="none">
-            <type name="none"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="SubInterface"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="do_bar">
-        <callback name="do_bar">
-          <return-value transfer-ownership="none">
-            <type name="none"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="SubInterface"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <class name="Subobject" parent="Object" glib:type-struct="SubobjectClass" abstract="1" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
-      <implements name="Interface"/>
-      <field name="parent_instance">
-        <type name="Object"/>
-      </field>
-      <constructor name="new" c:identifier="foo_subobject_new">
-        <return-value transfer-ownership="full">
-          <type name="Subobject"/>
-        </return-value>
-      </constructor>
-    </class>
-    <record name="SubobjectClass" glib:is-gtype-struct="1">
-      <field name="parent_class">
-        <type name="ObjectClass"/>
-      </field>
-    </record>
-    <record name="ThingWithArray">
-      <field name="x" writable="1">
-        <type name="int"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="int"/>
-      </field>
-      <field name="lines" writable="1">
-        <array fixed-size="80">
-          <type name="int8"/>
-        </array>
-      </field>
-      <field name="data" writable="1">
-        <type name="any"/>
-      </field>
-    </record>
-    <union name="Union">
-      <field name="foo" writable="1">
-        <type name="int"/>
-      </field>
-    </union>
-    <record name="UtilityStruct">
-      <field name="bar" writable="1">
-        <type name="utility.Struct"/>
-      </field>
-    </record>
-    <function name="async_ready_callback" c:identifier="foo_async_ready_callback">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="cancellable" transfer-ownership="none">
-          <type name="Gio.Cancellable"/>
-        </parameter>
-        <parameter name="callback" transfer-ownership="none" scope="async" closure="2">
-          <type name="Gio.AsyncReadyCallback"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none">
-          <type name="any"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="destroy_notify_callback" c:identifier="foo_destroy_notify_callback">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
-          <type name="Callback"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <type name="any"/>
-        </parameter>
-        <parameter name="destroy" transfer-ownership="none">
-          <type name="GLib.DestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="enum_type_method" c:identifier="foo_enum_type_method">
-      <return-value transfer-ownership="none">
-        <type name="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="foo_enum" transfer-ownership="none">
-          <type name="EnumType"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
-      <return-value transfer-ownership="full">
-        <type name="EnumType"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <type name="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="init" c:identifier="foo_init">
-      <return-value transfer-ownership="none">
-        <type name="int"/>
-      </return-value>
-    </function>
-    <function name="method_external_references" c:identifier="foo_method_external_references">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <type name="utility.Object"/>
-        </parameter>
-        <parameter name="e" transfer-ownership="none">
-          <type name="utility.EnumType"/>
-        </parameter>
-        <parameter name="f" transfer-ownership="none">
-          <type name="utility.FlagType"/>
-        </parameter>
-        <parameter name="s" transfer-ownership="none">
-          <type name="utility.Struct"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_const_char_param" c:identifier="foo_test_const_char_param">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="param" transfer-ownership="none">
-          <type name="utf8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_const_char_retval" c:identifier="foo_test_const_char_retval">
-      <return-value transfer-ownership="none">
-        <type name="utf8"/>
-      </return-value>
-    </function>
-    <function name="test_const_struct_param" c:identifier="foo_test_const_struct_param">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="param" transfer-ownership="none">
-          <type name="Struct"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_const_struct_retval" c:identifier="foo_test_const_struct_retval">
-      <return-value transfer-ownership="none">
-        <type name="Struct"/>
-      </return-value>
-    </function>
-    <function name="test_string_array" c:identifier="foo_test_string_array">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="array" transfer-ownership="none">
-          <array zero-terminated="1">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_string_array_with_g" c:identifier="foo_test_string_array_with_g">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="array" transfer-ownership="none">
-          <array zero-terminated="1">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_unsigned_qualifier" c:identifier="foo_test_unsigned_qualifier">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="unsigned_param" transfer-ownership="none">
-          <type name="uint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
-      <return-value transfer-ownership="none">
-        <type name="none"/>
-      </return-value>
-      <parameters>
-        <parameter name="unsigned_param" transfer-ownership="none">
-          <type name="uint"/>
-        </parameter>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
+        <type name="
\ No newline at end of file
