## CamelSettings CamelSettings |

## Synopsis

    struct              CamelSettings;
    GParamSpec **       camel_settings_class_list_settings  (CamelSettingsClass *settings_class,
                                                             guint *n_settings);
    CamelSettings *     camel_settings_clone                (CamelSettings *settings);
    gboolean            camel_settings_equal                (CamelSettings *settings_a,
                                                             CamelSettings *settings_b);

## Object Hierarchy

      GObject
       +----CamelSettings
             +----CamelStoreSettings

## Known Derived Interfaces

CamelSettings is required by CamelNetworkSettings.

## Description

## Details

### struct CamelSettings

    struct CamelSettings;

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

Since 3.2

### camel_settings_class_list_settings ()

    GParamSpec **       camel_settings_class_list_settings  (CamelSettingsClass *settings_class,
                                                             guint *n_settings);

Returns an array of GParamSpec for properties of `class` which are considered to be settings. By default all properties are considered to be settings, but subclasses may wish to exclude certain properties. Free the returned array with `g_free()`.

`settings_class` : | a CamelSettingsClass
`n_settings` : | return location for the length of the returned array
Returns : | an array of GParamSpec which should be freed after use

Since 3.2

### camel_settings_clone ()

    CamelSettings *     camel_settings_clone                (CamelSettings *settings);

Creates an copy of `settings`, such that passing `settings` and the copied instance to `camel_settings_equal()` would return `TRUE`.

By default, this creates a new settings instance with the same GType as `settings`, and copies all GObject property values from `settings` to the new instance.

`settings` : | a CamelSettings
Returns : | a newly-created copy of `settings`

Since 3.2

### camel_settings_equal ()

    gboolean            camel_settings_equal                (CamelSettings *settings_a,
                                                             CamelSettings *settings_b);

Returns `TRUE` if `settings_a` and `settings_b` are equal.

By default, equality requires both instances to have the same GType with the same set of GObject properties, and each property value in `settings_a` is equal to the corresponding value in `settings_b`.

`settings_a` : | a CamelSettings
`settings_b` : | another CamelSettings
Returns : | `TRUE` if `settings_a` and `settings_b` are equal

Since 3.2