## EShellSettings EShellSettings — settings management |

## Synopsis

    #include <shell/e-shell-settings.h>

    struct              EShellSettings;
    void                e_shell_settings_install_property   (GParamSpec *pspec);
    void                e_shell_settings_install_property_for_key
                                                            (const gchar *property_name,
                                                             const gchar *schema,
                                                             const gchar *key);
    void                e_shell_settings_enable_debug       (EShellSettings *shell_settings);
    gboolean            e_shell_settings_get_boolean        (EShellSettings *shell_settings,
                                                             const gchar *property_name);
    void                e_shell_settings_set_boolean        (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gboolean v_boolean);
    gint                e_shell_settings_get_int            (EShellSettings *shell_settings,
                                                             const gchar *property_name);
    void                e_shell_settings_set_int            (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gint v_int);
    gchar *             e_shell_settings_get_string         (EShellSettings *shell_settings,
                                                             const gchar *property_name);
    void                e_shell_settings_set_string         (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             const gchar *v_string);
    gpointer            e_shell_settings_get_object         (EShellSettings *shell_settings,
                                                             const gchar *property_name);
    void                e_shell_settings_set_object         (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gpointer v_object);
    gpointer            e_shell_settings_get_pointer        (EShellSettings *shell_settings,
                                                             const gchar *property_name);
    void                e_shell_settings_set_pointer        (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gpointer v_pointer);

## Object Hierarchy

      GObject
       +----EShellSettings

## Description

## Details

### struct EShellSettings

    struct EShellSettings;

Contains only private data that should be read and manipulated using the functions below.

### e_shell_settings_install_property ()

    void                e_shell_settings_install_property   (GParamSpec *pspec);

Installs a new EShellSettings class property from `pspec`. This is usually done during initialization of an EShellBackend or other dynamically loaded entity.

`pspec` : | a GParamSpec

### e_shell_settings_install_property_for_key ()

    void                e_shell_settings_install_property_for_key
                                                            (const gchar *property_name,
                                                             const gchar *schema,
                                                             const gchar *key);

Installs a new EShellSettings class property by examining the GSettings schema for `key` to determine the appropriate type and default value. This is usually done during initialization of an EShellBackend of other dynamically loaded entity.

After the class property is installed, all EShellSettings instances are bound to `key`, causing `property_name` and `key` to have the same value at all times.

`property_name` : | the name of the property to install
`schema` : | the GSettings schema to use for `key`
`key` : | the GSettings key to bind the property to

### e_shell_settings_enable_debug ()

    void                e_shell_settings_enable_debug       (EShellSettings *shell_settings);

Print a debug message to standard output when a property value changes.

`shell_settings` : | an EShellSettings

### e_shell_settings_get_boolean ()

    gboolean            e_shell_settings_get_boolean        (EShellSettings *shell_settings,
                                                             const gchar *property_name);

Return the contents of an EShellSettings property of type G_TYPE_BOOLEAN.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
Returns : | boolean contents of `property_name`

### e_shell_settings_set_boolean ()

    void                e_shell_settings_set_boolean        (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gboolean v_boolean);

Sets the contents of an EShellSettings property of type G_TYPE_BOOLEAN to `v_boolean`. If `property_name` is bound to a GSettings key, the GSettings key will also be set to `v_boolean`.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
`v_boolean` : | boolean value to be set

### e_shell_settings_get_int ()

    gint                e_shell_settings_get_int            (EShellSettings *shell_settings,
                                                             const gchar *property_name);

Returns the contents of an EShellSettings property of type G_TYPE_INT.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
Returns : | integer contents of `property_name`

### e_shell_settings_set_int ()

    void                e_shell_settings_set_int            (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gint v_int);

Sets the contents of an EShellSettings property of type G_TYPE_INT to `v_int`. If `property_name` is bound to a GSettings key, the GSettings key will also be set to `v_int`.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
`v_int` : | integer value to be set

### e_shell_settings_get_string ()

    gchar *             e_shell_settings_get_string         (EShellSettings *shell_settings,
                                                             const gchar *property_name);

Returns the contents of an EShellSettings property of type G_TYPE_STRING. The returned string should be freed using `g_free()`.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
Returns : | string contents of `property_name`

### e_shell_settings_set_string ()

    void                e_shell_settings_set_string         (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             const gchar *v_string);

Sets the contents of an EShellSettings property of type G_TYPE_STRING to `v_string`. If `property_name` is bound to a GSettings key, the GSettings key will also be set to `v_string`.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
`v_string` : | string to be set

### e_shell_settings_get_object ()

    gpointer            e_shell_settings_get_object         (EShellSettings *shell_settings,
                                                             const gchar *property_name);

Returns the contents of an EShellSettings property of type G_TYPE_OBJECT. The caller owns the reference to the returned object, and should call `g_object_unref()` when finished with it.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
Returns : | a new reference to the object under `property_name`

### e_shell_settings_set_object ()

    void                e_shell_settings_set_object         (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gpointer v_object);

Sets the contents of an EShellSettings property of type G_TYPE_OBJECT to `v_object`.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
`v_object` : | object to be set

### e_shell_settings_get_pointer ()

    gpointer            e_shell_settings_get_pointer        (EShellSettings *shell_settings,
                                                             const gchar *property_name);

Returns the contents of an EShellSettings property of type G_TYPE_POINTER.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
Returns : | pointer contents of `property_name`

### e_shell_settings_set_pointer ()

    void                e_shell_settings_set_pointer        (EShellSettings *shell_settings,
                                                             const gchar *property_name,
                                                             gpointer v_pointer);

Sets the contents of an EShellSettings property of type G_TYPE_POINTER to `v_pointer`.

`shell_settings` : | an EShellSettings
`property_name` : | an installed property name
`v_pointer` : | pointer to be set