Xfconf Library Core
3
XFCONF Library

# Xfconf Library Core

Init routines and core functionality for libxfconf

## Synopsis

    gboolean            xfconf_init                         (GError **error);
    void                xfconf_shutdown                     ();
    void                xfconf_named_struct_register        (const gchar *struct_name,
                                                             guint n_members,
                                                             const GType *member_types);
    void                xfconf_array_free                   (GPtrArray *arr);

## 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.

## Details

### xfconf_init ()

    gboolean            xfconf_init                         (GError **error);

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

`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                     ();

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()`.

`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.

`arr` :

  A GPtrArray of GValues.