add get_permission API to GSettingsBackend

implement it in the various in-tree backends

also, lots of whitespace changes to realign the vtable members
This commit is contained in:
Ryan Lortie
2010-06-04 23:07:40 +02:00
parent 95c564cabe
commit 61f3f45cb9
7 changed files with 101 additions and 32 deletions

View File

@@ -67,39 +67,42 @@ struct _GSettingsBackendClass
{
GObjectClass parent_class;
gboolean (*supports_context) (const gchar *context);
gboolean (*supports_context) (const gchar *context);
GVariant * (*read) (GSettingsBackend *backend,
const gchar *key,
const GVariantType *expected_type,
gboolean default_value);
gchar ** (*list) (GSettingsBackend *backend,
const gchar *path,
gchar **resets,
gsize n_resets,
gsize *length);
gboolean (*write) (GSettingsBackend *backend,
const gchar *key,
GVariant *value,
gpointer origin_tag);
gboolean (*write_keys) (GSettingsBackend *backend,
GTree *tree,
gpointer origin_tag);
void (*reset) (GSettingsBackend *backend,
const gchar *key,
gpointer origin_tag);
void (*reset_path) (GSettingsBackend *backend,
const gchar *path,
gpointer origin_tag);
gboolean (*get_writable) (GSettingsBackend *backend,
const gchar *key);
void (*subscribe) (GSettingsBackend *backend,
const gchar *name);
void (*unsubscribe) (GSettingsBackend *backend,
const gchar *name);
void (*sync) (GSettingsBackend *backend);
GVariant * (*read) (GSettingsBackend *backend,
const gchar *key,
const GVariantType *expected_type,
gboolean default_value);
gchar ** (*list) (GSettingsBackend *backend,
const gchar *path,
gchar **resets,
gsize n_resets,
gsize *length);
gboolean (*write) (GSettingsBackend *backend,
const gchar *key,
GVariant *value,
gpointer origin_tag);
gboolean (*write_keys) (GSettingsBackend *backend,
GTree *tree,
gpointer origin_tag);
void (*reset) (GSettingsBackend *backend,
const gchar *key,
gpointer origin_tag);
void (*reset_path) (GSettingsBackend *backend,
const gchar *path,
gpointer origin_tag);
gboolean (*get_writable) (GSettingsBackend *backend,
const gchar *key);
void (*subscribe) (GSettingsBackend *backend,
const gchar *name);
void (*unsubscribe) (GSettingsBackend *backend,
const gchar *name);
void (*sync) (GSettingsBackend *backend);
gpointer padding[8];
GPermission * (*get_permission) (GSettingsBackend *backend,
const gchar *path);
gpointer padding[7];
};
struct _GSettingsBackend