--- GObject-2.0-orig.gir	2011-08-11 21:21:56.893831742 +0200
+++ GObject-2.0.gir	2011-08-13 08:35:35.676290000 +0200
@@ -2857,13 +2857,26 @@
     </bitfield>
     <class name="ParamSpec"
            c:symbol-prefix="param_spec"
+           c:type="GParamSpec"
            abstract="1"
            glib:type-name="GParam"
            glib:get-type="intern"
-           glib:type-struct="ParamSpecClass">
-      <function name="internal"
-                c:identifier="g_param_spec_internal"
-                introspectable="0">
+           glib:type-struct="ParamSpecClass"
+           glib:fundamental="1"
+           glib:ref-func="g_param_spec_ref_sink"
+           glib:unref-func="g_param_spec_unref"
+           glib:set-value-func="g_value_set_param"
+           glib:get-value-func="g_value_get_param">
+      <doc xml:whitespace="preserve">#GParamSpec is an object structure that encapsulates the metadata
+required to specify parameters, such as e.g. #GObject properties.
+&lt;para id="canonical-parameter-name"&gt;
+Parameter names need to start with a letter (a-z or A-Z). Subsequent
+characters can be letters, numbers or a '-'.
+All other characters are replaced by a '-' during construction.
+The result of this replacement is called the canonical name of the
+parameter.
+&lt;/para&gt;</doc>
+      <constructor name="internal" c:identifier="g_param_spec_internal">
         <doc xml:whitespace="preserve">Creates a new #GParamSpec instance.
 A property name consists of segments consisting of ASCII letters and
 digits, separated by either the '-' or '_' character. The first
@@ -2877,9 +2890,9 @@
 strings associated with them, the @nick, which should be suitable
 for use as a label for the property in a property editor, and the
 e.g. a tooltip. The @nick and @blurb should ideally be localized.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">a newly allocated #GParamSpec instance</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="ParamSpec"/>
         </return-value>
         <parameters>
           <parameter name="param_type" transfer-ownership="none">
@@ -2903,7 +2916,7 @@
             <type name="ParamFlags" c:type="GParamFlags"/>
           </parameter>
         </parameters>
-      </function>
+      </constructor>
       <virtual-method name="finalize">
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -2994,19 +3007,18 @@
           <type name="ParamSpec" c:type="GParamSpec*"/>
         </return-value>
       </method>
-      <method name="ref" c:identifier="g_param_spec_ref" introspectable="0">
+      <method name="ref" c:identifier="g_param_spec_ref">
         <doc xml:whitespace="preserve">Increments the reference count of @pspec.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the #GParamSpec that was passed into this function</doc>
           <type name="ParamSpec" c:type="GParamSpec*"/>
         </return-value>
       </method>
       <method name="ref_sink"
               c:identifier="g_param_spec_ref_sink"
-              version="2.10"
-              introspectable="0">
+              version="2.10">
         <doc xml:whitespace="preserve">Convenience function to ref and sink a #GParamSpec.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the #GParamSpec that was passed into this function</doc>
           <type name="ParamSpec" c:type="GParamSpec*"/>
         </return-value>
@@ -3086,27 +3098,25 @@
           </parameter>
         </parameters>
       </method>
-      <method name="unref"
-              c:identifier="g_param_spec_unref"
-              introspectable="0">
+      <method name="unref" c:identifier="g_param_spec_unref">
         <doc xml:whitespace="preserve">Decrements the reference count of a @pspec.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </method>
-      <field name="g_type_instance" writable="1">
+      <field name="g_type_instance">
         <type name="TypeInstance" c:type="GTypeInstance"/>
       </field>
-      <field name="name" writable="1">
+      <field name="name">
         <type name="utf8" c:type="gchar*"/>
       </field>
-      <field name="flags" writable="1">
+      <field name="flags">
         <type name="ParamFlags" c:type="GParamFlags"/>
       </field>
-      <field name="value_type" writable="1">
+      <field name="value_type">
         <type name="GType" c:type="GType"/>
       </field>
-      <field name="owner_type" writable="1">
+      <field name="owner_type">
         <type name="GType" c:type="GType"/>
       </field>
       <field name="_nick" readable="0" private="1">
@@ -3125,36 +3135,54 @@
         <type name="guint" c:type="guint"/>
       </field>
     </class>
-    <record name="ParamSpecBoolean" c:type="GParamSpecBoolean">
+    <class name="ParamSpecBoolean"
+           c:symbol-prefix="param_spec_boolean"
+           c:type="GParamSpecBoolean"
+           parent="ParamSpec"
+           glib:type-name="GParamBoolean"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for boolean properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gboolean" c:type="gboolean"/>
       </field>
-    </record>
-    <record name="ParamSpecBoxed" c:type="GParamSpecBoxed">
+    </class>
+    <class name="ParamSpecBoxed"
+           c:symbol-prefix="param_spec_boxed"
+           c:type="GParamSpecBoxed"
+           parent="ParamSpec"
+           glib:type-name="GParamBoxed"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for boxed properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-    </record>
-    <record name="ParamSpecChar" c:type="GParamSpecChar">
+    </class>
+    <class name="ParamSpecChar"
+           c:symbol-prefix="param_spec_char"
+           c:type="GParamSpecChar"
+           parent="ParamSpec"
+           glib:type-name="GParamChar"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for character properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="gint8" c:type="gint8"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="gint8" c:type="gint8"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gint8" c:type="gint8"/>
       </field>
-    </record>
+    </class>
     <record name="ParamSpecClass"
             c:type="GParamSpecClass"
             glib:is-gtype-struct-for="ParamSpec">
@@ -3233,129 +3261,191 @@
         </array>
       </field>
     </record>
-    <record name="ParamSpecDouble" c:type="GParamSpecDouble">
+    <class name="ParamSpecDouble"
+           c:symbol-prefix="param_spec_double"
+           c:type="GParamSpecDouble"
+           parent="ParamSpec"
+           glib:type-name="GParamDouble"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for double properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="gdouble" c:type="gdouble"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="gdouble" c:type="gdouble"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gdouble" c:type="gdouble"/>
       </field>
-      <field name="epsilon" writable="1">
+      <field name="epsilon">
         <type name="gdouble" c:type="gdouble"/>
       </field>
-    </record>
-    <record name="ParamSpecEnum" c:type="GParamSpecEnum">
+    </class>
+    <class name="ParamSpecEnum"
+           c:symbol-prefix="param_spec_enum"
+           c:type="GParamSpecEnum"
+           parent="ParamSpec"
+           glib:type-name="GParamEnum"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for enum 
 properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="enum_class" writable="1">
+      <field name="enum_class">
         <type name="EnumClass" c:type="GEnumClass*"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gint" c:type="gint"/>
       </field>
-    </record>
-    <record name="ParamSpecFlags" c:type="GParamSpecFlags">
+    </class>
+    <class name="ParamSpecFlags"
+           c:symbol-prefix="param_spec_flags"
+           c:type="GParamSpecFlags"
+           parent="ParamSpec"
+           glib:type-name="GParamFlags"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for flags
 properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="flags_class" writable="1">
+      <field name="flags_class">
         <type name="FlagsClass" c:type="GFlagsClass*"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="guint" c:type="guint"/>
       </field>
-    </record>
-    <record name="ParamSpecFloat" c:type="GParamSpecFloat">
+    </class>
+    <class name="ParamSpecFloat"
+           c:symbol-prefix="param_spec_float"
+           c:type="GParamSpecFloat"
+           parent="ParamSpec"
+           glib:type-name="GParamFloat"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for float properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="gfloat" c:type="gfloat"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="gfloat" c:type="gfloat"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gfloat" c:type="gfloat"/>
       </field>
-      <field name="epsilon" writable="1">
+      <field name="epsilon">
         <type name="gfloat" c:type="gfloat"/>
       </field>
-    </record>
-    <record name="ParamSpecGType" c:type="GParamSpecGType" version="2.10">
+    </class>
+    <class name="ParamSpecGType"
+           c:symbol-prefix="param_spec_gtype"
+           c:type="GParamSpecGType"
+           version="2.10"
+           parent="ParamSpec"
+           glib:type-name="GParamGType"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for #GType properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="is_a_type" writable="1">
+      <field name="is_a_type">
         <type name="GType" c:type="GType"/>
       </field>
-    </record>
-    <record name="ParamSpecInt" c:type="GParamSpecInt">
+    </class>
+    <class name="ParamSpecInt"
+           c:symbol-prefix="param_spec_int"
+           c:type="GParamSpecInt"
+           parent="ParamSpec"
+           glib:type-name="GParamInt"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for integer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="gint" c:type="gint"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="gint" c:type="gint"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gint" c:type="gint"/>
       </field>
-    </record>
-    <record name="ParamSpecInt64" c:type="GParamSpecInt64">
+    </class>
+    <class name="ParamSpecInt64"
+           c:symbol-prefix="param_spec_int64"
+           c:type="GParamSpecInt64"
+           parent="ParamSpec"
+           glib:type-name="GParamInt64"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for 64bit integer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="gint64" c:type="gint64"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="gint64" c:type="gint64"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gint64" c:type="gint64"/>
       </field>
-    </record>
-    <record name="ParamSpecLong" c:type="GParamSpecLong">
+    </class>
+    <class name="ParamSpecLong"
+           c:symbol-prefix="param_spec_long"
+           c:type="GParamSpecLong"
+           parent="ParamSpec"
+           glib:type-name="GParamLong"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for long integer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="glong" c:type="glong"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="glong" c:type="glong"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="glong" c:type="glong"/>
       </field>
-    </record>
-    <record name="ParamSpecObject" c:type="GParamSpecObject">
+    </class>
+    <class name="ParamSpecObject"
+           c:symbol-prefix="param_spec_object"
+           c:type="GParamSpecObject"
+           parent="ParamSpec"
+           glib:type-name="GParamObject"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for object properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-    </record>
-    <record name="ParamSpecOverride" c:type="GParamSpecOverride" version="2.4">
+    </class>
+    <class name="ParamSpecOverride"
+           c:symbol-prefix="param_spec_override"
+           c:type="GParamSpecOverride"
+           version="2.4"
+           parent="ParamSpec"
+           glib:type-name="GParamOverride"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">This is a type of #GParamSpec type that simply redirects operations to
 another paramspec.  All operations other than getting or
 setting the value are redirected, including accessing the nick and
@@ -3370,20 +3460,32 @@
       <field name="overridden" readable="0" private="1">
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </field>
-    </record>
-    <record name="ParamSpecParam" c:type="GParamSpecParam">
+    </class>
+    <class name="ParamSpecParam"
+           c:symbol-prefix="param_spec_param"
+           c:type="GParamSpecParam"
+           parent="ParamSpec"
+           glib:type-name="GParamParam"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
 properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-    </record>
-    <record name="ParamSpecPointer" c:type="GParamSpecPointer">
+    </class>
+    <class name="ParamSpecPointer"
+           c:symbol-prefix="param_spec_pointer"
+           c:type="GParamSpecPointer"
+           parent="ParamSpec"
+           glib:type-name="GParamPointer"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for pointer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-    </record>
+    </class>
     <record name="ParamSpecPool" c:type="GParamSpecPool" disguised="1">
       <doc xml:whitespace="preserve">A #GParamSpecPool maintains a collection of #GParamSpec&lt;!-- --&gt;s which can be
 quickly accessed by owner and name. The implementation of the #GObject property
@@ -3483,31 +3585,37 @@
         </parameters>
       </method>
     </record>
-    <record name="ParamSpecString" c:type="GParamSpecString">
+    <class name="ParamSpecString"
+           c:symbol-prefix="param_spec_string"
+           c:type="GParamSpecString"
+           parent="ParamSpec"
+           glib:type-name="GParamString"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for string
 properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="utf8" c:type="gchar*"/>
       </field>
-      <field name="cset_first" writable="1">
+      <field name="cset_first">
         <type name="utf8" c:type="gchar*"/>
       </field>
-      <field name="cset_nth" writable="1">
+      <field name="cset_nth">
         <type name="utf8" c:type="gchar*"/>
       </field>
-      <field name="substitutor" writable="1">
+      <field name="substitutor">
         <type name="gchar" c:type="gchar"/>
       </field>
-      <field name="null_fold_if_empty" writable="1" bits="1">
+      <field name="null_fold_if_empty" bits="1">
         <type name="guint" c:type="guint"/>
       </field>
-      <field name="ensure_non_null" writable="1" bits="1">
+      <field name="ensure_non_null" bits="1">
         <type name="guint" c:type="guint"/>
       </field>
-    </record>
+    </class>
     <record name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo">
       <doc xml:whitespace="preserve">This structure is used to provide the type system with the information
 required to initialize and destruct (finalize) a parameter's class and
@@ -3598,96 +3706,139 @@
         </callback>
       </field>
     </record>
-    <record name="ParamSpecUChar" c:type="GParamSpecUChar">
+    <class name="ParamSpecUChar"
+           c:symbol-prefix="param_spec_uchar"
+           c:type="GParamSpecUChar"
+           parent="ParamSpec"
+           glib:type-name="GParamUChar"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned character properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="guint8" c:type="guint8"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="guint8" c:type="guint8"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="guint8" c:type="guint8"/>
       </field>
-    </record>
-    <record name="ParamSpecUInt" c:type="GParamSpecUInt">
+    </class>
+    <class name="ParamSpecUInt"
+           c:symbol-prefix="param_spec_uint"
+           c:type="GParamSpecUInt"
+           parent="ParamSpec"
+           glib:type-name="GParamUInt"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned integer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="guint" c:type="guint"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="guint" c:type="guint"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="guint" c:type="guint"/>
       </field>
-    </record>
-    <record name="ParamSpecUInt64" c:type="GParamSpecUInt64">
+    </class>
+    <class name="ParamSpecUInt64"
+           c:symbol-prefix="param_spec_uint64"
+           c:type="GParamSpecUInt64"
+           parent="ParamSpec"
+           glib:type-name="GParamUInt64"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="guint64" c:type="guint64"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="guint64" c:type="guint64"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="guint64" c:type="guint64"/>
       </field>
-    </record>
-    <record name="ParamSpecULong" c:type="GParamSpecULong">
+    </class>
+    <class name="ParamSpecULong"
+           c:symbol-prefix="param_spec_ulong"
+           c:type="GParamSpecULong"
+           parent="ParamSpec"
+           glib:type-name="GParamULong"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="minimum" writable="1">
+      <field name="minimum">
         <type name="gulong" c:type="gulong"/>
       </field>
-      <field name="maximum" writable="1">
+      <field name="maximum">
         <type name="gulong" c:type="gulong"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gulong" c:type="gulong"/>
       </field>
-    </record>
-    <record name="ParamSpecUnichar" c:type="GParamSpecUnichar">
+    </class>
+    <class name="ParamSpecUnichar"
+           c:symbol-prefix="param_spec_unichar"
+           c:type="GParamSpecUnichar"
+           parent="ParamSpec"
+           glib:type-name="GParamUnichar"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="gunichar" c:type="gunichar"/>
       </field>
-    </record>
-    <record name="ParamSpecValueArray" c:type="GParamSpecValueArray">
+    </class>
+    <class name="ParamSpecValueArray"
+           c:symbol-prefix="param_spec_value_array"
+           c:type="GParamSpecValueArray"
+           parent="ParamSpec"
+           glib:type-name="GParamValueArray"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for #GValueArray properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="element_spec" writable="1">
+      <field name="element_spec">
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </field>
-      <field name="fixed_n_elements" writable="1">
+      <field name="fixed_n_elements">
         <type name="guint" c:type="guint"/>
       </field>
-    </record>
-    <record name="ParamSpecVariant" c:type="GParamSpecVariant" version="2.26">
+    </class>
+    <class name="ParamSpecVariant"
+           c:symbol-prefix="param_spec_variant"
+           c:type="GParamSpecVariant"
+           version="2.26"
+           parent="ParamSpec"
+           glib:type-name="GParamVariant"
+           glib:get-type="intern"
+           glib:fundamental="1">
       <doc xml:whitespace="preserve">A #GParamSpec derived structure that contains the meta data for #GVariant properties.</doc>
-      <field name="parent_instance" writable="1">
+      <field name="parent_instance">
         <type name="ParamSpec" c:type="GParamSpec"/>
       </field>
-      <field name="type" writable="1">
+      <field name="type">
         <type name="GLib.VariantType" c:type="GVariantType*"/>
       </field>
-      <field name="default_value" writable="1">
+      <field name="default_value">
         <type name="GLib.Variant" c:type="GVariant*"/>
       </field>
       <field name="padding" readable="0" private="1">
@@ -3695,7 +3846,7 @@
           <type name="gpointer" c:type="gpointer"/>
         </array>
       </field>
-    </record>
+    </class>
     <record name="Parameter" c:type="GParameter">
       <doc xml:whitespace="preserve">The &lt;structname&gt;GParameter&lt;/structname&gt; struct is an auxiliary structure used
 to hand parameter name/value pairs to g_object_newv().</doc>
@@ -4772,14 +4923,12 @@
           <type name="Object"/>
         </return-value>
       </method>
-      <method name="dup_param"
-              c:identifier="g_value_dup_param"
-              introspectable="0">
+      <method name="dup_param" c:identifier="g_value_dup_param">
         <doc xml:whitespace="preserve">Get the contents of a %G_TYPE_PARAM #GValue, increasing its
 reference count.
-no longer needed.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">#GParamSpec content of @value, should be unreferenced when</doc>
+unreferenced when no longer needed.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:whitespace="preserve">#GParamSpec content of @value, should be</doc>
           <type name="ParamSpec" c:type="GParamSpec*"/>
         </return-value>
       </method>
@@ -5183,7 +5332,6 @@
       </method>
       <method name="set_param_take_ownership"
               c:identifier="g_value_set_param_take_ownership"
-              introspectable="0"
               deprecated="Use g_value_take_param() instead."
               deprecated-version="2.4">
         <doc xml:whitespace="preserve">This is an internal function introduced mainly for C marshallers.</doc>
@@ -5366,8 +5514,7 @@
       </method>
       <method name="take_param"
               c:identifier="g_value_take_param"
-              version="2.4"
-              introspectable="0">
+              version="2.4">
         <doc xml:whitespace="preserve">Sets the contents of a %G_TYPE_PARAM #GValue to @param and takes
 over the ownership of the callers reference to @param; the caller
 doesn't have to unref it any more.</doc>
@@ -6829,13 +6976,11 @@
         <type name="GType" c:type="GType"/>
       </return-value>
     </function>
-    <function name="param_spec_boolean"
-              c:identifier="g_param_spec_boolean"
-              introspectable="0">
+    <function name="param_spec_boolean" c:identifier="g_param_spec_boolean">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -6862,13 +7007,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_boxed"
-              c:identifier="g_param_spec_boxed"
-              introspectable="0">
+    <function name="param_spec_boxed" c:identifier="g_param_spec_boxed">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_BOXED
 derived property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -6895,11 +7038,9 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_char"
-              c:identifier="g_param_spec_char"
-              introspectable="0">
+    <function name="param_spec_char" c:identifier="g_param_spec_char">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecChar instance specifying a %G_TYPE_CHAR property.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -6934,13 +7075,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_double"
-              c:identifier="g_param_spec_double"
-              introspectable="0">
+    <function name="param_spec_double" c:identifier="g_param_spec_double">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecDouble instance specifying a %G_TYPE_DOUBLE
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -6975,13 +7114,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_enum"
-              c:identifier="g_param_spec_enum"
-              introspectable="0">
+    <function name="param_spec_enum" c:identifier="g_param_spec_enum">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecEnum instance specifying a %G_TYPE_ENUM
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7012,13 +7149,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_flags"
-              c:identifier="g_param_spec_flags"
-              introspectable="0">
+    <function name="param_spec_flags" c:identifier="g_param_spec_flags">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecFlags instance specifying a %G_TYPE_FLAGS
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7049,12 +7184,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_float"
-              c:identifier="g_param_spec_float"
-              introspectable="0">
+    <function name="param_spec_float" c:identifier="g_param_spec_float">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecFloat instance specifying a %G_TYPE_FLOAT property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7091,12 +7224,11 @@
     </function>
     <function name="param_spec_gtype"
               c:identifier="g_param_spec_gtype"
-              version="2.10"
-              introspectable="0">
+              version="2.10">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecGType instance specifying a
 %G_TYPE_GTYPE property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7123,12 +7255,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_int"
-              c:identifier="g_param_spec_int"
-              introspectable="0">
+    <function name="param_spec_int" c:identifier="g_param_spec_int">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecInt instance specifying a %G_TYPE_INT property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7163,12 +7293,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_int64"
-              c:identifier="g_param_spec_int64"
-              introspectable="0">
+    <function name="param_spec_int64" c:identifier="g_param_spec_int64">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecInt64 instance specifying a %G_TYPE_INT64 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7203,12 +7331,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_long"
-              c:identifier="g_param_spec_long"
-              introspectable="0">
+    <function name="param_spec_long" c:identifier="g_param_spec_long">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecLong instance specifying a %G_TYPE_LONG property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7243,13 +7369,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_object"
-              c:identifier="g_param_spec_object"
-              introspectable="0">
+    <function name="param_spec_object" c:identifier="g_param_spec_object">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT
 derived property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7278,12 +7402,11 @@
     </function>
     <function name="param_spec_override"
               c:identifier="g_param_spec_override"
-              version="2.4"
-              introspectable="0">
+              version="2.4">
       <doc xml:whitespace="preserve">Creates a new property of type #GParamSpecOverride. This is used
 to direct operations to another paramspec, and will not be directly
 useful unless you are implementing a new base type similar to GObject.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">the newly created #GParamSpec</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7298,13 +7421,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_param"
-              c:identifier="g_param_spec_param"
-              introspectable="0">
+    <function name="param_spec_param" c:identifier="g_param_spec_param">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7331,12 +7452,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_pointer"
-              c:identifier="g_param_spec_pointer"
-              introspectable="0">
+    <function name="param_spec_pointer" c:identifier="g_param_spec_pointer">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecPoiner instance specifying a pointer property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7376,12 +7495,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_string"
-              c:identifier="g_param_spec_string"
-              introspectable="0">
+    <function name="param_spec_string" c:identifier="g_param_spec_string">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecString instance.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7408,11 +7525,9 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_uchar"
-              c:identifier="g_param_spec_uchar"
-              introspectable="0">
+    <function name="param_spec_uchar" c:identifier="g_param_spec_uchar">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecUChar instance specifying a %G_TYPE_UCHAR property.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7447,12 +7562,10 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_uint"
-              c:identifier="g_param_spec_uint"
-              introspectable="0">
+    <function name="param_spec_uint" c:identifier="g_param_spec_uint">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecUInt instance specifying a %G_TYPE_UINT property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7487,13 +7600,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_uint64"
-              c:identifier="g_param_spec_uint64"
-              introspectable="0">
+    <function name="param_spec_uint64" c:identifier="g_param_spec_uint64">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecUInt64 instance specifying a %G_TYPE_UINT64
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7528,13 +7639,11 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_ulong"
-              c:identifier="g_param_spec_ulong"
-              introspectable="0">
+    <function name="param_spec_ulong" c:identifier="g_param_spec_ulong">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecULong instance specifying a %G_TYPE_ULONG
 property.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7569,14 +7678,12 @@
         </parameter>
       </parameters>
     </function>
-    <function name="param_spec_unichar"
-              c:identifier="g_param_spec_unichar"
-              introspectable="0">
+    <function name="param_spec_unichar" c:identifier="g_param_spec_unichar">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecUnichar instance specifying a %G_TYPE_UINT
 property. #GValue structures for this property can be accessed with
 g_value_set_uint() and g_value_get_uint().
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7604,14 +7711,13 @@
       </parameters>
     </function>
     <function name="param_spec_value_array"
-              c:identifier="g_param_spec_value_array"
-              introspectable="0">
+              c:identifier="g_param_spec_value_array">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecValueArray instance specifying a
 %G_TYPE_VALUE_ARRAY property. %G_TYPE_VALUE_ARRAY is a
 %G_TYPE_BOXED type, as such, #GValue structures for this property
 can be accessed with g_value_set_boxed() and g_value_get_boxed().
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">a newly created parameter specification</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -7640,13 +7746,12 @@
     </function>
     <function name="param_spec_variant"
               c:identifier="g_param_spec_variant"
-              version="2.26"
-              introspectable="0">
+              version="2.26">
       <doc xml:whitespace="preserve">Creates a new #GParamSpecVariant instance specifying a #GVariant
 property.
 If @default_value is floating, it is consumed.
 See g_param_spec_internal() for details on property names.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">the newly created #GParamSpec</doc>
         <type name="ParamSpec" c:type="GParamSpec*"/>
       </return-value>
@@ -8609,7 +8714,7 @@
 in their &lt;code&gt;class_init&lt;/code&gt; method by doing
 &lt;code&gt;super_class-&gt;signal_handler = my_signal_handler&lt;/code&gt;. Instead they
 will have to use g_signal_override_class_handler().
-If c_marshaller is %NULL @g_cclosure_marshal_generic will be used as
+If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
 the marshaller for this signal.</doc>
       <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">the signal id</doc>
