## Xfconf Library Core

Xfconf Library Core — Init routines and core functionality for libxfconf

## Functions

gboolean | xfconf_init ()
void | xfconf_shutdown ()
void | xfconf_named_struct_register ()
void | xfconf_array_free ()

## Description

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.

## Functions

### xfconf_init ()

    gboolean
    xfconf_init (GError **error);

Initializes the Xfconf library. Can be called multiple times with no adverse effects.

#### Parameters

error | An error return. |

#### Returns

`TRUE` if the library was initialized succesfully, `FALSE` on error. If there is an error `error` will be set.

### xfconf_shutdown ()

    void
    xfconf_shutdown (void);

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.

### xfconf_named_struct_register ()

    void
    xfconf_named_struct_register (const gchar *struct_name,
                                  guint n_members,
                                  const GType *member_types);

Registers a named struct for use with `xfconf_channel_get_named_struct()` and `xfconf_channel_set_named_struct()`.

#### Parameters

struct_name | The unique name of the struct to register. |
n_members | The number of data members in the struct. |
member_types | An array of the GTypes of the struct members. |

### xfconf_array_free ()

    void
    xfconf_array_free (GPtrArray *arr);

Properly frees a GPtrArray structure containing a list of GValues. This will also cause the contents of the values to be freed as well.

#### Parameters

arr | A GPtrArray of GValues. |

## Types and Values