<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="xfconf-xfconf-channel">
<refmeta>
<refentrytitle role="top_of_page" id="xfconf-xfconf-channel.top_of_page">XfconfChannel</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>XFCONF Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>XfconfChannel</refname>
<refpurpose>An application-defined domain for storing configuration settings</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="xfconf-xfconf-channel.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<anchor id="XfconfChannel"/>
<synopsis>
                    <link linkend="XfconfChannel-struct">XfconfChannel</link>;
<link linkend="XfconfChannel">XfconfChannel</link>*      <link linkend="xfconf-channel-get">xfconf_channel_get</link>                  (const <link linkend="gchar">gchar</link> *channel_name);
<link linkend="XfconfChannel">XfconfChannel</link>*      <link linkend="xfconf-channel-new">xfconf_channel_new</link>                  (const <link linkend="gchar">gchar</link> *channel_name);
<link linkend="XfconfChannel">XfconfChannel</link>*      <link linkend="xfconf-channel-new-with-property-base">xfconf_channel_new_with_property_base</link>
                                                        (const <link linkend="gchar">gchar</link> *channel_name,
                                                         const <link linkend="gchar">gchar</link> *property_base);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-has-property">xfconf_channel_has_property</link>         (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-is-property-locked">xfconf_channel_is_property_locked</link>   (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);
<link linkend="void">void</link>                <link linkend="xfconf-channel-reset-property">xfconf_channel_reset_property</link>       (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property_base,
                                                         <link linkend="gboolean">gboolean</link> recursive);
<link linkend="GHashTable">GHashTable</link>*         <link linkend="xfconf-channel-get-properties">xfconf_channel_get_properties</link>       (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property_base);
<link linkend="gchar">gchar</link>*              <link linkend="xfconf-channel-get-string">xfconf_channel_get_string</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *default_value);
<link linkend="gchar">gchar</link>**             <link linkend="xfconf-channel-get-string-list">xfconf_channel_get_string_list</link>      (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);
<link linkend="gint32">gint32</link>              <link linkend="xfconf-channel-get-int">xfconf_channel_get_int</link>              (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gint32">gint32</link> default_value);
<link linkend="guint32">guint32</link>             <link linkend="xfconf-channel-get-uint">xfconf_channel_get_uint</link>             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint32">guint32</link> default_value);
<link linkend="guint64">guint64</link>             <link linkend="xfconf-channel-get-uint64">xfconf_channel_get_uint64</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint64">guint64</link> default_value);
<link linkend="gdouble">gdouble</link>             <link linkend="xfconf-channel-get-double">xfconf_channel_get_double</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gdouble">gdouble</link> default_value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-bool">xfconf_channel_get_bool</link>             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gboolean">gboolean</link> default_value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-string">xfconf_channel_set_string</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-string-list">xfconf_channel_set_string_list</link>      (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> * const *values);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-int">xfconf_channel_set_int</link>              (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gint32">gint32</link> value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-uint">xfconf_channel_set_uint</link>             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint32">guint32</link> value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-uint64">xfconf_channel_set_uint64</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint64">guint64</link> value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-double">xfconf_channel_set_double</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gdouble">gdouble</link> value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-bool">xfconf_channel_set_bool</link>             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gboolean">gboolean</link> value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-property">xfconf_channel_get_property</link>         (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GValue">GValue</link> *value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-property">xfconf_channel_set_property</link>         (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="GValue">GValue</link> *value);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-array">xfconf_channel_get_array</link>            (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         ...);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-array-valist">xfconf_channel_get_array_valist</link>     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         <link linkend="va-list">va_list</link> var_args);
<link linkend="GPtrArray">GPtrArray</link>*          <link linkend="xfconf-channel-get-arrayv">xfconf_channel_get_arrayv</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-array">xfconf_channel_set_array</link>            (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         ...);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-array-valist">xfconf_channel_set_array_valist</link>     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         <link linkend="va-list">va_list</link> var_args);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-arrayv">xfconf_channel_set_arrayv</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GPtrArray">GPtrArray</link> *values);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-named-struct">xfconf_channel_get_named_struct</link>     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *struct_name,
                                                         <link linkend="gpointer">gpointer</link> value_struct);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-named-struct">xfconf_channel_set_named_struct</link>     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *struct_name,
                                                         <link linkend="gpointer">gpointer</link> value_struct);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-struct">xfconf_channel_get_struct</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         ...);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-struct-valist">xfconf_channel_get_struct_valist</link>    (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         <link linkend="va-list">va_list</link> var_args);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-get-structv">xfconf_channel_get_structv</link>          (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="guint">guint</link> n_members,
                                                         <link linkend="GType">GType</link> *member_types);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-struct">xfconf_channel_set_struct</link>           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         ...);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-struct-valist">xfconf_channel_set_struct_valist</link>    (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         <link linkend="va-list">va_list</link> var_args);
<link linkend="gboolean">gboolean</link>            <link linkend="xfconf-channel-set-structv">xfconf_channel_set_structv</link>          (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="guint">guint</link> n_members,
                                                         <link linkend="GType">GType</link> *member_types);
</synopsis>
</refsynopsisdiv>

<refsect1 id="xfconf-xfconf-channel.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----XfconfChannel
</synopsis>

</refsect1>





<refsect1 id="xfconf-xfconf-channel.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="XfconfChannel--channel-name">channel-name</link>&quot;             <link linkend="gchar">gchar</link>*                : Read / Write / Construct Only
  &quot;<link linkend="XfconfChannel--property-base">property-base</link>&quot;            <link linkend="gchar">gchar</link>*                : Read / Write / Construct Only
</synopsis>
</refsect1>

<refsect1 id="xfconf-xfconf-channel.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="XfconfChannel-property-changed">property-changed</link>&quot;                               : Run Last / Has Details
</synopsis>
</refsect1>


<refsect1 id="xfconf-xfconf-channel.description" role="desc">
<title role="desc.title">Description</title>
<para>
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.
</para>
</refsect1>

<refsect1 id="xfconf-xfconf-channel.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="XfconfChannel-struct" role="struct">
<title>XfconfChannel</title>
<indexterm zone="XfconfChannel-struct"><primary>XfconfChannel</primary></indexterm><programlisting>typedef struct _XfconfChannel XfconfChannel;</programlisting>
<para>
An opaque structure that holds state about a channel.</para>
<para>

</para></refsect2>
<refsect2 id="xfconf-channel-get" role="function" condition="since:4.5.91">
<title>xfconf_channel_get ()</title>
<indexterm zone="xfconf-channel-get" role="4.5.91"><primary>xfconf_channel_get</primary></indexterm><programlisting><link linkend="XfconfChannel">XfconfChannel</link>*      xfconf_channel_get                  (const <link linkend="gchar">gchar</link> *channel_name);</programlisting>
<para>
Either creates a new channel, or fetches a singleton object for
<parameter>channel_name</parameter>.  This function always returns a valid object; no
checking is done to see if the channel exists or has a valid name.
</para>
<para>
The reference count of the returned channel is owned by libxfconf.
</para>
<para>
In the future, <link linkend="XfconfChannel"><type>XfconfChannel</type></link> may do client-side read caching;
users of this function will of course benefit from caching done
on behalf of any caller of the function, unlike callers of
<link linkend="xfconf-channel-new"><function>xfconf_channel_new()</function></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel_name</parameter>&nbsp;:</term>
<listitem><simpara> A channel name.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link> singleton.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since  4.5.91
</para></refsect2>
<refsect2 id="xfconf-channel-new" role="function">
<title>xfconf_channel_new ()</title>
<indexterm zone="xfconf-channel-new"><primary>xfconf_channel_new</primary></indexterm><programlisting><link linkend="XfconfChannel">XfconfChannel</link>*      xfconf_channel_new                  (const <link linkend="gchar">gchar</link> *channel_name);</programlisting>
<para>
Creates a new channel using <parameter>name</parameter> 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.
</para>
<para>
Note: use of this function is not recommended, in favor of
<link linkend="xfconf-channel-get"><function>xfconf_channel_get()</function></link>, which returns a singleton object and
saves a little memory.  However, <link linkend="xfconf-channel-new"><function>xfconf_channel_new()</function></link> can be
useful in some cases where you want to tie an <link linkend="XfconfChannel"><type>XfconfChannel</type></link>'s
lifetime (and thus the lifetime of connected signals and bound
<link linkend="GObject"><type>GObject</type></link> properties) to the lifetime of another object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel_name</parameter>&nbsp;:</term>
<listitem><simpara> A channel name.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A new <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.  Release with <link linkend="g-object-unref"><function>g_object_unref()</function></link>
         when no longer needed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-new-with-property-base" role="function" condition="since:4.5.92">
<title>xfconf_channel_new_with_property_base ()</title>
<indexterm zone="xfconf-channel-new-with-property-base" role="4.5.92"><primary>xfconf_channel_new_with_property_base</primary></indexterm><programlisting><link linkend="XfconfChannel">XfconfChannel</link>*      xfconf_channel_new_with_property_base
                                                        (const <link linkend="gchar">gchar</link> *channel_name,
                                                         const <link linkend="gchar">gchar</link> *property_base);</programlisting>
<para>
Creates a new channel using <parameter>name</parameter> as the channel's identifier,
restricting the accessible properties to be rooted at
<parameter>property_base</parameter>.  This function always returns a valid object;
no checking is done to see if the channel exists or has a valid
name.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel_name</parameter>&nbsp;:</term>
<listitem><simpara> A channel name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property_base</parameter>&nbsp;:</term>
<listitem><simpara> A property root name.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A new <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.  Release with <link linkend="g-object-unref"><function>g_object_unref()</function></link>
         when no longer needed.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since  4.5.92
</para></refsect2>
<refsect2 id="xfconf-channel-has-property" role="function">
<title>xfconf_channel_has_property ()</title>
<indexterm zone="xfconf-channel-has-property"><primary>xfconf_channel_has_property</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_has_property         (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);</programlisting>
<para>
Checks to see if <parameter>property</parameter> exists on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>property</parameter> exists, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-is-property-locked" role="function" condition="since:4.5.91">
<title>xfconf_channel_is_property_locked ()</title>
<indexterm zone="xfconf-channel-is-property-locked" role="4.5.91"><primary>xfconf_channel_is_property_locked</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_is_property_locked   (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);</programlisting>
<para>
Queries whether or not <parameter>property</parameter> on <parameter>channel</parameter> is locked by system
policy.  If the property is locked, calls to
<link linkend="xfconf-channel-set-property"><function>xfconf_channel_set_property()</function></link> (or any of the "set" family of functions)
or <link linkend="xfconf-channel-reset-property"><function>xfconf_channel_reset_property()</function></link> will fail.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property is locked, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since  4.5.91
</para></refsect2>
<refsect2 id="xfconf-channel-reset-property" role="function" condition="since:4.5.91">
<title>xfconf_channel_reset_property ()</title>
<indexterm zone="xfconf-channel-reset-property" role="4.5.91"><primary>xfconf_channel_reset_property</primary></indexterm><programlisting><link linkend="void">void</link>                xfconf_channel_reset_property       (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property_base,
                                                         <link linkend="gboolean">gboolean</link> recursive);</programlisting>
<para>
Resets properties starting at (and including) <parameter>property_base</parameter>.
If <parameter>recursive</parameter> is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, will also reset all properties that are
under <parameter>property_base</parameter> in the property hierarchy.
</para>
<para>
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.
</para>
<para>
The <parameter>property_base</parameter> parameter can be <link linkend="NULL:CAPS"><literal>NULL</literal></link> or the empty string (""),
in which case the channel root ("/") will be assumed.  Of course,
<link linkend="TRUE:CAPS"><literal>TRUE</literal></link> must be passed for <parameter>recursive</parameter> in this case.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property_base</parameter>&nbsp;:</term>
<listitem><simpara> A property tree root or property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>recursive</parameter>&nbsp;:</term>
<listitem><simpara> Whether to reset properties recursively.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since  4.5.91
</para></refsect2>
<refsect2 id="xfconf-channel-get-properties" role="function">
<title>xfconf_channel_get_properties ()</title>
<indexterm zone="xfconf-channel-get-properties"><primary>xfconf_channel_get_properties</primary></indexterm><programlisting><link linkend="GHashTable">GHashTable</link>*         xfconf_channel_get_properties       (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property_base);</programlisting>
<para>
Retrieves multiple properties from <parameter>channel</parameter> and stores
them in a <link linkend="GHashTable"><type>GHashTable</type></link> 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
<parameter>property_base</parameter> (if it exists) and all sub-properties are
retrieved.  To retrieve all properties in the channel,
specify "/" or <link linkend="NULL:CAPS"><literal>NULL</literal></link> for <parameter>property_base</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property_base</parameter>&nbsp;:</term>
<listitem><simpara> The base property name of properties to retrieve.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A newly-allocated <link linkend="GHashTable"><type>GHashTable</type></link>, which should be freed with
         <link linkend="g-hash-table-destroy"><function>g_hash_table_destroy()</function></link> when no longer needed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-string" role="function">
<title>xfconf_channel_get_string ()</title>
<indexterm zone="xfconf-channel-get-string"><primary>xfconf_channel_get_string</primary></indexterm><programlisting><link linkend="gchar">gchar</link>*              xfconf_channel_get_string           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *default_value);</programlisting>
<para>
Retrieves the string value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
<listitem><simpara> A fallback value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A newly-allocated string which should be freed with <link linkend="g-free"><function>g_free()</function></link>
         when no longer needed.  If <parameter>property</parameter> is not in <parameter>channel</parameter>,
         a <link linkend="g-strdup"><function>g_strdup()</function></link>ed copy of <parameter>default_value</parameter> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-string-list" role="function">
<title>xfconf_channel_get_string_list ()</title>
<indexterm zone="xfconf-channel-get-string-list"><primary>xfconf_channel_get_string_list</primary></indexterm><programlisting><link linkend="gchar">gchar</link>**             xfconf_channel_get_string_list      (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);</programlisting>
<para>
Retrieves the string list value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A newly-allocated string list which should be freed with
         <link linkend="g-strfreev"><function>g_strfreev()</function></link> when no longer needed.  If <parameter>property</parameter> is not in
         <parameter>channel</parameter>, <link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-int" role="function">
<title>xfconf_channel_get_int ()</title>
<indexterm zone="xfconf-channel-get-int"><primary>xfconf_channel_get_int</primary></indexterm><programlisting><link linkend="gint32">gint32</link>              xfconf_channel_get_int              (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gint32">gint32</link> default_value);</programlisting>
<para>
Retrieves the int value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
<listitem><simpara> A fallback value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The int value, or, if <parameter>property</parameter> is not in <parameter>channel</parameter>,
         <parameter>default_value</parameter> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-uint" role="function">
<title>xfconf_channel_get_uint ()</title>
<indexterm zone="xfconf-channel-get-uint"><primary>xfconf_channel_get_uint</primary></indexterm><programlisting><link linkend="guint32">guint32</link>             xfconf_channel_get_uint             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint32">guint32</link> default_value);</programlisting>
<para>
Retrieves the unsigned int value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
<listitem><simpara> A fallback value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The uint value, or, if <parameter>property</parameter> is not in <parameter>channel</parameter>,
         <parameter>default_value</parameter> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-uint64" role="function">
<title>xfconf_channel_get_uint64 ()</title>
<indexterm zone="xfconf-channel-get-uint64"><primary>xfconf_channel_get_uint64</primary></indexterm><programlisting><link linkend="guint64">guint64</link>             xfconf_channel_get_uint64           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint64">guint64</link> default_value);</programlisting>
<para>
Retrieves the 64-bit int value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
<listitem><simpara> A fallback value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The uint64 value, or, if <parameter>property</parameter> is not in <parameter>channel</parameter>,
         <parameter>default_value</parameter> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-double" role="function">
<title>xfconf_channel_get_double ()</title>
<indexterm zone="xfconf-channel-get-double"><primary>xfconf_channel_get_double</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>             xfconf_channel_get_double           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gdouble">gdouble</link> default_value);</programlisting>
<para>
Retrieves the double value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
<listitem><simpara> A fallback value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The double value, or, if <parameter>property</parameter> is not in <parameter>channel</parameter>,
         <parameter>default_value</parameter> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-bool" role="function">
<title>xfconf_channel_get_bool ()</title>
<indexterm zone="xfconf-channel-get-bool"><primary>xfconf_channel_get_bool</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_bool             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gboolean">gboolean</link> default_value);</programlisting>
<para>
Retrieves the boolean value associated with <parameter>property</parameter> on <parameter>channel</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
<listitem><simpara> A fallback value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The boolean value, or, if <parameter>property</parameter> is not in <parameter>channel</parameter>,
         <parameter>default_value</parameter> is returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-string" role="function">
<title>xfconf_channel_set_string ()</title>
<indexterm zone="xfconf-channel-set-string"><primary>xfconf_channel_set_string</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_string           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *value);</programlisting>
<para>
Sets <parameter>value</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-string-list" role="function">
<title>xfconf_channel_set_string_list ()</title>
<indexterm zone="xfconf-channel-set-string-list"><primary>xfconf_channel_set_string_list</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_string_list      (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> * const *values);</programlisting>
<para>
Sets <parameter>values</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>values</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-int" role="function">
<title>xfconf_channel_set_int ()</title>
<indexterm zone="xfconf-channel-set-int"><primary>xfconf_channel_set_int</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_int              (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gint32">gint32</link> value);</programlisting>
<para>
Sets <parameter>value</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-uint" role="function">
<title>xfconf_channel_set_uint ()</title>
<indexterm zone="xfconf-channel-set-uint"><primary>xfconf_channel_set_uint</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_uint             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint32">guint32</link> value);</programlisting>
<para>
Sets <parameter>value</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-uint64" role="function">
<title>xfconf_channel_set_uint64 ()</title>
<indexterm zone="xfconf-channel-set-uint64"><primary>xfconf_channel_set_uint64</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_uint64           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="guint64">guint64</link> value);</programlisting>
<para>
Sets <parameter>value</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-double" role="function">
<title>xfconf_channel_set_double ()</title>
<indexterm zone="xfconf-channel-set-double"><primary>xfconf_channel_set_double</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_double           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gdouble">gdouble</link> value);</programlisting>
<para>
Sets <parameter>value</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-bool" role="function">
<title>xfconf_channel_set_bool ()</title>
<indexterm zone="xfconf-channel-set-bool"><primary>xfconf_channel_set_bool</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_bool             (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gboolean">gboolean</link> value);</programlisting>
<para>
Sets <parameter>value</parameter> for <parameter>property</parameter> on <parameter>channel</parameter> in the configuration store.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The value to set.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if an error occured.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-property" role="function">
<title>xfconf_channel_get_property ()</title>
<indexterm zone="xfconf-channel-get-property"><primary>xfconf_channel_get_property</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_property         (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GValue">GValue</link> *value);</programlisting>
<para>
Gets a property on <parameter>channel</parameter> and stores it in <parameter>value</parameter>.  The caller is
responsible for calling <link linkend="g-value-unset"><function>g_value_unset()</function></link> when finished with <parameter>value</parameter>.
</para>
<para>
This function can be called with an initialized or uninitialized
<parameter>value</parameter>.  If <parameter>value</parameter> 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 <parameter>value</parameter>.  If <parameter>value</parameter> is
uninitialized, the value in the configuration store will be returned
in its native type.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="GValue"><type>GValue</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-property" role="function">
<title>xfconf_channel_set_property ()</title>
<indexterm zone="xfconf-channel-set-property"><primary>xfconf_channel_set_property</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_property         (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="GValue">GValue</link> *value);</programlisting>
<para>
Sets the value stored in <parameter>value</parameter>  to a property on <parameter>channel</parameter>.
</para>
<para>
Note: The configuration store backend almost certainly supports
only a restricted set of value types.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="GValue"><type>GValue</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-array" role="function">
<title>xfconf_channel_get_array ()</title>
<indexterm zone="xfconf-channel-get-array"><primary>xfconf_channel_get_array</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_array            (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         ...);</programlisting>
<para>
Gets an array property on <parameter>channel</parameter>.  The <parameter>first_value_type</parameter>
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.
</para>
<para>
Note: The configuration store backend almost certainly supports
only a restricted set of value types.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_value_type</parameter>&nbsp;:</term>
<listitem><simpara> The type of the first argument in the array.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of types and values.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-array-valist" role="function">
<title>xfconf_channel_get_array_valist ()</title>
<indexterm zone="xfconf-channel-get-array-valist"><primary>xfconf_channel_get_array_valist</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_array_valist     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         <link linkend="va-list">va_list</link> var_args);</programlisting>
<para>
Gets an array property on <parameter>channel</parameter>.  See <link linkend="xfconf-channel-get-array"><function>xfconf_channel_get_array()</function></link>
for details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_value_type</parameter>&nbsp;:</term>
<listitem><simpara> The type of the first argument in the array.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of types and values.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-arrayv" role="function">
<title>xfconf_channel_get_arrayv ()</title>
<indexterm zone="xfconf-channel-get-arrayv"><primary>xfconf_channel_get_arrayv</primary></indexterm><programlisting><link linkend="GPtrArray">GPtrArray</link>*          xfconf_channel_get_arrayv           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property);</programlisting>
<para>
Gets an array property on <parameter>channel</parameter> and returns it as
a <link linkend="GPtrArray"><type>GPtrArray</type></link>, which can be freed with <link linkend="xfconf-array-free"><function>xfconf_array_free()</function></link>
when no longer needed.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property string.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A newly-allocated <link linkend="GPtrArray"><type>GPtrArray</type></link> on success, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
         on failure.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-array" role="function">
<title>xfconf_channel_set_array ()</title>
<indexterm zone="xfconf-channel-set-array"><primary>xfconf_channel_set_array</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_array            (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         ...);</programlisting>
<para>
Sets an array property on <parameter>channel</parameter>.  The <parameter>first_value_type</parameter>
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.
</para>
<para>
Note: The configuration store backend almost certainly supports
only a restricted set of value types.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_value_type</parameter>&nbsp;:</term>
<listitem><simpara> The type of the first argument in the array.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of types and values.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-array-valist" role="function">
<title>xfconf_channel_set_array_valist ()</title>
<indexterm zone="xfconf-channel-set-array-valist"><primary>xfconf_channel_set_array_valist</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_array_valist     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GType">GType</link> first_value_type,
                                                         <link linkend="va-list">va_list</link> var_args);</programlisting>
<para>
Sets an array property on <parameter>channel</parameter>.  See <link linkend="xfconf-channel-set-array"><function>xfconf_channel_set_array()</function></link>
for details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_value_type</parameter>&nbsp;:</term>
<listitem><simpara> The type of the first argument in the array.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of types and values.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-arrayv" role="function">
<title>xfconf_channel_set_arrayv ()</title>
<indexterm zone="xfconf-channel-set-arrayv"><primary>xfconf_channel_set_arrayv</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_arrayv           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="GPtrArray">GPtrArray</link> *values);</programlisting>
<para>
Sets an array property on <parameter>channel</parameter>, using the values in the
provided <parameter>values</parameter> array.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A property string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>values</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="GPtrArray"><type>GPtrArray</type></link> of <link linkend="GValue"><type>GValue</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-named-struct" role="function">
<title>xfconf_channel_get_named_struct ()</title>
<indexterm zone="xfconf-channel-get-named-struct"><primary>xfconf_channel_get_named_struct</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_named_struct     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *struct_name,
                                                         <link linkend="gpointer">gpointer</link> value_struct);</programlisting>
<para>
Gets a property from <parameter>channel</parameter> and fills in <parameter>value_struct</parameter> using
the retrieved values.  The <parameter>struct_name</parameter> parameter is the same
name that must have been used to register the struct's layout
with <link linkend="xfconf-named-struct-register"><function>xfconf_named_struct_register()</function></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>struct_name</parameter>&nbsp;:</term>
<listitem><simpara> A string struct name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-named-struct" role="function">
<title>xfconf_channel_set_named_struct ()</title>
<indexterm zone="xfconf-channel-set-named-struct"><primary>xfconf_channel_set_named_struct</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_named_struct     (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gchar">gchar</link> *struct_name,
                                                         <link linkend="gpointer">gpointer</link> value_struct);</programlisting>
<para>
Sets a property on <parameter>channel</parameter> using the members of <parameter>value_struct</parameter>
as the array of values.  The <parameter>struct_name</parameter> parameter is the same
name that must have been used to register the struct's layout
with <link linkend="xfconf-named-struct-register"><function>xfconf_named_struct_register()</function></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>struct_name</parameter>&nbsp;:</term>
<listitem><simpara> A string struct name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-struct" role="function">
<title>xfconf_channel_get_struct ()</title>
<indexterm zone="xfconf-channel-get-struct"><primary>xfconf_channel_get_struct</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_struct           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         ...);</programlisting>
<para>
Gets a property on <parameter>channel</parameter> and stores it as members of the
<parameter>value_struct</parameter> struct.  The <parameter>first_member_type</parameter> argument
specifies the <link linkend="GType"><type>GType</type></link> of the first member of the struct.  The
variable argument list specifies the <link linkend="GType"><type>GType</type></link><!-- -->s of the
rest of the struct members, and should be terminated with
G_TYPE_INVALID.
</para>
<para>
Note: This function takes your compiler's and platform's
struct member alignment rules into account when storing values
in <parameter>value_struct</parameter>.  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.
</para>
<para>
Note: Struct members can only be non-pointer types such as int,
boolean, double, etc.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct in which to store values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_member_type</parameter>&nbsp;:</term>
<listitem><simpara> The GType of the first member of <parameter>value_struct</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of <link linkend="GType"><type>GType</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> oherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-struct-valist" role="function">
<title>xfconf_channel_get_struct_valist ()</title>
<indexterm zone="xfconf-channel-get-struct-valist"><primary>xfconf_channel_get_struct_valist</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_struct_valist    (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         <link linkend="va-list">va_list</link> var_args);</programlisting>
<para>
Gets a property on <parameter>channel</parameter> and stores it as members of the
<parameter>value_struct</parameter> struct.  See <link linkend="xfconf-channel-get-struct"><function>xfconf_channel_get_struct()</function></link> for details.
</para>
<para>
Note: Struct members can only be non-pointer types such as int,
boolean, double, etc.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct in which to store values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_member_type</parameter>&nbsp;:</term>
<listitem><simpara> The GType of the first member of <parameter>value_struct</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of <link linkend="GType"><type>GType</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> oherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-get-structv" role="function">
<title>xfconf_channel_get_structv ()</title>
<indexterm zone="xfconf-channel-get-structv"><primary>xfconf_channel_get_structv</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_get_structv          (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="guint">guint</link> n_members,
                                                         <link linkend="GType">GType</link> *member_types);</programlisting>
<para>
Gets a property on <parameter>channel</parameter> and stores it as members of the
<parameter>value_struct</parameter> struct.  The <parameter>member_types</parameter> array should hold
a <link linkend="GType"><type>GType</type></link> for each member of the struct.
</para>
<para>
Note: Struct members can only be non-pointer types such as int,
boolean, double, etc.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct in which to store values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_members</parameter>&nbsp;:</term>
<listitem><simpara> The number of data members in the struct.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>member_types</parameter>&nbsp;:</term>
<listitem><simpara> An array of <parameter>n_members</parameter> <link linkend="GType"><type>GType</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was retrieved successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> oherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-struct" role="function">
<title>xfconf_channel_set_struct ()</title>
<indexterm zone="xfconf-channel-set-struct"><primary>xfconf_channel_set_struct</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_struct           (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         ...);</programlisting>
<para>
Sets a property on <parameter>channel</parameter> using the members of <parameter>value_struct</parameter>
as a value array.  The <parameter>first_member_type</parameter> argument specifies
the <link linkend="GType"><type>GType</type></link> of the first member of the struct.  The variable
argument list specifies the <link linkend="GType"><type>GType</type></link><!-- -->s of the rest of the
struct members, and should be terminated with G_TYPE_INVALID.
</para>
<para>
Note: This function takes your compiler's and platform's
struct member alignment rules into account when taking values
in <parameter>value_struct</parameter>.  Therefore, it cannot be used with structs that
are declared as "packed" such that the alignment rules are ignored
by the compiler.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct from which to take values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_member_type</parameter>&nbsp;:</term>
<listitem><simpara> The GType of the first member of <parameter>value_struct</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of <link linkend="GType"><type>GType</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> oherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-struct-valist" role="function">
<title>xfconf_channel_set_struct_valist ()</title>
<indexterm zone="xfconf-channel-set-struct-valist"><primary>xfconf_channel_set_struct_valist</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_struct_valist    (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="GType">GType</link> first_member_type,
                                                         <link linkend="va-list">va_list</link> var_args);</programlisting>
<para>
Sets a property on <parameter>channel</parameter> using the members of <parameter>value_struct</parameter>
as a value array.  See <link linkend="xfconf-channel-set-struct"><function>xfconf_channel_set_struct()</function></link> for details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct from which to take values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_member_type</parameter>&nbsp;:</term>
<listitem><simpara> The GType of the first member of <parameter>value_struct</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</term>
<listitem><simpara> A variable argument list of <link linkend="GType"><type>GType</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> oherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xfconf-channel-set-structv" role="function">
<title>xfconf_channel_set_structv ()</title>
<indexterm zone="xfconf-channel-set-structv"><primary>xfconf_channel_set_structv</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            xfconf_channel_set_structv          (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                         const <link linkend="gchar">gchar</link> *property,
                                                         const <link linkend="gpointer">gpointer</link> value_struct,
                                                         <link linkend="guint">guint</link> n_members,
                                                         <link linkend="GType">GType</link> *member_types);</programlisting>
<para>
Sets a property on <parameter>channel</parameter> using the members of <parameter>value_struct</parameter>
as a value array.  The <parameter>member_types</parameter> array should hold a <link linkend="GType"><type>GType</type></link>
for each member of the struct.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> An <link linkend="XfconfChannel"><type>XfconfChannel</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> A string property name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_struct</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to a struct from which to take values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_members</parameter>&nbsp;:</term>
<listitem><simpara> The number of data members in the struct.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>member_types</parameter>&nbsp;:</term>
<listitem><simpara> An array of <parameter>n_members</parameter> <link linkend="GType"><type>GType</type></link><!-- -->s.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the property was set successfully,
         <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> oherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>
<refsect1 id="xfconf-xfconf-channel.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="XfconfChannel--channel-name"><title>The <literal>&quot;channel-name&quot;</literal> property</title>
<indexterm zone="XfconfChannel--channel-name"><primary>XfconfChannel:channel-name</primary></indexterm><programlisting>  &quot;channel-name&quot;             <link linkend="gchar">gchar</link>*                : Read / Write / Construct Only</programlisting>
<para>The name of the channel.</para><para>Default value: NULL</para>
</refsect2>
<refsect2 id="XfconfChannel--property-base"><title>The <literal>&quot;property-base&quot;</literal> property</title>
<indexterm zone="XfconfChannel--property-base"><primary>XfconfChannel:property-base</primary></indexterm><programlisting>  &quot;property-base&quot;            <link linkend="gchar">gchar</link>*                : Read / Write / Construct Only</programlisting>
<para>Base property path.</para><para>Default value: NULL</para>
</refsect2>

</refsect1>

<refsect1 id="xfconf-xfconf-channel.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="XfconfChannel-property-changed"><title>The <literal>&quot;property-changed&quot;</literal> signal</title>
<indexterm zone="XfconfChannel-property-changed"><primary>XfconfChannel::property-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="XfconfChannel">XfconfChannel</link> *channel,
                                                        <link linkend="gchar">gchar</link>         *property,
                                                        <link linkend="GValue">GValue</link>        *value,
                                                        <link linkend="gpointer">gpointer</link>       user_data)      : Run Last / Has Details</programlisting>
<para>
Emitted whenever a property on <parameter>channel</parameter> has changed.  If
the change was caused by the removal of <parameter>property</parameter>, <parameter>value</parameter>
will be unset; you should test this with
<informalexample><programlisting>
G_VALUE_TYPE(value) == G_TYPE_INVALID
</programlisting></informalexample></para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> The <link linkend="XfconfChannel"><type>XfconfChannel</type></link> emitting the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>property</parameter>&nbsp;:</term>
<listitem><simpara> The property that changed.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> The new value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>



</refentry>
