summaryrefslogtreecommitdiff
path: root/src/tracker
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-11-19 23:46:00 +0100
committerCarlos Garnacho <carlosg@gnome.org>2016-11-20 15:28:42 +0100
commit478d8c1d94c336197e18edc4ff8fadf674a8a438 (patch)
tree260966001942f2419dba7f51f94e42bd86538000 /src/tracker
parentfab8738273b20c2f4b12c522d895566581c8cd70 (diff)
downloadtracker-478d8c1d94c336197e18edc4ff8fadf674a8a438.tar.gz
tracker: Avoid deprecated GSettings API
And use GSettingsSchema/GSettingsSchemaSource. This code is still disgusting.
Diffstat (limited to 'src/tracker')
-rw-r--r--src/tracker/tracker-config.c21
-rw-r--r--src/tracker/tracker-config.h1
-rw-r--r--src/tracker/tracker-reset.c2
-rw-r--r--src/tracker/tracker-status.c2
4 files changed, 18 insertions, 8 deletions
diff --git a/src/tracker/tracker-config.c b/src/tracker/tracker-config.c
index 737b7c064..9dfc143db 100644
--- a/src/tracker/tracker-config.c
+++ b/src/tracker/tracker-config.c
@@ -37,14 +37,15 @@ tracker_gsettings_get_all (gint *longest_name_length)
} SchemaWithPath;
TrackerMinerManager *manager;
+ GSettingsSchemaSource *source;
GError *error = NULL;
GSettings *settings;
GSList *all = NULL;
GSList *l;
GSList *miners_available;
GSList *valid_schemas = NULL;
- const gchar * const *schema;
- gint len = 0;
+ gchar **schemas;
+ gint i, len = 0;
SchemaWithPath components[] = {
{ "Store", "store" },
{ "Extract", "extract" },
@@ -65,23 +66,28 @@ tracker_gsettings_get_all (gint *longest_name_length)
miners_available = tracker_miner_manager_get_available (manager);
- /* Get valid schemas so we don't try to load invalid ones */
- for (schema = g_settings_list_schemas (); schema && *schema; schema++) {
- if (!g_str_has_prefix (*schema, "org.freedesktop.Tracker.")) {
+ source = g_settings_schema_source_get_default ();
+ g_settings_schema_source_list_schemas (source, TRUE, &schemas, NULL);
+
+ for (i = 0; schemas[i]; i++) {
+ if (!g_str_has_prefix (schemas[i], "org.freedesktop.Tracker.")) {
continue;
}
- valid_schemas = g_slist_prepend (valid_schemas, g_strdup (*schema));
+ valid_schemas = g_slist_prepend (valid_schemas, g_strdup (schemas[i]));
}
/* Store / General */
for (swp = components; swp && swp->schema; swp++) {
+ GSettingsSchema *settings_schema;
gchar *schema;
gchar *path;
schema = g_strdup_printf ("org.freedesktop.Tracker.%s", swp->schema);
path = g_strdup_printf ("/org/freedesktop/tracker/%s/", swp->path);
+ settings_schema = g_settings_schema_source_lookup (source, schema, FALSE);
+
/* If miner doesn't have a schema, no point in getting config */
if (!tracker_string_in_gslist (schema, valid_schemas)) {
g_free (path);
@@ -97,6 +103,7 @@ tracker_gsettings_get_all (gint *longest_name_length)
c->name = g_strdup (swp->schema);
c->settings = settings;
+ c->schema = settings_schema;
c->is_miner = FALSE;
all = g_slist_prepend (all, c);
@@ -156,6 +163,7 @@ tracker_gsettings_get_all (gint *longest_name_length)
g_slist_foreach (miners_available, (GFunc) g_free, NULL);
g_slist_free (miners_available);
g_object_unref (manager);
+ g_strfreev (schemas);
if (longest_name_length) {
*longest_name_length = len;
@@ -198,6 +206,7 @@ tracker_gsettings_free (GSList *all)
g_free (c->name);
g_object_unref (c->settings);
+ g_object_unref (c->schema);
g_slice_free (ComponentGSettings, c);
}
}
diff --git a/src/tracker/tracker-config.h b/src/tracker/tracker-config.h
index 748e6b9be..66cf4b890 100644
--- a/src/tracker/tracker-config.h
+++ b/src/tracker/tracker-config.h
@@ -26,6 +26,7 @@
typedef struct {
gchar *name;
+ GSettingsSchema *schema;
GSettings *settings;
gboolean is_miner;
} ComponentGSettings;
diff --git a/src/tracker/tracker-reset.c b/src/tracker/tracker-reset.c
index 8278b6061..38116c8ea 100644
--- a/src/tracker/tracker-reset.c
+++ b/src/tracker/tracker-reset.c
@@ -372,7 +372,7 @@ reset_run (void)
g_print (" %s\n", c->name);
- keys = g_settings_list_keys (c->settings);
+ keys = g_settings_schema_list_keys (c->schema);
for (p = keys; p && *p; p++) {
g_print (" %s\n", *p);
g_settings_reset (c->settings, *p);
diff --git a/src/tracker/tracker-status.c b/src/tracker/tracker-status.c
index 12b76d2fd..8364dd231 100644
--- a/src/tracker/tracker-status.c
+++ b/src/tracker/tracker-status.c
@@ -352,7 +352,7 @@ collect_debug (void)
continue;
}
- keys = g_settings_list_keys (c->settings);
+ keys = g_settings_schema_list_keys (c->schema);
for (p = keys; p && *p; p++) {
GVariant *v;
gchar *printed;