factor/basis/gobject/GObject-2.0.gir

6232 lines
243 KiB
Plaintext
Raw Normal View History

<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository version="1.0"
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="GLib" version="2.0"/>
<package name="gobject-2.0"/>
<c:include name="glib-object.h"/>
<namespace name="GObject"
version="2.0"
shared-library="libgobject-2.0.so.0"
c:prefix="g">
<alias name="SignalCMarshaller"
target="ClosureMarshal"
c:type="GSignalCMarshaller"/>
<alias name="Strv" target="none" c:type="GStrv"/>
<alias name="chararray" target="none" c:type="gchararray"/>
<glib:boxed c:type="GArray"
glib:name="Array"
glib:type-name="GArray"
glib:get-type="g_array_get_type">
</glib:boxed>
<callback name="BaseFinalizeFunc"
c:type="GBaseFinalizeFunc"
doc="A callback function used by the type system to finalize those portions
of a derived types class structure that were setup from the corresponding
GBaseInitFunc() function. Class finalization basically works the inverse
way in which class intialization is performed.
See GClassInitFunc() for a discussion of the class intialization process.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="BaseInitFunc"
c:type="GBaseInitFunc"
doc="A callback function used by the type system to do base initialization
of the class structures of derived types. It is called as part of the
initialization process of all derived classes and should reallocate
or reset all dynamic class members copied over from the parent class.
For example, class members (such as strings) that are not sufficiently
handled by a plain memory copy of the parent class into the derived class
have to be altered. See GClassInitFunc() for a discussion of the class
intialization process.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="BoxedCopyFunc"
c:type="GBoxedCopyFunc"
doc="This function is provided by the user and should produce a copy of the passed
in boxed structure.">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="boxed" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="BoxedFreeFunc"
c:type="GBoxedFreeFunc"
doc="This function is provided by the user and should free the boxed
structure passed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="boxed" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<glib:boxed c:type="GByteArray"
glib:name="ByteArray"
glib:type-name="GByteArray"
glib:get-type="g_byte_array_get_type">
</glib:boxed>
<record name="CClosure"
c:type="GCClosure"
doc="A #GCClosure is a specialization of #GClosure for C function callbacks.">
<field name="closure" writable="1">
<type name="Closure" c:type="GClosure"/>
</field>
<field name="callback" writable="1">
<type name="any" c:type="gpointer"/>
</field>
</record>
<callback name="Callback"
c:type="GCallback"
doc="The type used for callback functions in structure definitions and function
signatures. This doesn&apos;t mean that all callback functions must take no
parameters and return void. The required signature of a callback function
is determined by the context in which is used (e.g. the signal to which it
is connected). Use G_CALLBACK() to cast the callback function to a #GCallback.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="ClassFinalizeFunc"
c:type="GClassFinalizeFunc"
doc="A callback function used by the type system to finalize a class.
This function is rarely needed, as dynamically allocated class resources
should be handled by GBaseInitFunc() and GBaseFinalizeFunc().
Also, specification of a GClassFinalizeFunc() in the #GTypeInfo
structure of a static type is invalid, because classes of static types
will never be finalized (they are artificially kept alive when their
reference count drops to zero).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="class_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClassInitFunc"
c:type="GClassInitFunc"
doc="A callback function used by the type system to initialize the class
of a specific type. This function should initialize all static class
members.
The initialization process of a class involves:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;
1 - Copying common members from the parent class over to the
derived class structure.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
2 - Zero initialization of the remaining members not copied
over from the parent class.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
3 - Invocation of the GBaseInitFunc() initializers of all parent
types and the class&apos; type.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
4 - Invocation of the class&apos; GClassInitFunc() initializer.
&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;
Since derived classes are partially initialized through a memory copy
of the parent class, the general rule is that GBaseInitFunc() and
GBaseFinalizeFunc() should take care of necessary reinitialization
and release of those class members that were introduced by the type
that specified these GBaseInitFunc()/GBaseFinalizeFunc().
GClassInitFunc() should only care about initializing static
class members, while dynamic class members (such as allocated strings
or reference counted resources) are better handled by a GBaseInitFunc()
for this type, so proper initialization of the dynamic class members
is performed for class initialization of derived types as well.
An example may help to correspond the intend of the different class
initializers:
|[
typedef struct {
GObjectClass parent_class;
gint static_integer;
gchar *dynamic_string;
} TypeAClass;
static void
type_a_base_class_init (TypeAClass *class)
{
class-&gt;dynamic_string = g_strdup (&quot;some string&quot;);
}
static void
type_a_base_class_finalize (TypeAClass *class)
{
g_free (class-&gt;dynamic_string);
}
static void
type_a_class_init (TypeAClass *class)
{
class-&gt;static_integer = 42;
}
typedef struct {
TypeAClass parent_class;
gfloat static_float;
GString *dynamic_gstring;
} TypeBClass;
static void
type_b_base_class_init (TypeBClass *class)
{
class-&gt;dynamic_gstring = g_string_new (&quot;some other string&quot;);
}
static void
type_b_base_class_finalize (TypeBClass *class)
{
g_string_free (class-&gt;dynamic_gstring);
}
static void
type_b_class_init (TypeBClass *class)
{
class-&gt;static_float = 3.14159265358979323846;
}
]|
Initialization of TypeBClass will first cause initialization of
TypeAClass (derived classes reference their parent classes, see
g_type_class_ref() on this).
Initialization of TypeAClass roughly involves zero-initializing its fields,
then calling its GBaseInitFunc() type_a_base_class_init() to allocate
its dynamic members (dynamic_string), and finally calling its GClassInitFunc()
type_a_class_init() to initialize its static members (static_integer).
The first step in the initialization process of TypeBClass is then
a plain memory copy of the contents of TypeAClass into TypeBClass and
zero-initialization of the remaining fields in TypeBClass.
The dynamic members of TypeAClass within TypeBClass now need
reinitialization which is performed by calling type_a_base_class_init()
with an argument of TypeBClass.
After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()
is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),
is called to complete the initialization process with the static members
(static_float).
Corresponding finalization counter parts to the GBaseInitFunc() functions
have to be provided to release allocated resources at class finalization
time.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="class_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="Closure"
c:type="GClosure"
doc="g_closure_invoke()
g_closure_invalidate()
A #GClosure represents a callback supplied by the programmer."
glib:type-name="GClosure"
glib:get-type="g_closure_get_type">
<field name="ref_count" writable="1" bits="15">
<type name="uint" c:type="guint"/>
</field>
<field name="meta_marshal" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="n_guards" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="n_fnotifiers" writable="1" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="n_inotifiers" writable="1" bits="8">
<type name="uint" c:type="guint"/>
</field>
<field name="in_inotify" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="floating" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="derivative_flag" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_marshal" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_invalid" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="marshal">
<type name="any" c:type="pointer"/>
</field>
<field name="data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="notifiers" writable="1">
<type name="ClosureNotifyData" c:type="GClosureNotifyData*"/>
</field>
<constructor name="new_simple" c:identifier="g_closure_new_simple">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="sizeof_closure" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_object" c:identifier="g_closure_new_object">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="sizeof_closure" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</constructor>
<method name="ref" c:identifier="g_closure_ref">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
</method>
<method name="sink" c:identifier="g_closure_sink">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unref" c:identifier="g_closure_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="add_finalize_notifier"
c:identifier="g_closure_add_finalize_notifier">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify_func" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</method>
<method name="remove_finalize_notifier"
c:identifier="g_closure_remove_finalize_notifier">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify_func" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</method>
<method name="add_invalidate_notifier"
c:identifier="g_closure_add_invalidate_notifier">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify_func" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</method>
<method name="remove_invalidate_notifier"
c:identifier="g_closure_remove_invalidate_notifier">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify_func" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</method>
<method name="add_marshal_guards"
c:identifier="g_closure_add_marshal_guards">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pre_marshal_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="pre_marshal_notify"
transfer-ownership="none"
scope="call"
closure="3">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
<parameter name="post_marshal_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="post_marshal_notify"
transfer-ownership="none"
scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</method>
<method name="set_marshal" c:identifier="g_closure_set_marshal">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="marshal" transfer-ownership="none" scope="call">
<type name="ClosureMarshal" c:type="GClosureMarshal"/>
</parameter>
</parameters>
</method>
<method name="set_meta_marshal"
c:identifier="g_closure_set_meta_marshal">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="marshal_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="meta_marshal"
transfer-ownership="none"
scope="call">
<type name="ClosureMarshal" c:type="GClosureMarshal"/>
</parameter>
</parameters>
</method>
<method name="invalidate" c:identifier="g_closure_invalidate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="invoke" c:identifier="g_closure_invoke">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="return_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="n_param_values" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="param_values" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="invocation_hint" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
</record>
<callback name="ClosureMarshal"
c:type="GClosureMarshal"
doc="callback of @closure doesn&apos;t return a value.
which to invoke the callback of @closure
to g_closure_invoke()
see g_closure_set_marshal() and g_closure_set_meta_marshal()
The type used for marshaller functions.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="return_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="n_param_values" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="param_values" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="invocation_hint" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="marshal_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClosureNotify"
c:type="GClosureNotify"
doc="The type used for the various notification callbacks which can be registered
on closures.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</callback>
<record name="ClosureNotifyData" c:type="GClosureNotifyData">
<field name="data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="notify" writable="1">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</field>
</record>
<bitfield name="ConnectFlags"
doc="default handler of the signal.
calling the handler.
The connection flags are used to specify the behaviour of a signal&apos;s
connection."
c:type="GConnectFlags">
<member name="after" value="1" c:identifier="G_CONNECT_AFTER"/>
<member name="swapped" value="2" c:identifier="G_CONNECT_SWAPPED"/>
</bitfield>
<glib:boxed c:type="GDate"
glib:name="Date"
glib:type-name="GDate"
glib:get-type="g_date_get_type">
</glib:boxed>
<record name="EnumClass"
c:type="GEnumClass"
doc="individual values.
The class of an enumeration type holds information about its
possible values.">
<field name="g_type_class" writable="1">
<type name="TypeClass" c:type="GTypeClass"/>
</field>
<field name="minimum" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="maximum" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="n_values" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="values" writable="1">
<type name="EnumValue" c:type="GEnumValue*"/>
</field>
</record>
<record name="EnumValue"
c:type="GEnumValue"
doc="A structure which contains a single enum value, its name, and its
nickname.">
<field name="value" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="value_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value_nick" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<record name="FlagsClass"
c:type="GFlagsClass"
doc="individual values.
The class of a flags type holds information about its
possible values.">
<field name="g_type_class" writable="1">
<type name="TypeClass" c:type="GTypeClass"/>
</field>
<field name="mask" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="n_values" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="values" writable="1">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</field>
</record>
<record name="FlagsValue"
c:type="GFlagsValue"
doc="A structure which contains a single flags value, its name, and its
nickname.">
<field name="value" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="value_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value_nick" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<glib:boxed c:type="GHashTable"
glib:name="HashTable"
glib:type-name="GHashTable"
glib:get-type="g_hash_table_get_type">
</glib:boxed>
<glib:boxed c:type="GIOChannel"
glib:name="IOChannel"
glib:type-name="GIOChannel"
glib:get-type="g_io_channel_get_type">
</glib:boxed>
<bitfield name="IOCondition"
glib:type-name="GIOCondition"
glib:get-type="g_io_condition_get_type"
c:type="GIOCondition">
<member name="in" value="1" c:identifier="G_IO_IN" glib:nick="in"/>
<member name="out" value="4" c:identifier="G_IO_OUT" glib:nick="out"/>
<member name="pri" value="2" c:identifier="G_IO_PRI" glib:nick="pri"/>
<member name="err" value="8" c:identifier="G_IO_ERR" glib:nick="err"/>
<member name="hup" value="16" c:identifier="G_IO_HUP" glib:nick="hup"/>
<member name="nval"
value="32"
c:identifier="G_IO_NVAL"
glib:nick="nval"/>
</bitfield>
<class name="InitiallyUnowned"
c:type="GInitiallyUnowned"
doc="All the fields in the &lt;structname&gt;GInitiallyUnowned&lt;/structname&gt; structure
are private to the #GInitiallyUnowned implementation and should never be
accessed directly."
parent="Object"
abstract="1"
glib:type-name="GInitiallyUnowned"
glib:get-type="g_initially_unowned_get_type"
glib:type-struct="InitiallyUnownedClass">
<field name="g_type_instance" writable="1">
<type name="TypeInstance" c:type="GTypeInstance"/>
</field>
<field name="ref_count" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="qdata" writable="1">
<type name="GLib.Data" c:type="GData*"/>
</field>
</class>
<record name="InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"
glib:is-gtype-struct-for="InitiallyUnowned"
doc="The class structure for the &lt;structname&gt;GInitiallyUnowned&lt;/structname&gt; type.">
<field name="g_type_class">
<type name="TypeClass" c:type="GTypeClass"/>
</field>
<field name="construct_properties">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="constructor">
<callback name="constructor" c:type="constructor">
<return-value transfer-ownership="full">
<type name="Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_construct_properties" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="construct_properties" transfer-ownership="none">
<type name="ObjectConstructParam"
c:type="GObjectConstructParam*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_property">
<callback name="set_property" c:type="set_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_property">
<callback name="get_property" c:type="get_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="dispose">
<callback name="dispose" c:type="dispose">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="finalize">
<callback name="finalize" c:type="finalize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="dispatch_properties_changed">
<callback name="dispatch_properties_changed"
c:type="dispatch_properties_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="n_pspecs" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspecs" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="notify">
<callback name="notify" c:type="notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="constructed">
<callback name="constructed" c:type="constructed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="flags">
<type name="size_t" c:type="gsize"/>
</field>
<field name="pdummy">
<array zero-terminated="0" c:type="gpointer" fixed-size="6">
<type name="any"/>
</array>
</field>
</record>
<callback name="InstanceInitFunc"
c:type="GInstanceInitFunc"
doc="A callback function used by the type system to initialize a new
instance of a type. This function initializes all instance members and
allocates any resources required by it.
Initialization of a derived instance involves calling all its parent
types instance initializers, so the class member of the instance
is altered during its initialization to always point to the class that
belongs to the type the current initializer was introduced for.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</parameter>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="InterfaceFinalizeFunc"
c:type="GInterfaceFinalizeFunc"
doc="A callback function used by the type system to finalize an interface.
This function should destroy any internal data and release any resources
allocated by the corresponding GInterfaceInitFunc() function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_iface" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="iface_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="InterfaceInfo"
c:type="GInterfaceInfo"
doc="A structure that provides information to the type system which is
used specifically for managing interface types.">
<field name="interface_init" writable="1">
<type name="InterfaceInitFunc" c:type="GInterfaceInitFunc"/>
</field>
<field name="interface_finalize" writable="1">
<type name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc"/>
</field>
<field name="interface_data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
</record>
<callback name="InterfaceInitFunc"
c:type="GInterfaceInitFunc"
doc="A callback function used by the type system to initialize a new
interface. This function should initialize all internal data and
allocate any resources required by the interface.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_iface" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="iface_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="Object"
c:type="GObject"
doc="All the fields in the &lt;structname&gt;GObject&lt;/structname&gt; structure are private
to the #GObject implementation and should never be accessed directly."
abstract="1"
glib:type-name="GObject"
glib:get-type="intern"
glib:type-struct="ObjectClass">
<virtual-method name="set_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="dispose">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="finalize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="dispatch_properties_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_pspecs" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspecs" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="constructed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="set_property" c:identifier="g_object_set_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="get_property" c:identifier="g_object_get_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="freeze_notify" c:identifier="g_object_freeze_notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="notify" c:identifier="g_object_notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="thaw_notify" c:identifier="g_object_thaw_notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="weak_ref" c:identifier="g_object_weak_ref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify"
transfer-ownership="none"
scope="call"
closure="2">
<type name="WeakNotify" c:type="GWeakNotify"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="weak_unref" c:identifier="g_object_weak_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify"
transfer-ownership="none"
scope="call"
closure="2">
<type name="WeakNotify" c:type="GWeakNotify"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="add_weak_pointer" c:identifier="g_object_add_weak_pointer">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="weak_pointer_location"
direction="inout"
transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</method>
<method name="remove_weak_pointer"
c:identifier="g_object_remove_weak_pointer">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="weak_pointer_location"
direction="inout"
transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</method>
<method name="add_toggle_ref" c:identifier="g_object_add_toggle_ref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify"
transfer-ownership="none"
scope="call"
closure="2">
<type name="ToggleNotify" c:type="GToggleNotify"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="remove_toggle_ref"
c:identifier="g_object_remove_toggle_ref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify"
transfer-ownership="none"
scope="call"
closure="2">
<type name="ToggleNotify" c:type="GToggleNotify"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_qdata" c:identifier="g_object_get_qdata">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="set_qdata" c:identifier="g_object_set_qdata">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_qdata_full" c:identifier="g_object_set_qdata_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="steal_qdata" c:identifier="g_object_steal_qdata">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="get_data" c:identifier="g_object_get_data">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_data" c:identifier="g_object_set_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_data_full" c:identifier="g_object_set_data_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="steal_data" c:identifier="g_object_steal_data">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="watch_closure" c:identifier="g_object_watch_closure">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</method>
<method name="force_floating" c:identifier="g_object_force_floating">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="run_dispose" c:identifier="g_object_run_dispose">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="g_type_instance" writable="1">
<type name="TypeInstance" c:type="GTypeInstance"/>
</field>
<field name="ref_count" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="qdata" writable="1">
<type name="GLib.Data" c:type="GData*"/>
</field>
</class>
<record name="ObjectClass"
c:type="GObjectClass"
glib:is-gtype-struct-for="Object"
doc="complete the object initialization after all the construction properties are
set. The first thing a @constructor implementation must do is chain up to the
needed, e.g. to handle construct properties, or to implement singletons.
overridden for every type with properties. Implementations of @set_property
don&apos;t need to emit property change notification explicitly, this is handled
by the type system.
overridden for every type with properties.
objects, but keep the instance otherwise intact, so that client method
invocations still work. It may be run multiple times (due to reference
loops). Before returning, @dispose should chain up to the @dispose method
of the parent class.
the instance begun in @dispose and chain up to the @finalize method of the
parent class.
of properties. Overriding @dispatch_properties_changed should be rarely
needed.
final step of the object creation process. At the point of the call, all
construction properties have been set on the object. The purpose of this
call is to allow for object initialisation steps that can only be performed
after construction properties have been set. @constructed implementors
should chain up to the @constructed call of their parent class to allow it
to complete its initialisation.
The class structure for the &lt;structname&gt;GObject&lt;/structname&gt; type.
&lt;example&gt;
&lt;title&gt;Implementing singletons using a constructor&lt;/title&gt;
&lt;programlisting&gt;
static MySingleton *the_singleton = NULL;
static GObject*
my_singleton_constructor (GType type,
guint n_construct_params,
GObjectConstructParam *construct_params)
{
GObject *object;
if (!the_singleton)
{
object = G_OBJECT_CLASS (parent_class)-&gt;constructor (type,
n_construct_params,
construct_params);
the_singleton = MY_SINGLETON (object);
}
else
object = g_object_ref (G_OBJECT (the_singleton));
return object;
}
&lt;/programlisting&gt;&lt;/example&gt;">
<field name="g_type_class">
<type name="TypeClass" c:type="GTypeClass"/>
</field>
<field name="construct_properties">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="constructor">
<callback name="constructor" c:type="constructor">
<return-value transfer-ownership="full">
<type name="Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_construct_properties" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="construct_properties" transfer-ownership="none">
<type name="ObjectConstructParam"
c:type="GObjectConstructParam*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_property">
<callback name="set_property" c:type="set_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_property">
<callback name="get_property" c:type="get_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="dispose">
<callback name="dispose" c:type="dispose">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="finalize">
<callback name="finalize" c:type="finalize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="dispatch_properties_changed">
<callback name="dispatch_properties_changed"
c:type="dispatch_properties_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="n_pspecs" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspecs" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="notify">
<callback name="notify" c:type="notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="constructed">
<callback name="constructed" c:type="constructed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="flags">
<type name="size_t" c:type="gsize"/>
</field>
<field name="pdummy">
<array zero-terminated="0" c:type="gpointer" fixed-size="6">
<type name="any"/>
</array>
</field>
<method name="install_property"
c:identifier="g_object_class_install_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="find_property" c:identifier="g_object_class_find_property">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="list_properties"
c:identifier="g_object_class_list_properties">
<return-value transfer-ownership="full">
<array length="1" c:type="GParamSpec**">
<type name="ParamSpec"/>
</array>
</return-value>
<parameters>
<parameter name="n_properties"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="override_property"
c:identifier="g_object_class_override_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
</record>
<record name="ObjectConstructParam"
c:type="GObjectConstructParam"
doc="The &lt;structname&gt;GObjectConstructParam&lt;/structname&gt; struct is an auxiliary
structure used to hand #GParamSpec/#GValue pairs to the @constructor of
a #GObjectClass.">
<field name="pspec" writable="1">
<type name="ParamSpec" c:type="GParamSpec*"/>
</field>
<field name="value" writable="1">
<type name="Value" c:type="GValue*"/>
</field>
</record>
<callback name="ObjectFinalizeFunc"
c:type="GObjectFinalizeFunc"
doc="The type of the @finalize function of #GObjectClass.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
<callback name="ObjectGetPropertyFunc"
c:type="GObjectGetPropertyFunc"
doc="g_object_class_install_property().
The type of the @get_property function of #GObjectClass.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
<callback name="ObjectSetPropertyFunc"
c:type="GObjectSetPropertyFunc"
doc="g_object_class_install_property().
The type of the @set_property function of #GObjectClass.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
<constant name="PARAM_MASK" value="255">
<type name="int"/>
</constant>
<constant name="PARAM_READWRITE" value="0">
<type name="int"/>
</constant>
<constant name="PARAM_STATIC_STRINGS" value="0">
<type name="int"/>
</constant>
<constant name="PARAM_USER_SHIFT" value="8">
<type name="int"/>
</constant>
<bitfield name="ParamFlags"
doc="strict validation is not required
parameter is guaranteed to remain valid and
unmodified for the lifetime of the parameter.
Since 2.8
parameter is guaranteed to remain valid and
unmmodified for the lifetime of the parameter.
Since 2.8
parameter is guaranteed to remain valid and
unmodified for the lifetime of the parameter.
Since 2.8
Through the #GParamFlags flag values, certain aspects of parameters
can be configured."
c:type="GParamFlags">
<member name="readable" value="1" c:identifier="G_PARAM_READABLE"/>
<member name="writable" value="2" c:identifier="G_PARAM_WRITABLE"/>
<member name="construct" value="4" c:identifier="G_PARAM_CONSTRUCT"/>
<member name="construct_only"
value="8"
c:identifier="G_PARAM_CONSTRUCT_ONLY"/>
<member name="lax_validation"
value="16"
c:identifier="G_PARAM_LAX_VALIDATION"/>
<member name="static_name"
value="32"
c:identifier="G_PARAM_STATIC_NAME"/>
<member name="private" value="32" c:identifier="G_PARAM_PRIVATE"/>
<member name="static_nick"
value="64"
c:identifier="G_PARAM_STATIC_NICK"/>
<member name="static_blurb"
value="128"
c:identifier="G_PARAM_STATIC_BLURB"/>
</bitfield>
<record name="ParamSpec"
c:type="GParamSpec"
doc="All other fields of the &lt;structname&gt;GParamSpec&lt;/structname&gt; struct are private and
should not be used directly.">
<field name="g_type_instance" writable="1">
<type name="TypeInstance" c:type="GTypeInstance"/>
</field>
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="flags" writable="1">
<type name="ParamFlags" c:type="GParamFlags"/>
</field>
<field name="value_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="owner_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="_nick" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="_blurb" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="qdata" writable="1">
<type name="GLib.Data" c:type="GData*"/>
</field>
<field name="ref_count" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="param_id" writable="1">
<type name="uint" c:type="guint"/>
</field>
<method name="ref" c:identifier="g_param_spec_ref">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
</method>
<method name="unref" c:identifier="g_param_spec_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="sink" c:identifier="g_param_spec_sink">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref_sink" c:identifier="g_param_spec_ref_sink">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
</method>
<method name="get_qdata" c:identifier="g_param_spec_get_qdata">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="set_qdata" c:identifier="g_param_spec_set_qdata">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_qdata_full" c:identifier="g_param_spec_set_qdata_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="steal_qdata" c:identifier="g_param_spec_steal_qdata">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="get_redirect_target"
c:identifier="g_param_spec_get_redirect_target">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
</method>
<method name="get_name" c:identifier="g_param_spec_get_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_nick" c:identifier="g_param_spec_get_nick">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_blurb" c:identifier="g_param_spec_get_blurb">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
</record>
<record name="ParamSpecBoolean"
c:type="GParamSpecBoolean"
doc="A #GParamSpec derived structure that contains the meta data for boolean properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="default_value" writable="1">
<type name="boolean" c:type="gboolean"/>
</field>
</record>
<record name="ParamSpecBoxed"
c:type="GParamSpecBoxed"
doc="A #GParamSpec derived structure that contains the meta data for boxed properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
</record>
<record name="ParamSpecChar"
c:type="GParamSpecChar"
doc="A #GParamSpec derived structure that contains the meta data for character properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="int8" c:type="gint8"/>
</field>
<field name="maximum" writable="1">
<type name="int8" c:type="gint8"/>
</field>
<field name="default_value" writable="1">
<type name="int8" c:type="gint8"/>
</field>
<method name="" c:identifier="g_param_spec_char">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="int8" c:type="gint8"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="int8" c:type="gint8"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="int8" c:type="gint8"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</method>
</record>
<record name="ParamSpecClass"
c:type="GParamSpecClass"
doc="up to the finalize method of the parent class.
(recommended, the default is g_value_reset()), see
g_param_value_set_default().
specifications set out by this type (optional), see
g_param_value_set_validate().
(recommended, the default is memcmp()), see g_param_values_cmp().
The class structure for the &lt;structname&gt;GParamSpec&lt;/structname&gt; type.
Normally, &lt;structname&gt;GParamSpec&lt;/structname&gt; classes are filled by
g_param_type_register_static().">
<field name="g_type_class" writable="1">
<type name="TypeClass" c:type="GTypeClass"/>
</field>
<field name="value_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="finalize">
<type name="any" c:type="pointer"/>
</field>
<field name="value_set_default">
<type name="any" c:type="pointer"/>
</field>
<field name="value_validate">
<type name="any" c:type="pointer"/>
</field>
<field name="values_cmp">
<type name="any" c:type="pointer"/>
</field>
<field name="dummy" writable="1">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="any"/>
</array>
</field>
</record>
<record name="ParamSpecDouble"
c:type="GParamSpecDouble"
doc="by g_param_values_cmp(); the default value is 1e-90.
A #GParamSpec derived structure that contains the meta data for double properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="maximum" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="default_value" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="epsilon" writable="1">
<type name="double" c:type="gdouble"/>
</field>
</record>
<record name="ParamSpecEnum"
c:type="GParamSpecEnum"
doc="A #GParamSpec derived structure that contains the meta data for enum
properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="enum_class" writable="1">
<type name="EnumClass" c:type="GEnumClass*"/>
</field>
<field name="default_value" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<record name="ParamSpecFlags"
c:type="GParamSpecFlags"
doc="A #GParamSpec derived structure that contains the meta data for flags
properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="flags_class" writable="1">
<type name="FlagsClass" c:type="GFlagsClass*"/>
</field>
<field name="default_value" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="ParamSpecFloat"
c:type="GParamSpecFloat"
doc="by g_param_values_cmp(); the default value is 1e-30.
A #GParamSpec derived structure that contains the meta data for float properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="float" c:type="gfloat"/>
</field>
<field name="maximum" writable="1">
<type name="float" c:type="gfloat"/>
</field>
<field name="default_value" writable="1">
<type name="float" c:type="gfloat"/>
</field>
<field name="epsilon" writable="1">
<type name="float" c:type="gfloat"/>
</field>
</record>
<record name="ParamSpecGType"
c:type="GParamSpecGType"
doc="A #GParamSpec derived structure that contains the meta data for #GType properties."
version="2.10">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="is_a_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
</record>
<record name="ParamSpecInt"
c:type="GParamSpecInt"
doc="A #GParamSpec derived structure that contains the meta data for integer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="maximum" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="default_value" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<record name="ParamSpecInt64"
c:type="GParamSpecInt64"
doc="A #GParamSpec derived structure that contains the meta data for 64bit integer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="int64" c:type="gint64"/>
</field>
<field name="maximum" writable="1">
<type name="int64" c:type="gint64"/>
</field>
<field name="default_value" writable="1">
<type name="int64" c:type="gint64"/>
</field>
</record>
<record name="ParamSpecLong"
c:type="GParamSpecLong"
doc="A #GParamSpec derived structure that contains the meta data for long integer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="long" c:type="glong"/>
</field>
<field name="maximum" writable="1">
<type name="long" c:type="glong"/>
</field>
<field name="default_value" writable="1">
<type name="long" c:type="glong"/>
</field>
</record>
<record name="ParamSpecObject"
c:type="GParamSpecObject"
doc="A #GParamSpec derived structure that contains the meta data for object properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
</record>
<record name="ParamSpecOverride"
c:type="GParamSpecOverride"
doc="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
blurb, validating a value, and so forth. See
g_param_spec_get_redirect_target() for retrieving the overidden
property. #GParamSpecOverride is used in implementing
g_object_class_override_property(), and will not be directly useful
unless you are implementing a new base type similar to GObject."
version="2.4">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="overridden" writable="1">
<type name="ParamSpec" c:type="GParamSpec*"/>
</field>
</record>
<record name="ParamSpecParam"
c:type="GParamSpecParam"
doc="A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
</record>
<record name="ParamSpecPointer"
c:type="GParamSpecPointer"
doc="A #GParamSpec derived structure that contains the meta data for pointer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
</record>
<record name="ParamSpecPool" c:type="GParamSpecPool">
<constructor name="new" c:identifier="g_param_spec_pool_new">
<return-value transfer-ownership="full">
<type name="ParamSpecPool" c:type="GParamSpecPool*"/>
</return-value>
<parameters>
<parameter name="type_prefixing" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<method name="insert" c:identifier="g_param_spec_pool_insert">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="owner_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="remove" c:identifier="g_param_spec_pool_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="lookup" c:identifier="g_param_spec_pool_lookup">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="param_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="owner_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="walk_ancestors" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="list_owned" c:identifier="g_param_spec_pool_list_owned">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="owner_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="list" c:identifier="g_param_spec_pool_list">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec**"/>
</return-value>
<parameters>
<parameter name="owner_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_pspecs_p"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
</record>
<record name="ParamSpecString"
c:type="GParamSpecString"
doc="A #GParamSpec derived structure that contains the meta data for string
properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="default_value" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="cset_first" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="cset_nth" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="substitutor" writable="1">
<type name="int8" c:type="gchar"/>
</field>
<field name="null_fold_if_empty" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ensure_non_null" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="ParamSpecTypeInfo"
c:type="GParamSpecTypeInfo"
doc="(recommended, the default is g_value_reset()), see
g_param_value_set_default().
specifications set out by @pspec (optional), see
g_param_value_set_validate().
(recommended, the default is memcmp()), see g_param_values_cmp().
This structure is used to provide the type system with the information
required to initialize and destruct (finalize) a parameter&apos;s class and
instances thereof.
The initialized structure is passed to the g_param_type_register_static()
The type system will perform a deep copy of this structure, so its memory
does not need to be persistent across invocation of
g_param_type_register_static().">
<field name="instance_size" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="n_preallocs" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="instance_init">
<type name="any" c:type="pointer"/>
</field>
<field name="value_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="finalize">
<type name="any" c:type="pointer"/>
</field>
<field name="value_set_default">
<type name="any" c:type="pointer"/>
</field>
<field name="value_validate">
<type name="any" c:type="pointer"/>
</field>
<field name="values_cmp">
<type name="any" c:type="pointer"/>
</field>
</record>
<record name="ParamSpecUChar"
c:type="GParamSpecUChar"
doc="A #GParamSpec derived structure that contains the meta data for unsigned character properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="uint8" c:type="guint8"/>
</field>
<field name="maximum" writable="1">
<type name="uint8" c:type="guint8"/>
</field>
<field name="default_value" writable="1">
<type name="uint8" c:type="guint8"/>
</field>
<method name="" c:identifier="g_param_spec_uchar">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</method>
</record>
<record name="ParamSpecUInt"
c:type="GParamSpecUInt"
doc="A #GParamSpec derived structure that contains the meta data for unsigned integer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="maximum" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="default_value" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="ParamSpecUInt64"
c:type="GParamSpecUInt64"
doc="A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="uint64" c:type="guint64"/>
</field>
<field name="maximum" writable="1">
<type name="uint64" c:type="guint64"/>
</field>
<field name="default_value" writable="1">
<type name="uint64" c:type="guint64"/>
</field>
</record>
<record name="ParamSpecULong"
c:type="GParamSpecULong"
doc="A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="minimum" writable="1">
<type name="ulong" c:type="gulong"/>
</field>
<field name="maximum" writable="1">
<type name="ulong" c:type="gulong"/>
</field>
<field name="default_value" writable="1">
<type name="ulong" c:type="gulong"/>
</field>
</record>
<record name="ParamSpecUnichar"
c:type="GParamSpecUnichar"
doc="A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="default_value" writable="1">
<type name="GLib.unichar" c:type="gunichar"/>
</field>
<method name="" c:identifier="g_param_spec_unichar">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="GLib.unichar" c:type="gunichar"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</method>
</record>
<record name="ParamSpecValueArray"
c:type="GParamSpecValueArray"
doc="A #GParamSpec derived structure that contains the meta data for #GValueArray properties.">
<field name="parent_instance" writable="1">
<type name="ParamSpec" c:type="GParamSpec"/>
</field>
<field name="element_spec" writable="1">
<type name="ParamSpec" c:type="GParamSpec*"/>
</field>
<field name="fixed_n_elements" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="Parameter"
c:type="GParameter"
doc="The &lt;structname&gt;GParameter&lt;/structname&gt; struct is an auxiliary structure used
to hand parameter name/value pairs to g_object_newv().">
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value" writable="1">
<type name="Value" c:type="GValue"/>
</field>
</record>
<glib:boxed c:type="GPtrArray"
glib:name="PtrArray"
glib:type-name="GPtrArray"
glib:get-type="g_ptr_array_get_type">
</glib:boxed>
<glib:boxed c:type="GRegex"
glib:name="Regex"
glib:type-name="GRegex"
glib:get-type="g_regex_get_type">
</glib:boxed>
<constant name="SIGNAL_FLAGS_MASK" value="127">
<type name="int"/>
</constant>
<constant name="SIGNAL_MATCH_MASK" value="63">
<type name="int"/>
</constant>
<callback name="SignalAccumulator"
c:type="GSignalAccumulator"
doc="is the return value of the current signal emission.
The signal accumulator is a special callback function that can be used
to collect return values of the various callbacks that are called
during a signal emission. The signal accumulator is specified at signal
creation time, if it is left %NULL, no accumulation of callback return
values is performed. The return value of signal emissions is then the
value returned by the last callback.
should be aborted. Returning %FALSE means to abort the
current emission and %TRUE is returned for continuation.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ihint" transfer-ownership="none">
<type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
</parameter>
<parameter name="return_accu" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="handler_return" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="SignalEmissionHook"
c:type="GSignalEmissionHook"
doc="the instance on which the signal was emitted.
parameters of the emission.
A simple function pointer to get invoked when the signal is emitted. This
allows you to tie a hook to the signal type, so that it will trap all
emissions of that signal, from any object.
You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.
hook is disconnected (and destroyed).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ihint" transfer-ownership="none">
<type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
</parameter>
<parameter name="n_param_values" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="param_values" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<bitfield name="SignalFlags"
doc="emission for this very object will not be emitted recursively,
but instead cause the first emission to be restarted.
upon handler connections and emissions.
objects from user code via g_signal_emit() and friends, without
the need of being embedded into extra code that performs pre or
post emission adjustments on the object. They can also be thought
of as object methods which can be called generically by
third-party code.
The signal flags are used to specify a signal&apos;s behaviour, the overall
signal description outlines how especially the RUN flags control the
stages of a signal emission."
c:type="GSignalFlags">
<member name="run_first" value="1" c:identifier="G_SIGNAL_RUN_FIRST"/>
<member name="run_last" value="2" c:identifier="G_SIGNAL_RUN_LAST"/>
<member name="run_cleanup"
value="4"
c:identifier="G_SIGNAL_RUN_CLEANUP"/>
<member name="no_recurse" value="8" c:identifier="G_SIGNAL_NO_RECURSE"/>
<member name="detailed" value="16" c:identifier="G_SIGNAL_DETAILED"/>
<member name="action" value="32" c:identifier="G_SIGNAL_ACTION"/>
<member name="no_hooks" value="64" c:identifier="G_SIGNAL_NO_HOOKS"/>
</bitfield>
<record name="SignalInvocationHint"
c:type="GSignalInvocationHint"
doc="field will contain one of %G_SIGNAL_RUN_FIRST,
%G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP.
The #GSignalInvocationHint structure is used to pass on additional information
to callbacks during a signal emission.">
<field name="signal_id" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="detail" writable="1">
<type name="GLib.Quark" c:type="GQuark"/>
</field>
<field name="run_type" writable="1">
<type name="SignalFlags" c:type="GSignalFlags"/>
</field>
</record>
<bitfield name="SignalMatchType"
doc="The match types specify what g_signal_handlers_block_matched(),
g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()
match signals by."
c:type="GSignalMatchType">
<member name="id" value="1" c:identifier="G_SIGNAL_MATCH_ID"/>
<member name="detail" value="2" c:identifier="G_SIGNAL_MATCH_DETAIL"/>
<member name="closure" value="4" c:identifier="G_SIGNAL_MATCH_CLOSURE"/>
<member name="func" value="8" c:identifier="G_SIGNAL_MATCH_FUNC"/>
<member name="data" value="16" c:identifier="G_SIGNAL_MATCH_DATA"/>
<member name="unblocked"
value="32"
c:identifier="G_SIGNAL_MATCH_UNBLOCKED"/>
</bitfield>
<record name="SignalQuery"
c:type="GSignalQuery"
doc="signal to be queried was unknown.
effective callback signature is:
&lt;programlisting&gt;
[#param_types param_names,]
#gpointer data2);
&lt;/programlisting&gt;
A structure holding in-depth information for a specific signal. It is
filled in by the g_signal_query() function.">
<field name="signal_id" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="signal_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="itype" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="signal_flags" writable="1">
<type name="SignalFlags" c:type="GSignalFlags"/>
</field>
<field name="return_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="n_params" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="param_types" writable="1">
<type name="any" c:type="GType*"/>
</field>
</record>
<glib:boxed c:type="GString"
glib:name="String"
glib:type-name="GString"
glib:get-type="g_gstring_get_type">
</glib:boxed>
<glib:boxed c:type="GStrv"
glib:name="Strv"
glib:type-name="GStrv"
glib:get-type="g_strv_get_type">
</glib:boxed>
<constant name="TYPE_FUNDAMENTAL_MAX" value="255">
<type name="int"/>
</constant>
<constant name="TYPE_FUNDAMENTAL_SHIFT" value="2">
<type name="int"/>
</constant>
<constant name="TYPE_RESERVED_BSE_FIRST" value="32">
<type name="int"/>
</constant>
<constant name="TYPE_RESERVED_BSE_LAST" value="48">
<type name="int"/>
</constant>
<constant name="TYPE_RESERVED_GLIB_FIRST" value="21">
<type name="int"/>
</constant>
<constant name="TYPE_RESERVED_GLIB_LAST" value="31">
<type name="int"/>
</constant>
<constant name="TYPE_RESERVED_USER_FIRST" value="49">
<type name="int"/>
</constant>
<callback name="ToggleNotify"
c:type="GToggleNotify"
doc="last reference to the object. %FALSE if the toggle
reference was the last reference and there are now other
references.
A callback function used for notification when the state
of a toggle reference changes. See g_object_add_toggle_ref().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="object" transfer-ownership="none" doc="was called.">
<type name="Object" c:type="GObject*"/>
</parameter>
<parameter name="is_last_ref" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
<union name="TypeCValue" c:type="GTypeCValue">
<field name="v_int" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="v_long" writable="1">
<type name="long" c:type="glong"/>
</field>
<field name="v_int64" writable="1">
<type name="int64" c:type="gint64"/>
</field>
<field name="v_double" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="v_pointer" writable="1">
<type name="any" c:type="gpointer"/>
</field>
</union>
<record name="TypeClass"
c:type="GTypeClass"
doc="An opaque structure used as the base of all classes.">
<field name="g_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<method name="get_private" c:identifier="g_type_class_get_private">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="private_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
</record>
<callback name="TypeClassCacheFunc"
c:type="GTypeClassCacheFunc"
doc="A callback function which is called when the reference count of a class
drops to zero. It may use g_type_class_ref() to prevent the class from
being freed. You should not call g_type_class_unref() from a
#GTypeClassCacheFunc function to prevent infinite recursion, use
g_type_class_unref_uncached() instead.
The functions have to check the class id passed in to figure
whether they actually want to cache the class of this type, since all
classes are routed through the same #GTypeClassCacheFunc chain.
called, %FALSE to continue.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="cache_data" transfer-ownership="none" doc="call">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="g_class" transfer-ownership="none">
<type name="TypeClass" c:type="GTypeClass*"/>
</parameter>
</parameters>
</callback>
<bitfield name="TypeDebugFlags"
doc="The &lt;type&gt;GTypeDebugFlags&lt;/type&gt; enumeration values can be passed to
g_type_init_with_debug_flags() to trigger debugging messages during runtime.
Note that the messages can also be triggered by setting the
&lt;envar&gt;GOBJECT_DEBUG&lt;/envar&gt; environment variable to a &apos;:&apos;-separated list of
&quot;objects&quot; and &quot;signals&quot;."
c:type="GTypeDebugFlags">
<member name="none" value="0" c:identifier="G_TYPE_DEBUG_NONE"/>
<member name="objects" value="1" c:identifier="G_TYPE_DEBUG_OBJECTS"/>
<member name="signals" value="2" c:identifier="G_TYPE_DEBUG_SIGNALS"/>
<member name="mask" value="3" c:identifier="G_TYPE_DEBUG_MASK"/>
</bitfield>
<bitfield name="TypeFlags"
doc="created for an abstract type.
that introduces a value table, but can&apos;t be used for
g_value_init().
Bit masks used to check or determine characteristics of a type."
c:type="GTypeFlags">
<member name="abstract" value="16" c:identifier="G_TYPE_FLAG_ABSTRACT"/>
<member name="value_abstract"
value="32"
c:identifier="G_TYPE_FLAG_VALUE_ABSTRACT"/>
</bitfield>
<bitfield name="TypeFundamentalFlags"
doc="Bit masks used to check or determine specific characteristics of a
fundamental type."
c:type="GTypeFundamentalFlags">
<member name="classed" value="1" c:identifier="G_TYPE_FLAG_CLASSED"/>
<member name="instantiatable"
value="2"
c:identifier="G_TYPE_FLAG_INSTANTIATABLE"/>
<member name="derivable" value="4" c:identifier="G_TYPE_FLAG_DERIVABLE"/>
<member name="deep_derivable"
value="8"
c:identifier="G_TYPE_FLAG_DEEP_DERIVABLE"/>
</bitfield>
<record name="TypeFundamentalInfo"
c:type="GTypeFundamentalInfo"
doc="A structure that provides information to the type system which is
used specifically for managing fundamental types.">
<field name="type_flags" writable="1">
<type name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags"/>
</field>
</record>
<record name="TypeInfo"
c:type="GTypeInfo"
doc="classed and instantiatable types. Location of the default vtable
inititalization function for interface types. (optional) This function
is used both to fill in virtual functions in the class or default vtable,
and to do type-specific setup such as registering signals and object
properties.
classed and instantiatable types. Location fo the default vtable
finalization function for interface types. (optional)
useful for fundamental types).
This structure is used to provide the type system with the information
required to initialize and destruct (finalize) a type&apos;s class and
its instances.
The initialized structure is passed to the g_type_register_static() function
(or is copied into the provided #GTypeInfo structure in the
g_type_plugin_complete_type_info()). The type system will perform a deep
copy of this structure, so its memory does not need to be persistent
across invocation of g_type_register_static().">
<field name="class_size" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="base_init" writable="1">
<type name="BaseInitFunc" c:type="GBaseInitFunc"/>
</field>
<field name="base_finalize" writable="1">
<type name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
</field>
<field name="class_init" writable="1">
<type name="ClassInitFunc" c:type="GClassInitFunc"/>
</field>
<field name="class_finalize" writable="1">
<type name="ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
</field>
<field name="class_data" writable="1">
<type name="any" c:type="gconstpointer"/>
</field>
<field name="instance_size" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="n_preallocs" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="instance_init" writable="1">
<type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
</field>
<field name="value_table" writable="1">
<type name="TypeValueTable" c:type="GTypeValueTable*"/>
</field>
</record>
<record name="TypeInstance"
c:type="GTypeInstance"
doc="An opaque structure used as the base of all type instances.">
<field name="g_class" writable="1">
<type name="TypeClass" c:type="GTypeClass*"/>
</field>
<method name="get_private" c:identifier="g_type_instance_get_private">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="private_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
</record>
<record name="TypeInterface"
c:type="GTypeInterface"
doc="An opaque structure used as the base of all interface types.">
<field name="g_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="g_instance_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
</record>
<callback name="TypeInterfaceCheckFunc"
c:type="GTypeInterfaceCheckFunc"
doc="A callback called after an interface vtable is initialized.
See g_type_add_interface_check()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="check_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="g_iface" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="TypeModule"
c:type="GTypeModule"
doc="The members of the &lt;structname&gt;GTypeModule&lt;/structname&gt; structure should not
be accessed directly, except for the @name field."
parent="Object"
abstract="1"
glib:type-name="GTypeModule"
glib:get-type="g_type_module_get_type"
glib:type-struct="TypeModuleClass">
<implements name="TypePlugin"/>
<virtual-method name="load">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<virtual-method name="unload">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="use" c:identifier="g_type_module_use">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="unuse" c:identifier="g_type_module_unuse">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_name" c:identifier="g_type_module_set_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="register_type" c:identifier="g_type_module_register_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="parent_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="type_info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TypeFlags" c:type="GTypeFlags"/>
</parameter>
</parameters>
</method>
<method name="add_interface" c:identifier="g_type_module_add_interface">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_info" transfer-ownership="none">
<type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
</parameter>
</parameters>
</method>
<method name="register_enum" c:identifier="g_type_module_register_enum">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="const_static_values" transfer-ownership="none">
<type name="EnumValue" c:type="GEnumValue*"/>
</parameter>
</parameters>
</method>
<method name="register_flags"
c:identifier="g_type_module_register_flags">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="const_static_values" transfer-ownership="none">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="Object" c:type="GObject"/>
</field>
<field name="use_count">
<type name="uint" c:type="guint"/>
</field>
<field name="type_infos">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="interface_infos">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="name">
<type name="utf8" c:type="gchar*"/>
</field>
</class>
<record name="TypeModuleClass"
c:type="GTypeModuleClass"
glib:is-gtype-struct-for="TypeModule"
doc="g_type_module_register_type().
In order to implement dynamic loading of types based on #GTypeModule,
the @load and @unload functions in #GTypeModuleClass must be implemented.">
<field name="parent_class">
<type name="ObjectClass" c:type="GObjectClass"/>
</field>
<field name="load">
<callback name="load" c:type="load">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="module" transfer-ownership="none">
<type name="TypeModule" c:type="GTypeModule*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unload">
<callback name="unload" c:type="unload">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="module" transfer-ownership="none">
<type name="TypeModule" c:type="GTypeModule*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<interface name="TypePlugin"
c:type="GTypePlugin"
doc="The &lt;structname&gt;GTypePlugin&lt;/structname&gt; typedef is used as a placeholder
for objects that implement the &lt;structname&gt;GTypePlugin&lt;/structname&gt;
interface."
glib:type-name="GTypePlugin"
glib:get-type="g_type_plugin_get_type"
glib:type-struct="TypePluginClass">
<method name="use" c:identifier="g_type_plugin_use">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unuse" c:identifier="g_type_plugin_unuse">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="complete_type_info"
c:identifier="g_type_plugin_complete_type_info">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="value_table" transfer-ownership="none">
<type name="TypeValueTable" c:type="GTypeValueTable*"/>
</parameter>
</parameters>
</method>
<method name="complete_interface_info"
c:identifier="g_type_plugin_complete_interface_info">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
</parameter>
</parameters>
</method>
</interface>
<record name="TypePluginClass"
c:type="GTypePluginClass"
glib:is-gtype-struct-for="TypePlugin"
doc="#GTypeValueTable structs for the type. The structs are initialized
with &lt;literal&gt;memset(s, 0, sizeof (s))&lt;/literal&gt; before calling
this function.
for the interface. The structs is initialized with
&lt;literal&gt;memset(s, 0, sizeof (s))&lt;/literal&gt; before calling
this function.
The #GTypePlugin interface is used by the type system in order to handle
the lifecycle of dynamically loaded types.">
<field name="base_iface">
<type name="TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="use_plugin">
<type name="TypePluginUse" c:type="GTypePluginUse"/>
</field>
<field name="unuse_plugin">
<type name="TypePluginUnuse" c:type="GTypePluginUnuse"/>
</field>
<field name="complete_type_info">
<type name="TypePluginCompleteTypeInfo"
c:type="GTypePluginCompleteTypeInfo"/>
</field>
<field name="complete_interface_info">
<type name="TypePluginCompleteInterfaceInfo"
c:type="GTypePluginCompleteInterfaceInfo"/>
</field>
</record>
<callback name="TypePluginCompleteInterfaceInfo"
c:type="GTypePluginCompleteInterfaceInfo"
doc="is added
The type of the @complete_interface_info function of #GTypePluginClass.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="plugin" transfer-ownership="none">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</parameter>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
</parameter>
</parameters>
</callback>
<callback name="TypePluginCompleteTypeInfo"
c:type="GTypePluginCompleteTypeInfo"
doc="The type of the @complete_type_info function of #GTypePluginClass.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="plugin" transfer-ownership="none">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</parameter>
<parameter name="g_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="value_table" transfer-ownership="none">
<type name="TypeValueTable" c:type="GTypeValueTable*"/>
</parameter>
</parameters>
</callback>
<callback name="TypePluginUnuse"
c:type="GTypePluginUnuse"
doc="The type of the @unuse_plugin function of #GTypePluginClass.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="plugin" transfer-ownership="none">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</parameter>
</parameters>
</callback>
<callback name="TypePluginUse"
c:type="GTypePluginUse"
doc="The type of the @use_plugin function of #GTypePluginClass, which gets called
to increase the use count of @plugin.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="plugin" transfer-ownership="none">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</parameter>
</parameters>
</callback>
<record name="TypeQuery"
c:type="GTypeQuery"
doc="A structure holding information for a specific type. It is
filled in by the g_type_query() function.">
<field name="type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="type_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="class_size" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="instance_size" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="TypeValueTable"
c:type="GTypeValueTable"
doc="directly into the value-&gt;data array. The data array of
the #GValue passed into this function was zero-filled
with &lt;function&gt;memset()&lt;/function&gt;, so no care has to
be taken to free any
old contents. E.g. for the implementation of a string
value that may never be %NULL, the implementation might
look like:
|[
value-&gt;data[0].v_pointer = g_strdup (&quot;&quot;);
]|
data array of the passed in @value. No resources may
remain allocated through the #GValue contents after
this function returns. E.g. for our above string type:
|[
// only free strings without a specific flag for static storage
if (!(value-&gt;data[1].v_uint &amp; G_VALUE_NOCOPY_CONTENTS))
g_free (value-&gt;data[0].v_pointer);
]|
and @src_value is a properly setup #GValue of same or
derived type.
The purpose of this function is to copy the contents of
remain valid. String type example:
|[
dest_value-&gt;data[0].v_pointer = g_strdup (src_value-&gt;data[0].v_pointer);
]|
or strings, return this pointer, so the caller can peek at
the current contents. To extend on our above string example:
|[
return value-&gt;data[0].v_pointer;
]|
this value bit-by-bit. Each character in the format represents
an argument to be collected, and the characters themselves indicate
the type of the argument. Currently supported arguments are:
&lt;variablelist&gt;
&lt;varlistentry&gt;&lt;term /&gt;&lt;listitem&gt;&lt;para&gt;
&apos;i&apos; - Integers. passed as collect_values[].v_int.
&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
&lt;varlistentry&gt;&lt;term /&gt;&lt;listitem&gt;&lt;para&gt;
&apos;l&apos; - Longs. passed as collect_values[].v_long.
&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
&lt;varlistentry&gt;&lt;term /&gt;&lt;listitem&gt;&lt;para&gt;
&apos;d&apos; - Doubles. passed as collect_values[].v_double.
&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
&lt;varlistentry&gt;&lt;term /&gt;&lt;listitem&gt;&lt;para&gt;
&apos;p&apos; - Pointers. passed as collect_values[].v_pointer.
&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
&lt;/variablelist&gt;
It should be noted that for variable argument list construction,
ANSI C promotes every type smaller than an integer to an int, and
floats to doubles. So for collection of short int or char, &apos;i&apos;
needs to be used, and for collection of floats &apos;d&apos;.
values collected from a variable argument list into contents
suitable for storage in a GValue. This function should setup
does not allow %NULL pointers, it needs to either spew an error,
or do an implicit conversion by storing an empty string.
The @value passed in to this function has a zero-filled data
array, so just like for value_init() it is guaranteed to not
contain any old contents that might need freeing.
and @collect_values is an array of unions #GTypeCValue with
length @n_collect_values, containing the collected values
according to @collect_format.
It may contain the flag %G_VALUE_NOCOPY_CONTENTS indicating,
that the collected value contents may be considered &quot;static&quot;
for the duration of the @value lifetime.
Thus an extra copy of the contents stored in @collect_values is
not required for assignment to @value.
For our above string example, we continue with:
|[
if (!collect_values[0].v_pointer)
value-&gt;data[0].v_pointer = g_strdup (&quot;&quot;);
else if (collect_flags &amp; G_VALUE_NOCOPY_CONTENTS)
{
value-&gt;data[0].v_pointer = collect_values[0].v_pointer;
// keep a flag for the value_free() implementation to not free this string
value-&gt;data[1].v_uint = G_VALUE_NOCOPY_CONTENTS;
}
else
value-&gt;data[0].v_pointer = g_strdup (collect_values[0].v_pointer);
return NULL;
]|
It should be noted, that it is generally a bad idea to follow the
#G_VALUE_NOCOPY_CONTENTS hint for reference counted types. Due to
reentrancy requirements and reference count assertions performed
by the #GSignal code, reference counts should always be incremented
for reference counted contents stored in the value-&gt;data array.
To deviate from our string example for a moment, and taking a look
at an exemplary implementation for collect_value() of #GObject:
|[
if (collect_values[0].v_pointer)
{
GObject *object = G_OBJECT (collect_values[0].v_pointer);
// never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types
value-&gt;data[0].v_pointer = g_object_ref (object);
return NULL;
}
else
return g_strdup_printf (&quot;Object passed as invalid NULL pointer&quot;);
}
]|
The reference count for valid objects is always incremented,
regardless of @collect_flags. For invalid objects, the example
returns a newly allocated string without altering @value.
Upon success, collect_value() needs to return %NULL. If, however,
an error condition occurred, collect_value() may spew an
error by returning a newly allocated non-%NULL string, giving
a suitable description of the error condition.
The calling code makes no assumptions about the @value
contents being valid upon error returns, @value
is simply thrown away without further freeing. As such, it is
a good idea to not allocate #GValue contents, prior to returning
an error, however, collect_values() is not obliged to return
a correctly setup @value for error returns, simply because
any non-%NULL return is considered a fatal condition so further
program behaviour is undefined.
analogous to @collect_format. Usually, @lcopy_format string consists
only of &apos;p&apos;s to provide lcopy_value() with pointers to storage locations.
arguments passed through a variable argument list which got
collected into @collect_values according to @lcopy_format.
and @collect_flags may contain %G_VALUE_NOCOPY_CONTENTS.
In contrast to collect_value(), lcopy_value() is obliged to
always properly support %G_VALUE_NOCOPY_CONTENTS.
Similar to collect_value() the function may prematurely abort
by returning a newly allocated string describing an error condition.
To complete the string example:
|[
gchar **string_p = collect_values[0].v_pointer;
if (!string_p)
return g_strdup_printf (&quot;string location passed as NULL&quot;);
if (collect_flags &amp; G_VALUE_NOCOPY_CONTENTS)
*string_p = value-&gt;data[0].v_pointer;
else
*string_p = g_strdup (value-&gt;data[0].v_pointer);
]|
And an illustrative version of lcopy_value() for
reference-counted types:
|[
GObject **object_p = collect_values[0].v_pointer;
if (!object_p)
return g_strdup_printf (&quot;object location passed as NULL&quot;);
if (!value-&gt;data[0].v_pointer)
*object_p = NULL;
else if (collect_flags &amp; G_VALUE_NOCOPY_CONTENTS) // always honour
*object_p = value-&gt;data[0].v_pointer;
else
*object_p = g_object_ref (value-&gt;data[0].v_pointer);
return NULL;
]|
The #GTypeValueTable provides the functions required by the #GValue implementation,
to serve as a container for values of a type.">
<field name="value_init">
<type name="any" c:type="pointer"/>
</field>
<field name="value_free">
<type name="any" c:type="pointer"/>
</field>
<field name="value_copy">
<type name="any" c:type="pointer"/>
</field>
<field name="value_peek_pointer">
<type name="any" c:type="pointer"/>
</field>
<field name="collect_format" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="collect_value">
<type name="any" c:type="pointer"/>
</field>
<field name="lcopy_format" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="lcopy_value">
<type name="any" c:type="pointer"/>
</field>
</record>
<constant name="VALUE_COLLECT_FORMAT_MAX_LENGTH" value="8">
<type name="int"/>
</constant>
<constant name="VALUE_NOCOPY_CONTENTS" value="134217728">
<type name="int"/>
</constant>
<record name="Value"
c:type="GValue"
doc="An opaque structure used to hold different types of values.
to functions within a #GTypeValueTable structure, or implementations of
the g_value_*() API. That is, code portions which implement new fundamental
types.
#GValue users can not make any assumptions about how data is stored
within the 2 element @data union, and the @g_type member should
only be accessed through the G_VALUE_TYPE() macro."
glib:type-name="GValue"
glib:get-type="g_value_get_type">
<field name="g_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="data" writable="1">
<array zero-terminated="0" c:type="any" fixed-size="2">
<type name="any"/>
</array>
</field>
<method name="set_boxed" c:identifier="g_value_set_boxed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_boxed" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
</parameters>
</method>
<method name="set_static_boxed" c:identifier="g_value_set_static_boxed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_boxed" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
</parameters>
</method>
<method name="get_boxed" c:identifier="g_value_get_boxed">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="dup_boxed" c:identifier="g_value_dup_boxed">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="take_boxed" c:identifier="g_value_take_boxed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_boxed" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
</parameters>
</method>
<method name="set_boxed_take_ownership"
c:identifier="g_value_set_boxed_take_ownership">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_boxed" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
</parameters>
</method>
<method name="set_enum" c:identifier="g_value_set_enum">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_enum" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_enum" c:identifier="g_value_get_enum">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_flags" c:identifier="g_value_set_flags">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_flags" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_flags" c:identifier="g_value_get_flags">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="init" c:identifier="g_value_init">
<return-value transfer-ownership="full">
<type name="Value" c:type="GValue*"/>
</return-value>
<parameters>
<parameter name="g_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="copy" c:identifier="g_value_copy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dest_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="reset" c:identifier="g_value_reset">
<return-value transfer-ownership="full">
<type name="Value" c:type="GValue*"/>
</return-value>
</method>
<method name="unset" c:identifier="g_value_unset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_instance" c:identifier="g_value_set_instance">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="fits_pointer" c:identifier="g_value_fits_pointer">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="peek_pointer" c:identifier="g_value_peek_pointer">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="transform" c:identifier="g_value_transform">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="set_param" c:identifier="g_value_set_param">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="param" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="get_param" c:identifier="g_value_get_param">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
</method>
<method name="dup_param" c:identifier="g_value_dup_param">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
</method>
<method name="take_param" c:identifier="g_value_take_param">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="param" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="set_param_take_ownership"
c:identifier="g_value_set_param_take_ownership">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="param" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="set_object" c:identifier="g_value_set_object">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_object" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_object" c:identifier="g_value_get_object">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="dup_object" c:identifier="g_value_dup_object">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="take_object" c:identifier="g_value_take_object">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_object" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_object_take_ownership"
c:identifier="g_value_set_object_take_ownership">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_object" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_char" c:identifier="g_value_set_char">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_char" transfer-ownership="none">
<type name="int8" c:type="gchar"/>
</parameter>
</parameters>
</method>
<method name="get_char" c:identifier="g_value_get_char">
<return-value transfer-ownership="none">
<type name="int8" c:type="gchar"/>
</return-value>
</method>
<method name="set_uchar" c:identifier="g_value_set_uchar">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_uchar" transfer-ownership="none">
<type name="uint8" c:type="guchar"/>
</parameter>
</parameters>
</method>
<method name="get_uchar" c:identifier="g_value_get_uchar">
<return-value transfer-ownership="none">
<type name="uint8" c:type="guchar"/>
</return-value>
</method>
<method name="set_boolean" c:identifier="g_value_set_boolean">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_boolean" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_boolean" c:identifier="g_value_get_boolean">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_int" c:identifier="g_value_set_int">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_int" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_int" c:identifier="g_value_get_int">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_uint" c:identifier="g_value_set_uint">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_uint" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_uint" c:identifier="g_value_get_uint">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="set_long" c:identifier="g_value_set_long">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_long" transfer-ownership="none">
<type name="long" c:type="glong"/>
</parameter>
</parameters>
</method>
<method name="get_long" c:identifier="g_value_get_long">
<return-value transfer-ownership="none">
<type name="long" c:type="glong"/>
</return-value>
</method>
<method name="set_ulong" c:identifier="g_value_set_ulong">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_ulong" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
</parameters>
</method>
<method name="get_ulong" c:identifier="g_value_get_ulong">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
</method>
<method name="set_int64" c:identifier="g_value_set_int64">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_int64" transfer-ownership="none">
<type name="int64" c:type="gint64"/>
</parameter>
</parameters>
</method>
<method name="get_int64" c:identifier="g_value_get_int64">
<return-value transfer-ownership="none">
<type name="int64" c:type="gint64"/>
</return-value>
</method>
<method name="set_uint64" c:identifier="g_value_set_uint64">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_uint64" transfer-ownership="none">
<type name="uint64" c:type="guint64"/>
</parameter>
</parameters>
</method>
<method name="get_uint64" c:identifier="g_value_get_uint64">
<return-value transfer-ownership="none">
<type name="uint64" c:type="guint64"/>
</return-value>
</method>
<method name="set_float" c:identifier="g_value_set_float">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_float" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_float" c:identifier="g_value_get_float">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
</method>
<method name="set_double" c:identifier="g_value_set_double">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_double" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_double" c:identifier="g_value_get_double">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_string" c:identifier="g_value_set_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_static_string"
c:identifier="g_value_set_static_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_string" c:identifier="g_value_get_string">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="dup_string" c:identifier="g_value_dup_string">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_pointer" c:identifier="g_value_set_pointer">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_pointer" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_pointer" c:identifier="g_value_get_pointer">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="set_gtype" c:identifier="g_value_set_gtype">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_gtype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="get_gtype" c:identifier="g_value_get_gtype">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
<method name="take_string" c:identifier="g_value_take_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_string" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_string_take_ownership"
c:identifier="g_value_set_string_take_ownership">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="v_string" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
</record>
<record name="ValueArray"
c:type="GValueArray"
doc="A #GValueArray contains an array of #GValue elements."
glib:type-name="GValueArray"
glib:get-type="g_value_array_get_type">
<field name="n_values" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="values" writable="1">
<type name="Value" c:type="GValue*"/>
</field>
<field name="n_prealloced" writable="1">
<type name="uint" c:type="guint"/>
</field>
<constructor name="new" c:identifier="g_value_array_new">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="n_prealloced" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</constructor>
<method name="get_nth" c:identifier="g_value_array_get_nth">
<return-value transfer-ownership="full">
<type name="Value" c:type="GValue*"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="free" c:identifier="g_value_array_free">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="copy" c:identifier="g_value_array_copy">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
</method>
<method name="prepend" c:identifier="g_value_array_prepend">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="append" c:identifier="g_value_array_append">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="insert" c:identifier="g_value_array_insert">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="remove" c:identifier="g_value_array_remove">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="sort" c:identifier="g_value_array_sort">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="compare_func"
transfer-ownership="none"
scope="call">
<type name="GLib.CompareFunc" c:type="GCompareFunc"/>
</parameter>
</parameters>
</method>
<method name="sort_with_data"
c:identifier="g_value_array_sort_with_data">
<return-value transfer-ownership="full">
<type name="ValueArray" c:type="GValueArray*"/>
</return-value>
<parameters>
<parameter name="compare_func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
</record>
<callback name="ValueTransform"
c:type="GValueTransform"
doc="The type of value transformation functions which can be registered with
g_value_register_transform_func().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="src_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</callback>
<callback name="WeakNotify"
c:type="GWeakNotify"
doc="A #GWeakNotify function can be added to an object as a callback that gets
triggered when the object is finalized. Since the object is already being
finalized when the #GWeakNotify is called, there&apos;s not much you could do
with the object, apart from e.g. using its adress as hash-index or the like.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="where_the_object_was" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</callback>
<function name="boxed_copy" c:identifier="g_boxed_copy">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="boxed_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="src_boxed" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
</parameters>
</function>
<function name="boxed_free" c:identifier="g_boxed_free">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="boxed_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="boxed" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="boxed_type_init" c:identifier="g_boxed_type_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="boxed_type_register_static"
c:identifier="g_boxed_type_register_static">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="boxed_copy" transfer-ownership="none" scope="call">
<type name="BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
</parameter>
<parameter name="boxed_free" transfer-ownership="none" scope="call">
<type name="BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
</parameter>
</parameters>
</function>
<function name="cclosure_new" c:identifier="g_cclosure_new">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="callback_func"
transfer-ownership="none"
scope="call"
closure="1">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy_data" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</function>
<function name="cclosure_new_object" c:identifier="g_cclosure_new_object">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="callback_func" transfer-ownership="none" scope="call">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</function>
<function name="cclosure_new_object_swap"
c:identifier="g_cclosure_new_object_swap">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="callback_func" transfer-ownership="none" scope="call">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GObject*"/>
</parameter>
</parameters>
</function>
<function name="cclosure_new_swap" c:identifier="g_cclosure_new_swap">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="callback_func"
transfer-ownership="none"
scope="call"
closure="1">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy_data" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
</parameters>
</function>
<function name="enum_complete_type_info"
c:identifier="g_enum_complete_type_info">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_enum_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="const_values" transfer-ownership="none">
<type name="EnumValue" c:type="GEnumValue*"/>
</parameter>
</parameters>
</function>
<function name="enum_get_value" c:identifier="g_enum_get_value">
<return-value transfer-ownership="full">
<type name="EnumValue" c:type="GEnumValue*"/>
</return-value>
<parameters>
<parameter name="enum_class" transfer-ownership="none">
<type name="EnumClass" c:type="GEnumClass*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="enum_get_value_by_name"
c:identifier="g_enum_get_value_by_name">
<return-value transfer-ownership="full">
<type name="EnumValue" c:type="GEnumValue*"/>
</return-value>
<parameters>
<parameter name="enum_class" transfer-ownership="none">
<type name="EnumClass" c:type="GEnumClass*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="enum_get_value_by_nick"
c:identifier="g_enum_get_value_by_nick">
<return-value transfer-ownership="full">
<type name="EnumValue" c:type="GEnumValue*"/>
</return-value>
<parameters>
<parameter name="enum_class" transfer-ownership="none">
<type name="EnumClass" c:type="GEnumClass*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="enum_register_static"
c:identifier="g_enum_register_static">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="const_static_values" transfer-ownership="none">
<type name="EnumValue" c:type="GEnumValue*"/>
</parameter>
</parameters>
</function>
<function name="enum_types_init" c:identifier="g_enum_types_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="flags_complete_type_info"
c:identifier="g_flags_complete_type_info">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_flags_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="const_values" transfer-ownership="none">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</parameter>
</parameters>
</function>
<function name="flags_get_first_value"
c:identifier="g_flags_get_first_value">
<return-value transfer-ownership="full">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</return-value>
<parameters>
<parameter name="flags_class" transfer-ownership="none">
<type name="FlagsClass" c:type="GFlagsClass*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="flags_get_value_by_name"
c:identifier="g_flags_get_value_by_name">
<return-value transfer-ownership="full">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</return-value>
<parameters>
<parameter name="flags_class" transfer-ownership="none">
<type name="FlagsClass" c:type="GFlagsClass*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="flags_get_value_by_nick"
c:identifier="g_flags_get_value_by_nick">
<return-value transfer-ownership="full">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</return-value>
<parameters>
<parameter name="flags_class" transfer-ownership="none">
<type name="FlagsClass" c:type="GFlagsClass*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="flags_register_static"
c:identifier="g_flags_register_static">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="const_static_values" transfer-ownership="none">
<type name="FlagsValue" c:type="GFlagsValue*"/>
</parameter>
</parameters>
</function>
<function name="param_spec_boolean" c:identifier="g_param_spec_boolean">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_boxed" c:identifier="g_param_spec_boxed">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="boxed_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_double" c:identifier="g_param_spec_double">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_enum" c:identifier="g_param_spec_enum">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="enum_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_flags" c:identifier="g_param_spec_flags">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="flags_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_float" c:identifier="g_param_spec_float">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_gtype" c:identifier="g_param_spec_gtype">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="is_a_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_int" c:identifier="g_param_spec_int">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_int64" c:identifier="g_param_spec_int64">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="int64" c:type="gint64"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="int64" c:type="gint64"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="int64" c:type="gint64"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_internal" c:identifier="g_param_spec_internal">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="param_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_long" c:identifier="g_param_spec_long">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="long" c:type="glong"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="long" c:type="glong"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="long" c:type="glong"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_object" c:identifier="g_param_spec_object">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="object_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_override" c:identifier="g_param_spec_override">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="overridden" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</function>
<function name="param_spec_param" c:identifier="g_param_spec_param">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="param_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_pointer" c:identifier="g_param_spec_pointer">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_string" c:identifier="g_param_spec_string">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_types_init"
c:identifier="g_param_spec_types_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="param_spec_uint" c:identifier="g_param_spec_uint">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_uint64" c:identifier="g_param_spec_uint64">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="uint64" c:type="guint64"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="uint64" c:type="guint64"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="uint64" c:type="guint64"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_ulong" c:identifier="g_param_spec_ulong">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="minimum" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
<parameter name="maximum" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
<parameter name="default_value" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_spec_value_array"
c:identifier="g_param_spec_value_array">
<return-value transfer-ownership="full">
<type name="ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="nick" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="blurb" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="element_spec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="ParamFlags" c:type="GParamFlags"/>
</parameter>
</parameters>
</function>
<function name="param_type_init" c:identifier="g_param_type_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="param_type_register_static"
c:identifier="g_param_type_register_static">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="pspec_info" transfer-ownership="none">
<type name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo*"/>
</parameter>
</parameters>
</function>
<function name="param_value_convert" c:identifier="g_param_value_convert">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="strict_validation" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="param_value_defaults"
c:identifier="g_param_value_defaults">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="param_value_set_default"
c:identifier="g_param_value_set_default">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="param_value_validate"
c:identifier="g_param_value_validate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="param_values_cmp" c:identifier="g_param_values_cmp">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value1" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="value2" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="pointer_type_register_static"
c:identifier="g_pointer_type_register_static">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="signal_accumulator_true_handled"
c:identifier="g_signal_accumulator_true_handled">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ihint" transfer-ownership="none">
<type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
</parameter>
<parameter name="return_accu" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="handler_return" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="dummy" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_add_emission_hook"
c:identifier="g_signal_add_emission_hook">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="hook_func"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="SignalEmissionHook" c:type="GSignalEmissionHook"/>
</parameter>
<parameter name="hook_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data_destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="signal_chain_from_overridden"
c:identifier="g_signal_chain_from_overridden">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance_and_params" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="return_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="signal_chain_from_overridden_handler"
c:identifier="g_signal_chain_from_overridden_handler">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_connect_closure"
c:identifier="g_signal_connect_closure">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="after" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="signal_connect_closure_by_id"
c:identifier="g_signal_connect_closure_by_id">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="after" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="signal_connect_data" c:identifier="g_signal_connect_data">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="c_handler"
transfer-ownership="none"
scope="call"
closure="3">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy_data" transfer-ownership="none" scope="call">
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
<parameter name="connect_flags" transfer-ownership="none">
<type name="ConnectFlags" c:type="GConnectFlags"/>
</parameter>
</parameters>
</function>
<function name="signal_connect_object"
c:identifier="g_signal_connect_object">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="c_handler" transfer-ownership="none" scope="call">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="gobject" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="connect_flags" transfer-ownership="none">
<type name="ConnectFlags" c:type="GConnectFlags"/>
</parameter>
</parameters>
</function>
<function name="signal_emit" c:identifier="g_signal_emit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_emit_by_name" c:identifier="g_signal_emit_by_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_emitv" c:identifier="g_signal_emitv">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance_and_params" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="return_value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="signal_get_invocation_hint"
c:identifier="g_signal_get_invocation_hint">
<return-value transfer-ownership="full">
<type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_handler_block"
c:identifier="g_signal_handler_block">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="handler_id" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
</parameters>
</function>
<function name="signal_handler_disconnect"
c:identifier="g_signal_handler_disconnect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="handler_id" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
</parameters>
</function>
<function name="signal_handler_find" c:identifier="g_signal_handler_find">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="SignalMatchType" c:type="GSignalMatchType"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_handler_is_connected"
c:identifier="g_signal_handler_is_connected">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="handler_id" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
</parameters>
</function>
<function name="signal_handler_unblock"
c:identifier="g_signal_handler_unblock">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="handler_id" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
</parameters>
</function>
<function name="signal_handlers_block_matched"
c:identifier="g_signal_handlers_block_matched">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="SignalMatchType" c:type="GSignalMatchType"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_handlers_destroy"
c:identifier="g_signal_handlers_destroy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_handlers_disconnect_matched"
c:identifier="g_signal_handlers_disconnect_matched">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="SignalMatchType" c:type="GSignalMatchType"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_handlers_unblock_matched"
c:identifier="g_signal_handlers_unblock_matched">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="SignalMatchType" c:type="GSignalMatchType"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="signal_has_handler_pending"
c:identifier="g_signal_has_handler_pending">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="may_be_blocked" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="signal_init" c:identifier="g_signal_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="signal_list_ids" c:identifier="g_signal_list_ids">
<return-value transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</return-value>
<parameters>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_ids" direction="out" transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="signal_lookup" c:identifier="g_signal_lookup">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="signal_name" c:identifier="g_signal_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="signal_new" c:identifier="g_signal_new">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="signal_flags" transfer-ownership="none">
<type name="SignalFlags" c:type="GSignalFlags"/>
</parameter>
<parameter name="class_offset" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accumulator"
transfer-ownership="none"
scope="call"
closure="5">
<type name="SignalAccumulator" c:type="GSignalAccumulator"/>
</parameter>
<parameter name="accu_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="c_marshaller" transfer-ownership="none">
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_params" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_new_class_handler"
c:identifier="g_signal_new_class_handler">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="signal_flags" transfer-ownership="none">
<type name="SignalFlags" c:type="GSignalFlags"/>
</parameter>
<parameter name="class_handler" transfer-ownership="none" scope="call">
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="accumulator"
transfer-ownership="none"
scope="call"
closure="5">
<type name="SignalAccumulator" c:type="GSignalAccumulator"/>
</parameter>
<parameter name="accu_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="c_marshaller" transfer-ownership="none">
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_params" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_newv" c:identifier="g_signal_newv">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="signal_flags" transfer-ownership="none">
<type name="SignalFlags" c:type="GSignalFlags"/>
</parameter>
<parameter name="class_closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="accumulator"
transfer-ownership="none"
scope="call"
closure="5">
<type name="SignalAccumulator" c:type="GSignalAccumulator"/>
</parameter>
<parameter name="accu_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="c_marshaller" transfer-ownership="none">
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_params" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="param_types"
direction="out"
transfer-ownership="full">
<type name="GType" c:type="GType*"/>
</parameter>
</parameters>
</function>
<function name="signal_override_class_closure"
c:identifier="g_signal_override_class_closure">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="class_closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</function>
<function name="signal_override_class_handler"
c:identifier="g_signal_override_class_handler">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="class_handler" transfer-ownership="none" scope="call">
<type name="Callback" c:type="GCallback"/>
</parameter>
</parameters>
</function>
<function name="signal_parse_name" c:identifier="g_signal_parse_name">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="detailed_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="signal_id_p"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="detail_p" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark*"/>
</parameter>
<parameter name="force_detail_quark" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="signal_query" c:identifier="g_signal_query">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="query" transfer-ownership="none">
<type name="SignalQuery" c:type="GSignalQuery*"/>
</parameter>
</parameters>
</function>
<function name="signal_remove_emission_hook"
c:identifier="g_signal_remove_emission_hook">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="hook_id" transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</parameter>
</parameters>
</function>
<function name="signal_stop_emission"
c:identifier="g_signal_stop_emission">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</function>
<function name="signal_stop_emission_by_name"
c:identifier="g_signal_stop_emission_by_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="signal_type_cclosure_new"
c:identifier="g_signal_type_cclosure_new">
<return-value transfer-ownership="full">
<type name="Closure" c:type="GClosure*"/>
</return-value>
<parameters>
<parameter name="itype" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="struct_offset" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="source_set_closure" c:identifier="g_source_set_closure">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="source" transfer-ownership="none">
<type name="GLib.Source" c:type="GSource*"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</function>
<function name="strdup_value_contents"
c:identifier="g_strdup_value_contents">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="type_add_class_cache_func"
c:identifier="g_type_add_class_cache_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cache_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="cache_func" transfer-ownership="none" scope="call">
<type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
</parameter>
</parameters>
</function>
<function name="type_add_class_private"
c:identifier="g_type_add_class_private">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="class_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="private_size" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="type_add_interface_check"
c:identifier="g_type_add_interface_check">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="check_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="check_func" transfer-ownership="none" scope="call">
<type name="TypeInterfaceCheckFunc"
c:type="GTypeInterfaceCheckFunc"/>
</parameter>
</parameters>
</function>
<function name="type_add_interface_dynamic"
c:identifier="g_type_add_interface_dynamic">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="plugin" transfer-ownership="none">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</parameter>
</parameters>
</function>
<function name="type_add_interface_static"
c:identifier="g_type_add_interface_static">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
</parameter>
</parameters>
</function>
<function name="type_check_class_cast"
c:identifier="g_type_check_class_cast">
<return-value transfer-ownership="full">
<type name="TypeClass" c:type="GTypeClass*"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="TypeClass" c:type="GTypeClass*"/>
</parameter>
<parameter name="is_a_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_check_class_is_a"
c:identifier="g_type_check_class_is_a">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="TypeClass" c:type="GTypeClass*"/>
</parameter>
<parameter name="is_a_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_check_instance" c:identifier="g_type_check_instance">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</parameter>
</parameters>
</function>
<function name="type_check_instance_cast"
c:identifier="g_type_check_instance_cast">
<return-value transfer-ownership="full">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</parameter>
<parameter name="iface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_check_instance_is_a"
c:identifier="g_type_check_instance_is_a">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</parameter>
<parameter name="iface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_check_is_value_type"
c:identifier="g_type_check_is_value_type">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_check_value" c:identifier="g_type_check_value">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="type_check_value_holds"
c:identifier="g_type_check_value_holds">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="Value" c:type="GValue*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_children" c:identifier="g_type_children">
<return-value transfer-ownership="full">
<type name="GType" c:type="GType*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_children" direction="out" transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="type_class_add_private"
c:identifier="g_type_class_add_private">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="private_size" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="type_class_peek" c:identifier="g_type_class_peek">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_class_peek_parent"
c:identifier="g_type_class_peek_parent">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="type_class_peek_static"
c:identifier="g_type_class_peek_static">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_class_ref" c:identifier="g_type_class_ref">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_class_unref" c:identifier="g_type_class_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="type_class_unref_uncached"
c:identifier="g_type_class_unref_uncached">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="type_create_instance"
c:identifier="g_type_create_instance">
<return-value transfer-ownership="full">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_default_interface_peek"
c:identifier="g_type_default_interface_peek">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="g_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_default_interface_ref"
c:identifier="g_type_default_interface_ref">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="g_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_default_interface_unref"
c:identifier="g_type_default_interface_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="g_iface" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="type_depth" c:identifier="g_type_depth">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_free_instance" c:identifier="g_type_free_instance">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</parameter>
</parameters>
</function>
<function name="type_from_name" c:identifier="g_type_from_name">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="type_fundamental" c:identifier="g_type_fundamental">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="type_id" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_fundamental_next"
c:identifier="g_type_fundamental_next">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</function>
<function name="type_get_plugin" c:identifier="g_type_get_plugin">
<return-value transfer-ownership="full">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_get_qdata" c:identifier="g_type_get_qdata">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</function>
<function name="type_init" c:identifier="g_type_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="type_init_with_debug_flags"
c:identifier="g_type_init_with_debug_flags">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="debug_flags" transfer-ownership="none">
<type name="TypeDebugFlags" c:type="GTypeDebugFlags"/>
</parameter>
</parameters>
</function>
<function name="type_interface_add_prerequisite"
c:identifier="g_type_interface_add_prerequisite">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="prerequisite_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_interface_get_plugin"
c:identifier="g_type_interface_get_plugin">
<return-value transfer-ownership="full">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</return-value>
<parameters>
<parameter name="instance_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_interface_peek" c:identifier="g_type_interface_peek">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="instance_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="iface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_interface_peek_parent"
c:identifier="g_type_interface_peek_parent">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="g_iface" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="type_interface_prerequisites"
c:identifier="g_type_interface_prerequisites">
<return-value transfer-ownership="full">
<type name="GType" c:type="GType*"/>
</return-value>
<parameters>
<parameter name="interface_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_prerequisites"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="type_interfaces" c:identifier="g_type_interfaces">
<return-value transfer-ownership="full">
<type name="GType" c:type="GType*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_interfaces"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="type_is_a" c:identifier="g_type_is_a">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="is_a_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_name" c:identifier="g_type_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_name_from_class"
c:identifier="g_type_name_from_class">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="g_class" transfer-ownership="none">
<type name="TypeClass" c:type="GTypeClass*"/>
</parameter>
</parameters>
</function>
<function name="type_name_from_instance"
c:identifier="g_type_name_from_instance">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<type name="TypeInstance" c:type="GTypeInstance*"/>
</parameter>
</parameters>
</function>
<function name="type_next_base" c:identifier="g_type_next_base">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="leaf_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="root_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_parent" c:identifier="g_type_parent">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_qname" c:identifier="g_type_qname">
<return-value transfer-ownership="full">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="type_query" c:identifier="g_type_query">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="query" transfer-ownership="none">
<type name="TypeQuery" c:type="GTypeQuery*"/>
</parameter>
</parameters>
</function>
<function name="type_register_dynamic"
c:identifier="g_type_register_dynamic">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="parent_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="plugin" transfer-ownership="none">
<type name="TypePlugin" c:type="GTypePlugin*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TypeFlags" c:type="GTypeFlags"/>
</parameter>
</parameters>
</function>
<function name="type_register_fundamental"
c:identifier="g_type_register_fundamental">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="type_id" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="finfo" transfer-ownership="none">
<type name="TypeFundamentalInfo" c:type="GTypeFundamentalInfo*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TypeFlags" c:type="GTypeFlags"/>
</parameter>
</parameters>
</function>
<function name="type_register_static"
c:identifier="g_type_register_static">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="parent_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="TypeInfo" c:type="GTypeInfo*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TypeFlags" c:type="GTypeFlags"/>
</parameter>
</parameters>
</function>
<function name="type_register_static_simple"
c:identifier="g_type_register_static_simple">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="parent_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="class_size" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="class_init" transfer-ownership="none" scope="call">
<type name="ClassInitFunc" c:type="GClassInitFunc"/>
</parameter>
<parameter name="instance_size" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="instance_init" transfer-ownership="none" scope="call">
<type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TypeFlags" c:type="GTypeFlags"/>
</parameter>
</parameters>
</function>
<function name="type_remove_class_cache_func"
c:identifier="g_type_remove_class_cache_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cache_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="cache_func" transfer-ownership="none" scope="call">
<type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
</parameter>
</parameters>
</function>
<function name="type_remove_interface_check"
c:identifier="g_type_remove_interface_check">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="check_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="check_func" transfer-ownership="none" scope="call">
<type name="TypeInterfaceCheckFunc"
c:type="GTypeInterfaceCheckFunc"/>
</parameter>
</parameters>
</function>
<function name="type_set_qdata" c:identifier="g_type_set_qdata">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="type_test_flags" c:identifier="g_type_test_flags">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="type_value_table_peek"
c:identifier="g_type_value_table_peek">
<return-value transfer-ownership="full">
<type name="TypeValueTable" c:type="GTypeValueTable*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="value_c_init" c:identifier="g_value_c_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="value_register_transform_func"
c:identifier="g_value_register_transform_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="src_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="dest_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="transform_func"
transfer-ownership="none"
scope="call">
<type name="ValueTransform" c:type="GValueTransform"/>
</parameter>
</parameters>
</function>
<function name="value_transforms_init"
c:identifier="g_value_transforms_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="value_type_compatible"
c:identifier="g_value_type_compatible">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="src_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="dest_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="value_type_transformable"
c:identifier="g_value_type_transformable">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="src_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="dest_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="value_types_init" c:identifier="g_value_types_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="variant_get_gtype" c:identifier="g_variant_get_gtype">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</function>
<function name="variant_type_get_gtype"
c:identifier="g_variant_type_get_gtype">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</function>
</namespace>
</repository>