#ifndef __G_SETTINGS_H__
#define __G_SETTINGS_H__
+#include <gio/gsettingsschema.h>
#include <gio/giotypes.h>
G_BEGIN_DECLS
GType g_settings_get_type (void);
-GSettings * g_settings_new (const gchar *schema);
-GSettings * g_settings_new_with_path (const gchar *schema,
+const gchar * const * g_settings_list_schemas (void);
+const gchar * const * g_settings_list_relocatable_schemas (void);
+GSettings * g_settings_new (const gchar *schema_id);
+GSettings * g_settings_new_with_path (const gchar *schema_id,
const gchar *path);
-gboolean g_settings_supports_context (const gchar *context);
-GSettings * g_settings_new_with_context (const gchar *schema,
- const gchar *context);
-GSettings * g_settings_new_with_context_and_path (const gchar *schema,
- const gchar *context,
+GSettings * g_settings_new_with_backend (const gchar *schema_id,
+ GSettingsBackend *backend);
+GSettings * g_settings_new_with_backend_and_path (const gchar *schema_id,
+ GSettingsBackend *backend,
const gchar *path);
+GSettings * g_settings_new_full (GSettingsSchema *schema,
+ GSettingsBackend *backend,
+ const gchar *path);
+gchar ** g_settings_list_children (GSettings *settings);
+gchar ** g_settings_list_keys (GSettings *settings);
+GVariant * g_settings_get_range (GSettings *settings,
+ const gchar *key);
+gboolean g_settings_range_check (GSettings *settings,
+ const gchar *key,
+ GVariant *value);
gboolean g_settings_set_value (GSettings *settings,
const gchar *key,
const gchar *key,
const gchar *format,
...);
+void g_settings_reset (GSettings *settings,
+ const gchar *key);
gint g_settings_get_int (GSettings *settings,
const gchar *key);
gboolean g_settings_set_int (GSettings *settings,
const gchar *key,
gint value);
+guint g_settings_get_uint (GSettings *settings,
+ const gchar *key);
+gboolean g_settings_set_uint (GSettings *settings,
+ const gchar *key,
+ guint value);
gchar * g_settings_get_string (GSettings *settings,
const gchar *key);
gboolean g_settings_set_string (GSettings *settings,
gboolean g_settings_set_enum (GSettings *settings,
const gchar *key,
gint value);
+guint g_settings_get_flags (GSettings *settings,
+ const gchar *key);
+gboolean g_settings_set_flags (GSettings *settings,
+ const gchar *key,
+ guint value);
GSettings * g_settings_get_child (GSettings *settings,
const gchar *name);
void g_settings_apply (GSettings *settings);
void g_settings_revert (GSettings *settings);
gboolean g_settings_get_has_unapplied (GSettings *settings);
-void g_settings_sync (const gchar *context);
+void g_settings_sync (void);
/**
* GSettingsBindSetMapping:
* @value: a #GValue containing the property value to map
* @expected_type: the #GVariantType to create
* @user_data: user data that was specified when the binding was created
- * @returns: a new #GVariant holding the data from @value,
- * or %NULL in case of an error
*
* The type for the function that is used to convert an object property
* value to a #GVariant for storing it in #GSettings.
+ *
+ * Returns: a new #GVariant holding the data from @value,
+ * or %NULL in case of an error
*/
typedef GVariant * (*GSettingsBindSetMapping) (const GValue *value,
const GVariantType *expected_type,
* @value: return location for the property value
* @variant: the #GVariant
* @user_data: user data that was specified when the binding was created
- * @returns: %TRUE if the conversion succeeded, %FALSE in case of an error
*
* The type for the function that is used to convert from #GSettings to
* an object property. The @value is already initialized to hold values
* of the appropriate type.
+ *
+ * Returns: %TRUE if the conversion succeeded, %FALSE in case of an error
*/
typedef gboolean (*GSettingsBindGetMapping) (GValue *value,
GVariant *variant,
gpointer user_data);
/**
+ * GSettingsGetMapping:
+ * @value: the #GVariant to map, or %NULL
+ * @result: (out): the result of the mapping
+ * @user_data: (closure): the user data that was passed to
+ * g_settings_get_mapped()
+ *
+ * The type of the function that is used to convert from a value stored
+ * in a #GSettings to a value that is useful to the application.
+ *
+ * If the value is successfully mapped, the result should be stored at
+ * @result and %TRUE returned. If mapping fails (for example, if @value
+ * is not in the right format) then %FALSE should be returned.
+ *
+ * If @value is %NULL then it means that the mapping function is being
+ * given a "last chance" to successfully return a valid value. %TRUE
+ * must be returned in this case.
+ *
+ * Returns: %TRUE if the conversion succeeded, %FALSE in case of an error
+ **/
+typedef gboolean (*GSettingsGetMapping) (GVariant *value,
+ gpointer *result,
+ gpointer user_data);
+
+/**
* GSettingsBindFlags:
* @G_SETTINGS_BIND_DEFAULT: Equivalent to <literal>G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET</literal>
* @G_SETTINGS_BIND_GET: Update the #GObject property when the setting changes.
* @G_SETTINGS_BIND_NO_SENSITIVITY: Do not try to bind a "sensitivity" property to the writability of the setting
* @G_SETTINGS_BIND_GET_NO_CHANGES: When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property
* value initially from the setting, but do not listen for changes of the setting
+ * @G_SETTINGS_BIND_INVERT_BOOLEAN: When passed to g_settings_bind(), uses a pair of mapping functions that invert
+ * the boolean value when mapping between the setting and the property. The setting and property must both
+ * be booleans. You cannot pass this flag to g_settings_bind_with_mapping().
*
* Flags used when creating a binding. These flags determine in which
* direction the binding works. The default is to synchronize in both
G_SETTINGS_BIND_GET = (1<<0),
G_SETTINGS_BIND_SET = (1<<1),
G_SETTINGS_BIND_NO_SENSITIVITY = (1<<2),
- G_SETTINGS_BIND_GET_NO_CHANGES = (1<<3)
+ G_SETTINGS_BIND_GET_NO_CHANGES = (1<<3),
+ G_SETTINGS_BIND_INVERT_BOOLEAN = (1<<4)
} GSettingsBindFlags;
void g_settings_bind (GSettings *settings,
void g_settings_unbind (gpointer object,
const gchar *property);
+GAction * g_settings_create_action (GSettings *settings,
+ const gchar *key);
+
+gpointer g_settings_get_mapped (GSettings *settings,
+ const gchar *key,
+ GSettingsGetMapping mapping,
+ gpointer user_data);
+
G_END_DECLS
#endif /* __G_SETTINGS_H__ */