glib/gio/gsettings.h
2010-04-14 12:27:09 -04:00

113 lines
6.0 KiB
C

/*
* Copyright © 2009 Codethink Limited
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of version 3 of the GNU General Public License as
* published by the Free Software Foundation.
*
* See the included COPYING file for more information.
*/
#ifndef __G_SETTINGS_H__
#define __G_SETTINGS_H__
#include "gsettingsbackend.h"
#define G_TYPE_SETTINGS (g_settings_get_type ())
#define G_SETTINGS(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
G_TYPE_SETTINGS, GSettings))
#define G_SETTINGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
G_TYPE_SETTINGS, GSettingsClass))
#define G_IS_SETTINGS(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_SETTINGS))
#define G_IS_SETTINGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_SETTINGS))
#define G_SETTINGS_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
G_TYPE_SETTINGS, GSettingsClass))
typedef struct _GSettingsPrivate GSettingsPrivate;
typedef struct _GSettingsClass GSettingsClass;
typedef struct _GSettings GSettings;
struct _GSettingsClass
{
GObjectClass parent_class;
GSettings * (*get_settings) (GSettings *settings,
const gchar *name);
void (*changes) (GSettings *settings,
const GQuark *keys,
gint n_keys);
void (*changed) (GSettings *settings,
const gchar *key);
void (*destroyed) (GSettings *settings);
};
struct _GSettings
{
GObject parent_instance;
GSettingsPrivate *priv;
};
typedef enum
{
G_SETTINGS_BIND_DEFAULT,
G_SETTINGS_BIND_GET = (1<<0),
G_SETTINGS_BIND_SET = (1<<1),
G_SETTINGS_BIND_NO_SENSITIVITY = (1<<2)
} GSettingsBindFlags;
G_BEGIN_DECLS
GType g_settings_get_type (void);
void g_settings_revert (GSettings *settings);
void g_settings_apply (GSettings *settings);
gboolean g_settings_get_delay_apply (GSettings *settings);
gboolean g_settings_get_has_unapplied (GSettings *settings);
void g_settings_set_delay_apply (GSettings *settings,
gboolean delay);
GSettings * g_settings_new (const gchar *schema);
GSettings * g_settings_new_with_path (const gchar *schema,
const gchar *path);
void g_settings_set_value (GSettings *settings,
const gchar *key,
GVariant *value);
GVariant * g_settings_get_value (GSettings *settings,
const gchar *key);
void g_settings_set (GSettings *settings,
const gchar *key,
const gchar *format,
...);
void g_settings_get (GSettings *settings,
const gchar *key,
const gchar *format_string,
...);
GSettings * g_settings_get_settings (GSettings *settings,
const gchar *name);
gboolean g_settings_is_writable (GSettings *settings,
const gchar *name);
void g_settings_changes (GSettings *settings,
const GQuark *keys,
gint n_keys);
void g_settings_destroy (GSettings *settings);
void g_settings_bind (GSettings *settings,
const gchar *key,
gpointer object,
const gchar *property,
GSettingsBindFlags flags);
void g_settings_unbind (gpointer object,
const gchar *key);
G_END_DECLS
#endif /* __G_SETTINGS_H__ */