summaryrefslogtreecommitdiff
path: root/gsettings
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2013-10-27 11:09:39 -0700
committerRyan Lortie <desrt@desrt.ca>2013-10-28 10:24:20 -0700
commit863fa5c1ee630a2ba3988896a957b922faceee87 (patch)
treef4d61a9bfb88ccc909029f881917604400fa02e7 /gsettings
parentaf4cab4ae533d21e8a02b6041c43e928bc74f96e (diff)
downloaddconf-863fa5c1ee630a2ba3988896a957b922faceee87.tar.gz
GSettings: implement _read_user_value()
Implement g_settings_backend_read_user_value() in DConfSettingsBackend. This will help us support g_settings_get_user_value() properly. We add a new engine API to support this as well. It takes a read_through queue, even though we don't bother using that from DConfSettingsBackend. https://bugzilla.gnome.org/show_bug.cgi?id=668233
Diffstat (limited to 'gsettings')
-rw-r--r--gsettings/dconfsettingsbackend.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gsettings/dconfsettingsbackend.c b/gsettings/dconfsettingsbackend.c
index 53f701e..85930d2 100644
--- a/gsettings/dconfsettingsbackend.c
+++ b/gsettings/dconfsettingsbackend.c
@@ -63,6 +63,16 @@ dconf_settings_backend_read (GSettingsBackend *backend,
return value;
}
+static GVariant *
+dconf_settings_backend_read_user_value (GSettingsBackend *backend,
+ const gchar *key,
+ const GVariantType *expected_type)
+{
+ DConfSettingsBackend *dcsb = (DConfSettingsBackend *) backend;
+
+ return dconf_engine_read_user_value (dcsb->engine, NULL, key);
+}
+
static gboolean
dconf_settings_backend_write (GSettingsBackend *backend,
const gchar *key,
@@ -193,6 +203,7 @@ dconf_settings_backend_class_init (GSettingsBackendClass *class)
object_class->finalize = dconf_settings_backend_finalize;
class->read = dconf_settings_backend_read;
+ class->read_user_value = dconf_settings_backend_read_user_value;
class->write = dconf_settings_backend_write;
class->write_tree = dconf_settings_backend_write_tree;
class->reset = dconf_settings_backend_reset;