<?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.2"
            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"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <package name="libxfconf-0"/>
  <c:include name="xfconf/xfconf.h"/>
  <namespace name="Xfconf"
             version="0"
             shared-library="libxfconf-0.so.3"
             c:identifier-prefixes="Xfconf"
             c:symbol-prefixes="xfconf_g_,xfconf_get_,xfconf_">
    <function-macro name="CHANNEL"
                    c:identifier="XFCONF_CHANNEL"
                    introspectable="0">
      <source-position filename="xfconf/xfconf-channel.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CHANNEL_CLASS"
                    c:identifier="XFCONF_CHANNEL_CLASS"
                    introspectable="0">
      <source-position filename="xfconf/xfconf-channel.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CHANNEL_GET_CLASS"
                    c:identifier="XFCONF_CHANNEL_GET_CLASS"
                    introspectable="0">
      <source-position filename="xfconf/xfconf-channel.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Channel"
           c:symbol-prefix="channel"
           c:type="XfconfChannel"
           parent="GObject.Object"
           glib:type-name="XfconfChannel"
           glib:get-type="xfconf_channel_get_type">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-channel.c"
           line="64">An opaque structure that holds state about a channel.</doc>
      <constructor name="get"
                   c:identifier="xfconf_channel_get"
                   version="4.5.91">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="518">Either creates a new channel, or fetches a singleton object for
@channel_name.  This function always returns a valid object; no
checking is done to see if the channel exists or has a valid name.

The reference count of the returned channel is owned by libxfconf.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="528">An #XfconfChannel singleton.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </return-value>
        <parameters>
          <parameter name="channel_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="520">A channel name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new" c:identifier="xfconf_channel_new">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="540">Creates a new channel using @name as the channel's identifier.
This function always returns a valid object; no checking is done
to see if the channel exists or has a valid name.

Note: use of this function is not recommended, in favor of
xfconf_channel_get(), which returns a singleton object and
saves a little memory.  However, xfconf_channel_new() can be
useful in some cases where you want to tie an #XfconfChannel's
lifetime (and thus the lifetime of connected signals and bound
#GObject properties) to the lifetime of another object.

Also note that each channel has its own cache, so if you create
2 new channels with the same name, it will double the dbus traffic,
so in this cases it is highly recommended to use xfconf_channel_get().</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="559">A new #XfconfChannel.  Release with g_object_unref()
         when no longer needed.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </return-value>
        <parameters>
          <parameter name="channel_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="542">A channel name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_property_base"
                   c:identifier="xfconf_channel_new_with_property_base"
                   version="4.5.92">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="571">Creates a new channel using @name as the channel's identifier,
restricting the accessible properties to be rooted at
@property_base.  This function always returns a valid object;
no checking is done to see if the channel exists or has a valid
name.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="582">A new #XfconfChannel.  Release with g_object_unref()
         when no longer needed.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </return-value>
        <parameters>
          <parameter name="channel_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="573">A channel name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="property_base" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="574">A property root name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_array"
              c:identifier="xfconf_channel_get_array"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1363">Gets an array property on @channel.  The @first_value_type
argument specifies the type of the first value in the variable
argument list.  The variable argument list should alternate between
pointers to locations to store the values, and the GType of the
next value.  The argument list should be terminated with
G_TYPE_INVALID.

Note: The configuration store backend almost certainly supports
only a restricted set of value types.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="129"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1380">%TRUE if the property was retrieved successfully,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1365">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1366">A property string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1367">The type of the first argument in the array.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1368">A variable argument list of types and values.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_array_valist"
              c:identifier="xfconf_channel_get_array_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1400">Gets an array property on @channel.  See xfconf_channel_get_array()
for details.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="133"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1410">%TRUE if the property was retrieved successfully,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1402">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1403">A property string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1404">The type of the first argument in the array.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1405">A variable argument list of types and values.</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arrayv" c:identifier="xfconf_channel_get_arrayv">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1520">Gets an array property on @channel and returns it as
a #GPtrArray, which can be freed with xfconf_array_free()
when no longer needed.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="137"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1529">A newly-allocated #GPtrArray on success,
or %NULL on failure.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="GObject.Value"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1522">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1523">A property string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_bool" c:identifier="xfconf_channel_get_bool">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="990">Retrieves the boolean value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="998">The boolean value, or, if @property is not in @channel or if its type does not match,
         @default_value is returned.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="992">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="993">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="994">A fallback value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_double" c:identifier="xfconf_channel_get_double">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="956">Retrieves the double value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="964">The double value, or, if @property is not in @channel or if its type does not match,
         @default_value is returned.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="958">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="959">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="960">A fallback value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_int" c:identifier="xfconf_channel_get_int">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="854">Retrieves the int value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="862">The int value, or, if @property is not in @channel or if its type does not match,
         @default_value is returned.</doc>
          <type name="gint32" c:type="gint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="856">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="857">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="858">A fallback value.</doc>
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_named_struct"
              c:identifier="xfconf_channel_get_named_struct">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1731">Gets a property from @channel and fills in @value_struct using
the retrieved values.  The @struct_name parameter is the same
name that must have been used to register the struct's layout
with xfconf_named_struct_register().</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1743">%TRUE if the property was retrieved successfully,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1733">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1734">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="struct_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1735">A string struct name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1736">A pointer to a struct.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_properties"
              c:identifier="xfconf_channel_get_properties">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="706">Retrieves multiple properties from @channel and stores
them in a #GHashTable in which the keys correspond to
the string (gchar *) property names, and the values
correspond to variant (GValue *) values.  The keys and
values are owned by the hash table and should be copied
if needed.  The value of the property specified by
@property_base (if it exists) and all sub-properties are
retrieved.  To retrieve all properties in the channel,
specify "/" or %NULL for @property_base.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="60"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="721">A newly-allocated #GHashTable, which should be freed with
         g_hash_table_destroy() when no longer needed.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="utf8"/>
            <type name="GObject.Value"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="708">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property_base"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="709">The base property name of properties to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_property" c:identifier="xfconf_channel_get_property">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1249">Gets a property on @channel and stores it in @value.  The caller is
responsible for calling g_value_unset() when finished with @value.

This function can be called with an initialized or uninitialized
@value.  If @value is initialized to a particular type, libxfconf
will attempt to convert the value returned from the configuration
store to that type if they don't match.  If the value type returned
from the configuration store is an array type, each element of the
array will be converted to the type of @value.  If @value is
uninitialized, the value in the configuration store will be returned
in its native type.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1267">%TRUE if the property was retrieved successfully,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1251">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1252">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1253">A #GValue.</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string" c:identifier="xfconf_channel_get_string">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="766">Retrieves the string value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="65"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="774">A newly-allocated string which should
                                     be freed with g_free() when no longer
                                     needed.  If @property is not in
                                     @channel or if its type does not match,
                                     a g_strdup()ed copy of
                                     @default_value is returned.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="768">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="769">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="770">A fallback value.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string_list"
              c:identifier="xfconf_channel_get_string_list">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="810">Retrieves the string list value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="817">A newly-allocated string list which should be freed with
         g_strfreev() when no longer needed.  If @property is not in
         @channel, %NULL is returned.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="812">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="813">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_struct"
              c:identifier="xfconf_channel_get_struct"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1794">Gets a property on @channel and stores it as members of the
@value_struct struct.  The @first_member_type argument
specifies the #GType of the first member of the struct.  The
variable argument list specifies the #GType&lt;!-- --&gt;s of the
rest of the struct members, and should be terminated with
G_TYPE_INVALID.

Note: This function takes your compiler's and platform's
struct member alignment rules into account when storing values
in @value_struct.  Therefore, it cannot be used with structs that
are declared as "packed" in such a way that the alignment rules
are ignored by the compiler.

Note: Struct members can only be non-pointer types such as int,
boolean, double, etc.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="163"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1818">%TRUE if the property was retrieved successfully,
         %FALSE oherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1796">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1797">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1798">A pointer to a struct in which to store values.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="first_member_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1799">The GType of the first member of @value_struct.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1800">A variable argument list of #GType&lt;!-- --&gt;s.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_struct_valist"
              c:identifier="xfconf_channel_get_struct_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1839">Gets a property on @channel and stores it as members of the
@value_struct struct.  See xfconf_channel_get_struct() for details.

Note: Struct members can only be non-pointer types such as int,
boolean, double, etc.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="168"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1853">%TRUE if the property was retrieved successfully,
         %FALSE oherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1841">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1842">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1843">A pointer to a struct in which to store values.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="first_member_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1844">The GType of the first member of @value_struct.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1845">A variable argument list of #GType&lt;!-- --&gt;s.</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_structv" c:identifier="xfconf_channel_get_structv">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1894">Gets a property on @channel and stores it as members of the
@value_struct struct.  The @member_types array should hold
a #GType for each member of the struct.

Note: Struct members can only be non-pointer types such as int,
boolean, double, etc.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="173"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1909">%TRUE if the property was retrieved successfully,
         %FALSE oherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1896">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1897">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1898">A pointer to a struct in which to store values.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="n_members" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1899">The number of data members in the struct.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="member_types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1900">An array of @n_members #GType&lt;!-- --&gt;s.</doc>
            <type name="GType" c:type="GType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uint" c:identifier="xfconf_channel_get_uint">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="888">Retrieves the unsigned int value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="896">The uint value, or, if @property is not in @channel or if its type does not match,
         @default_value is returned.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="890">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="891">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="892">A fallback value.</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uint64" c:identifier="xfconf_channel_get_uint64">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="922">Retrieves the 64-bit int value associated with @property on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="930">The uint64 value, or, if @property is not in @channel or if its type does not match,
         @default_value is returned.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="924">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="925">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="926">A fallback value.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_property" c:identifier="xfconf_channel_has_property">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="598">Checks to see if @property exists on @channel.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="605">%TRUE if @property exists, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="600">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="601">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_property_locked"
              c:identifier="xfconf_channel_is_property_locked"
              version="4.5.91">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="627">Queries whether or not @property on @channel is locked by system
policy.  If the property is locked, calls to
xfconf_channel_set_property() (or any of the "set" family of functions)
or xfconf_channel_reset_property() will fail.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="637">%TRUE if the property is locked, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="629">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="630">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset_property"
              c:identifier="xfconf_channel_reset_property"
              version="4.5.91">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="664">Resets properties starting at (and including) @property_base.
If @recursive is %TRUE, will also reset all properties that are
under @property_base in the property hierarchy.

A bit of an explanation as to what this function actually does:
Since Xfconf backends are expected to support setting defaults
via what you might call "optional schema," you can't really
"remove" properties.  Since the client library can't know if a
channel provides default values (or even if the backend supports
it!), at best it can only reset properties to their default values.

The @property_base parameter can be %NULL or the empty string (""),
in which case the channel root ("/") will be assumed.  Of course,
%TRUE must be passed for @recursive in this case.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="666">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property_base" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="667">A property tree root or property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="recursive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="668">Whether to reset properties recursively.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_array"
              c:identifier="xfconf_channel_set_array"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1563">Sets an array property on @channel.  The @first_value_type
argument specifies the type of the first value in the variable
argument list.  Note that all values specified MUST be pointers
to variables holding the correct value, and may not be, e.g.,
numeric constants.  The argument list should be terminated with
G_TYPE_INVALID.

Note: The configuration store backend almost certainly supports
only a restricted set of value types.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1580">%TRUE if the property was set successfully, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1565">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1566">A property string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1567">The type of the first argument in the array.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1568">A variable argument list of types and values.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_array_valist"
              c:identifier="xfconf_channel_set_array_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1599">Sets an array property on @channel.  See xfconf_channel_set_array()
for details.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="144"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1609">%TRUE if the property was set successfully, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1601">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1602">A property string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1603">The type of the first argument in the array.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1604">A variable argument list of types and values.</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_arrayv" c:identifier="xfconf_channel_set_arrayv">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1699">Sets an array property on @channel, using the values in the
provided @values array.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="148"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1708">%TRUE if the property was set successfully, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1701">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1702">A property string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1703">A #GPtrArray of #GValue&lt;!-- --&gt;s.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray*">
              <type name="GObject.Value"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_bool" c:identifier="xfconf_channel_set_bool">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1219">Sets @value for @property on @channel in the configuration store.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="103"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1227">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1221">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1222">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1223">The value to set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double" c:identifier="xfconf_channel_set_double">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1189">Sets @value for @property on @channel in the configuration store.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1197">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1191">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1192">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1193">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int" c:identifier="xfconf_channel_set_int">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1099">Sets @value for @property on @channel in the configuration store.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1107">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1101">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1102">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1103">The value to set.</doc>
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_named_struct"
              c:identifier="xfconf_channel_set_named_struct">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1762">Sets a property on @channel using the members of @value_struct
as the array of values.  The @struct_name parameter is the same
name that must have been used to register the struct's layout
with xfconf_named_struct_register().</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1774">%TRUE if the property was set successfully,
         %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1764">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1765">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="struct_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1766">A string struct name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1767">A pointer to a struct.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_property" c:identifier="xfconf_channel_set_property">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1328">Sets the value stored in @value  to a property on @channel.

Note: The configuration store backend almost certainly supports
only a restricted set of value types.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1339">%TRUE if the property was set successfully, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1330">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1331">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1332">A #GValue.</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="xfconf_channel_set_string">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1024">Sets @value for @property on @channel in the configuration store.

If @value is %NULL, the empty string ("") will be stored.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1034">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1026">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1027">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1028">The value to set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string_list"
              c:identifier="xfconf_channel_set_string_list">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1057">Sets @values for @property on @channel in the configuration store.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1065">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1059">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1060">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1061">The value to set.</doc>
            <type name="utf8" c:type="const gchar* const*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_struct"
              c:identifier="xfconf_channel_set_struct"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="2062">Sets a property on @channel using the members of @value_struct
as a value array.  The @first_member_type argument specifies
the #GType of the first member of the struct.  The variable
argument list specifies the #GType&lt;!-- --&gt;s of the rest of the
struct members, and should be terminated with G_TYPE_INVALID.

Note: This function takes your compiler's and platform's
struct member alignment rules into account when taking values
in @value_struct.  Therefore, it cannot be used with structs that
are declared as "packed" such that the alignment rules are ignored
by the compiler.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="179"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="2082">%TRUE if the property was set successfully,
         %FALSE oherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2064">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2065">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2066">A pointer to a struct from which to take values.</doc>
            <type name="gpointer" c:type="const gpointer"/>
          </parameter>
          <parameter name="first_member_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2067">The GType of the first member of @value_struct.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2068">A variable argument list of #GType&lt;!-- --&gt;s.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_struct_valist"
              c:identifier="xfconf_channel_set_struct_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="2103">Sets a property on @channel using the members of @value_struct
as a value array.  See xfconf_channel_set_struct() for details.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="184"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="2114">%TRUE if the property was set successfully,
         %FALSE oherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2105">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2106">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2107">A pointer to a struct from which to take values.</doc>
            <type name="gpointer" c:type="const gpointer"/>
          </parameter>
          <parameter name="first_member_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2108">The GType of the first member of @value_struct.</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2109">A variable argument list of #GType&lt;!-- --&gt;s.</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_structv" c:identifier="xfconf_channel_set_structv">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="2155">Sets a property on @channel using the members of @value_struct
as a value array.  The @member_types array should hold a #GType
for each member of the struct.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="189"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="2167">%TRUE if the property was set successfully,
         %FALSE oherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2157">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2158">A string property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_struct"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2159">A pointer to a struct from which to take values.</doc>
            <type name="gpointer" c:type="const gpointer"/>
          </parameter>
          <parameter name="n_members" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2160">The number of data members in the struct.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="member_types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="2161">An array of @n_members #GType&lt;!-- --&gt;s.</doc>
            <type name="GType" c:type="GType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uint" c:identifier="xfconf_channel_set_uint">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1129">Sets @value for @property on @channel in the configuration store.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1137">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1131">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1132">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1133">The value to set.</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uint64" c:identifier="xfconf_channel_set_uint64">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="1159">Sets @value for @property on @channel in the configuration store.</doc>
        <source-position filename="xfconf/xfconf-channel.h" line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-channel.c"
               line="1167">%TRUE on success, %FALSE if an error occured.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1161">An #XfconfChannel.</doc>
            <type name="Channel" c:type="XfconfChannel*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1162">A property name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="1163">The value to set.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <property name="channel-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="171">The string identifier used for this channel.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="is-singleton"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="204">Identifies the instance of the class as a singleton instance
or not.  This is mainly used internally by #XfconfChannel
but may be useful for API users.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="property-base"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="187">The string identifier used for the property base inside a channel.
This can be used to restrict a channel to a subset of properties.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="property-changed" when="last" detailed="1">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="145">Emitted whenever a property on @channel has changed.  If
the change was caused by the removal of @property, @value
will be unset; you should test this with
&lt;informalexample&gt;&lt;programlisting&gt;
G_VALUE_TYPE(value) == G_TYPE_INVALID
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="148">The property that changed.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfconf/xfconf-channel.c"
                 line="149">The new value.</doc>
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <enumeration name="Error"
                 glib:type-name="XfconfError"
                 glib:get-type="xfconf_error_get_type"
                 c:type="XfconfError"
                 glib:error-domain="xfconf_daemon_error">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-errors.h"
           line="35">An enumeration listing the different kinds of errors under the XFCONF_ERROR domain.</doc>
      <member name="Unknown"
              value="0"
              c:identifier="XFCONF_ERROR_UNKNOWN"
              glib:nick="Unknown"
              glib:name="XFCONF_ERROR_UNKNOWN">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="37">An unknown error occurred</doc>
      </member>
      <member name="ChannelNotFound"
              value="1"
              c:identifier="XFCONF_ERROR_CHANNEL_NOT_FOUND"
              glib:nick="ChannelNotFound"
              glib:name="XFCONF_ERROR_CHANNEL_NOT_FOUND">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="38">The specified channel does not exist</doc>
      </member>
      <member name="PropertyNotFound"
              value="2"
              c:identifier="XFCONF_ERROR_PROPERTY_NOT_FOUND"
              glib:nick="PropertyNotFound"
              glib:name="XFCONF_ERROR_PROPERTY_NOT_FOUND">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="39">The specified property does not exist on the channel</doc>
      </member>
      <member name="ReadFailure"
              value="3"
              c:identifier="XFCONF_ERROR_READ_FAILURE"
              glib:nick="ReadFailure"
              glib:name="XFCONF_ERROR_READ_FAILURE">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="40">There was a failure reading from the configuration store</doc>
      </member>
      <member name="WriteFailure"
              value="4"
              c:identifier="XFCONF_ERROR_WRITE_FAILURE"
              glib:nick="WriteFailure"
              glib:name="XFCONF_ERROR_WRITE_FAILURE">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="41">There was a failure writing to the configuration store</doc>
      </member>
      <member name="PermissionDenied"
              value="5"
              c:identifier="XFCONF_ERROR_PERMISSION_DENIED"
              glib:nick="PermissionDenied"
              glib:name="XFCONF_ERROR_PERMISSION_DENIED">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="42">The user is not allowed to read or write to the channel or property</doc>
      </member>
      <member name="InternalError"
              value="6"
              c:identifier="XFCONF_ERROR_INTERNAL_ERROR"
              glib:nick="InternalError"
              glib:name="XFCONF_ERROR_INTERNAL_ERROR">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="43">An internal error (likely a bug in xfconf) occurred</doc>
      </member>
      <member name="NoBackend"
              value="7"
              c:identifier="XFCONF_ERROR_NO_BACKEND"
              glib:nick="NoBackend"
              glib:name="XFCONF_ERROR_NO_BACKEND">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="44">No backends were found, or those found could not be loaded</doc>
      </member>
      <member name="InvalidProperty"
              value="8"
              c:identifier="XFCONF_ERROR_INVALID_PROPERTY"
              glib:nick="InvalidProperty"
              glib:name="XFCONF_ERROR_INVALID_PROPERTY">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="45">The property name specified was invalid</doc>
      </member>
      <member name="InvalidChannel"
              value="9"
              c:identifier="XFCONF_ERROR_INVALID_CHANNEL"
              glib:nick="InvalidChannel"
              glib:name="XFCONF_ERROR_INVALID_CHANNEL">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-errors.h"
             line="46">The channel name specified was invalid</doc>
      </member>
      <function name="quark" c:identifier="xfconf_get_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <function-macro name="IS_CHANNEL"
                    c:identifier="XFCONF_IS_CHANNEL"
                    introspectable="0">
      <source-position filename="xfconf/xfconf-channel.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CHANNEL_CLASS"
                    c:identifier="XFCONF_IS_CHANNEL_CLASS"
                    introspectable="0">
      <source-position filename="xfconf/xfconf-channel.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Int16"
           c:symbol-prefix="int16"
           glib:type-name="XfconfInt16"
           glib:get-type="xfconf_int16_get_type"
           glib:fundamental="1">
    </class>
    <class name="Uint16"
           c:symbol-prefix="uint16"
           glib:type-name="XfconfUint16"
           glib:get-type="xfconf_uint16_get_type"
           glib:fundamental="1">
    </class>
    <function name="array_free" c:identifier="xfconf_array_free">
      <doc xml:space="preserve"
           filename="xfconf/xfconf.c"
           line="229">Properly frees a #GPtrArray structure containing a list of
#GValue&lt;!-- --&gt;s.  This will also cause the contents of the
values to be freed as well.</doc>
      <source-position filename="xfconf/xfconf.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="arr" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf.c"
               line="231">A #GPtrArray of #GValue&lt;!-- --&gt;s.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="GObject.Value"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="error_quark"
              c:identifier="xfconf_get_error_quark"
              moved-to="Error.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="init" c:identifier="xfconf_init" throws="1">
      <doc xml:space="preserve"
           filename="xfconf/xfconf.c"
           line="101">Initializes the Xfconf library.  Can be called multiple times with no
adverse effects.</doc>
      <source-position filename="xfconf/xfconf.h" line="37"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfconf/xfconf.c"
             line="108">%TRUE if the library was initialized succesfully, %FALSE on
         error.  If there is an error @error will be set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="list_channels" c:identifier="xfconf_list_channels">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-channel.c"
           line="2290">Lists all channels known in the Xfconf configuration store.</doc>
      <source-position filename="xfconf/xfconf.h" line="46"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-channel.c"
             line="2295">A newly-allocated array of strings.
                                                                Free with g_strfreev() when no longer needed.</doc>
        <array c:type="gchar**">
          <type name="utf8" c:type="gchar*"/>
        </array>
      </return-value>
    </function>
    <function name="named_struct_register"
              c:identifier="xfconf_named_struct_register">
      <doc xml:space="preserve"
           filename="xfconf/xfconf.c"
           line="174">Registers a named struct for use with xfconf_channel_get_named_struct()
and xfconf_channel_set_named_struct().</doc>
      <source-position filename="xfconf/xfconf.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="struct_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf.c"
               line="176">The unique name of the struct to register.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="n_members" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf.c"
               line="177">The number of data members in the struct.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="member_types" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf.c"
               line="178">An array of the #GType&lt;!-- --&gt;s of the struct members.</doc>
          <type name="GType" c:type="const GType*"/>
        </parameter>
      </parameters>
    </function>
    <function name="property_bind" c:identifier="xfconf_g_property_bind">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="474">Binds an Xfconf property to a #GObject property.  If the property
is changed via either the #GObject or Xfconf, the corresponding
property will also be updated. The binding is initialized from the
Xfconf property, i.e. the initial value of the #GObject property is
overwritten.

Note that @xfconf_property_type is required since @xfconf_property
may or may not already exist in the Xfconf store.  The type of
@object_property will be determined automatically.  If the two
types do not match, a conversion will be attempted.

If you are binding a #GdkColor or #GdkRGBA property, pass #G_TYPE_PTR_ARRAY
for @xfconf_property_type.</doc>
      <source-position filename="xfconf/xfconf-binding.h" line="33"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-binding.c"
             line="496">an ID number that can be used to later remove the
         binding.</doc>
        <type name="gulong" c:type="gulong"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="476">An #XfconfChannel.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </parameter>
        <parameter name="xfconf_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="477">A property on @channel.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="xfconf_property_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="478">The type of @xfconf_property.</doc>
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="479">A #GObject.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="object_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="480">A valid property on @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="property_bind_gdkcolor"
              c:identifier="xfconf_g_property_bind_gdkcolor"
              deprecated="1"
              deprecated-version="4.19.3">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="553">Binds an Xfconf property to a #GObject property of type
GDK_TYPE_COLOR (aka a #GdkColor struct).  If the property
is changed via either the #GObject or Xfconf, the corresponding
property will also be updated. The binding is initialized from the
Xfconf property, i.e. the initial value of the #GObject property is
overwritten.

This is a special-case binding; the GdkColor struct is not
ideal as-is for binding to a property, so it is stored in the
Xfconf store as four 16-bit unsigned ints (red, green, blue, alpha).
Since GdkColor (currently) only supports RGB and not RGBA,
the last value will always be set to 0xFFFF.</doc>
      <doc-deprecated xml:space="preserve">Use #xfconf_g_property_bind() with #G_TYPE_PTR_ARRAY
instead.</doc-deprecated>
      <source-position filename="xfconf/xfconf-binding.h" line="40"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-binding.c"
             line="573">an ID number that can be used to later remove the
         binding.</doc>
        <type name="gulong" c:type="gulong"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="555">An #XfconfChannel.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </parameter>
        <parameter name="xfconf_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="556">A property on @channel.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="557">A #GObject.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="object_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="558">A valid property on @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="property_bind_gdkrgba"
              c:identifier="xfconf_g_property_bind_gdkrgba"
              version="4.12.1"
              deprecated="1"
              deprecated-version="4.19.3">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="619">Binds an Xfconf property to a #GObject property of type
GDK_TYPE_RGBA (aka a #GdkRGBA struct).  If the property
is changed via either the #GObject or Xfconf, the corresponding
property will also be updated. The binding is initialized from the
Xfconf property, i.e. the initial value of the #GObject property is
overwritten.

This is a special-case binding; the GdkRGBA struct is not
ideal as-is for binding to a property, so it is stored in the
Xfconf store as four 16-bit unsigned ints (red, green, blue, alpha).</doc>
      <doc-deprecated xml:space="preserve">Use #xfconf_g_property_bind() with #G_TYPE_PTR_ARRAY
instead.</doc-deprecated>
      <source-position filename="xfconf/xfconf-binding.h" line="46"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfconf/xfconf-binding.c"
             line="637">an ID number that can be used to later remove the
         binding.</doc>
        <type name="gulong" c:type="gulong"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="621">An #XfconfChannel.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </parameter>
        <parameter name="xfconf_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="622">A property on @channel.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="623">A #GObject.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="object_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="624">A valid property on @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="property_unbind" c:identifier="xfconf_g_property_unbind">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="684">Removes an Xfconf/GObject property binding based on the binding
ID number.  See xfconf_g_property_bind().</doc>
      <source-position filename="xfconf/xfconf-binding.h" line="51"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="686">A binding ID number.</doc>
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="property_unbind_all"
              c:identifier="xfconf_g_property_unbind_all">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="761">Unbinds all Xfconf channel bindings (see xfconf_g_property_bind())
to @object.  If @object is an #XfconfChannel, it will unbind all
xfconf properties on that channel.  If @object is a regular #GObject
with properties bound to a channel, all those bindings will be
removed.</doc>
      <source-position filename="xfconf/xfconf-binding.h" line="58"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="channel_or_object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="763">A #GObject or #XfconfChannel.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="property_unbind_by_property"
              c:identifier="xfconf_g_property_unbind_by_property">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="715">Causes an Xfconf channel previously bound to a #GObject property
(see xfconf_g_property_bind()) to no longer be bound.</doc>
      <source-position filename="xfconf/xfconf-binding.h" line="53"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="717">An #XfconfChannel.</doc>
          <type name="Channel" c:type="XfconfChannel*"/>
        </parameter>
        <parameter name="xfconf_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="718">A bound property on @channel.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="719">A #GObject.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="object_property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfconf/xfconf-binding.c"
               line="720">A bound property on @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shutdown" c:identifier="xfconf_shutdown">
      <doc xml:space="preserve"
           filename="xfconf/xfconf.c"
           line="141">Shuts down and frees any resources consumed by the Xfconf library.
If xfconf_init() is called multiple times, xfconf_shutdown() must be
called an equal number of times to shut down the library.</doc>
      <source-position filename="xfconf/xfconf.h" line="38"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="value_get_int16" c:identifier="xfconf_g_value_get_int16">
      <doc xml:space="preserve"
           filename="common/xfconf-types.c"
           line="304">Retrieves a 16-bit signed value from @value.</doc>
      <source-position filename="xfconf/xfconf-types.h" line="43"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="common/xfconf-types.c"
             line="310">A gint16.</doc>
        <type name="gint16" c:type="gint16"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="common/xfconf-types.c"
               line="306">A #GValue.</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_get_uint16" c:identifier="xfconf_g_value_get_uint16">
      <doc xml:space="preserve"
           filename="common/xfconf-types.c"
           line="246">Retrieves a 16-bit unsigned value from @value.</doc>
      <source-position filename="xfconf/xfconf-types.h" line="37"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="common/xfconf-types.c"
             line="252">A guint16.</doc>
        <type name="guint16" c:type="guint16"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="common/xfconf-types.c"
               line="248">A #GValue.</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_set_int16" c:identifier="xfconf_g_value_set_int16">
      <doc xml:space="preserve"
           filename="common/xfconf-types.c"
           line="319">Sets @value using a signed 16-bit integer.</doc>
      <source-position filename="xfconf/xfconf-types.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="common/xfconf-types.c"
               line="321">A #GValue.</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="v_int16" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="common/xfconf-types.c"
               line="322">A gint16.</doc>
          <type name="gint16" c:type="gint16"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_set_uint16" c:identifier="xfconf_g_value_set_uint16">
      <doc xml:space="preserve"
           filename="common/xfconf-types.c"
           line="261">Sets @value using an unsigned 16-bit integer.</doc>
      <source-position filename="xfconf/xfconf-types.h" line="38"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="common/xfconf-types.c"
               line="263">A #GValue.</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="v_uint16" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="common/xfconf-types.c"
               line="264">A guint16.</doc>
          <type name="guint16" c:type="guint16"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="xfconf">
      <doc xml:space="preserve"
           filename="xfconf/xfconf.c"
           line="88">Before libxfconf can be used, it must be initialized by calling
xfconf_init().  To free resources used by the library, call
xfconf_shutdown().  These calls are "recursive": multiple calls to
xfconf_init() are allowed, but each call must be matched by a
separate call to xfconf_shutdown() to really free the library's
resources.</doc>
    </docsection>
    <docsection name="xfconf-binding">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-binding.c"
           line="37">Often it may be useful to bind an Xfconf property to a GObject property.
Settings dialogs often display the current value of an Xfconf property,
and a user may edit the value to change the value in the Xfconf store.
If the Xfconf property changes outside the settings dialog, the user will
usually want to see the settings dialog automatically update to reflect
the new value.

With a single line of code, Xfconf's binding functionality can automate
all this.</doc>
    </docsection>
    <docsection name="xfconf-channel">
      <doc xml:space="preserve"
           filename="xfconf/xfconf-channel.c"
           line="53">An XfconfChannel is a representation of a restricted domain or
namespace that an application can define to store configuration
settings.  This is to ensure that different applications do not store
configuration keys with the same names.</doc>
    </docsection>
    <docsection name="xfconf-types">
      <doc xml:space="preserve"
           filename="common/xfconf-types.c"
           line="35">libgobject lacks GObject fundamental types for 16-bit signed and unsigned integers, which may be useful to use in an Xfconf store. GObject types for these primitive types are provided here.</doc>
    </docsection>
  </namespace>
</repository>
