summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-06-30 10:25:28 +0200
committerJean Felder <jean.felder@gmail.com>2020-08-21 15:05:11 +0000
commit535f34b4c3117f14a557bd7ad521f897e840105c (patch)
treebcea01a2fefc723ea7ddfd4ba63abdc64d4a349f
parent72e1581d356ea92bac48af71e89e272554c336ee (diff)
downloadgrilo-plugins-535f34b4c3117f14a557bd7ad521f897e840105c.tar.gz
tracker3: Add configuration option to change miner service
This may be useful if using domain ontologies for the tracker-miner services (e.g. a flatpak app without tracker3 in the host), in this case the miner service would be based on the app DBus name, thus queries and notification subscriptions need to change.
-rw-r--r--src/tracker3/grl-tracker-source-notif.c2
-rw-r--r--src/tracker3/grl-tracker-source-priv.h1
-rw-r--r--src/tracker3/grl-tracker-source-statements.c5
-rw-r--r--src/tracker3/grl-tracker.c3
4 files changed, 10 insertions, 1 deletions
diff --git a/src/tracker3/grl-tracker-source-notif.c b/src/tracker3/grl-tracker-source-notif.c
index 59b76c2..591eb3d 100644
--- a/src/tracker3/grl-tracker-source-notif.c
+++ b/src/tracker3/grl-tracker-source-notif.c
@@ -182,6 +182,8 @@ grl_tracker_source_notify_constructed (GObject *object)
bus_connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
tracker_notifier_signal_subscribe (self->notifier,
bus_connection,
+ grl_tracker_miner_service ?
+ grl_tracker_miner_service :
"org.freedesktop.Tracker3.Miner.Files",
NULL,
NULL);
diff --git a/src/tracker3/grl-tracker-source-priv.h b/src/tracker3/grl-tracker-source-priv.h
index 90454c6..caa78d5 100644
--- a/src/tracker3/grl-tracker-source-priv.h
+++ b/src/tracker3/grl-tracker-source-priv.h
@@ -84,5 +84,6 @@ extern GrlTrackerCache *grl_tracker_item_cache;
/* tracker plugin config */
extern gchar *grl_tracker_store_path;
+extern gchar *grl_tracker_miner_service;
#endif /* _GRL_TRACKER_SOURCE_PRIV_H_ */
diff --git a/src/tracker3/grl-tracker-source-statements.c b/src/tracker3/grl-tracker-source-statements.c
index 157f906..10afc5d 100644
--- a/src/tracker3/grl-tracker-source-statements.c
+++ b/src/tracker3/grl-tracker-source-statements.c
@@ -223,7 +223,10 @@ create_query_string (GrlTrackerQueryType type,
merged_list = get_all_keys (keys, options);
/* Remote miner-fs bits */
- g_string_append (str, "SERVICE <dbus:" MINER_FS_BUS_NAME "> { ");
+ g_string_append_printf (str, "SERVICE <dbus:%s> { ",
+ grl_tracker_miner_service ?
+ grl_tracker_miner_service :
+ MINER_FS_BUS_NAME);
/* Make a subquery so we can apply limit and offset */
g_string_append (str, "SELECT ?mediaType ?urn ");
diff --git a/src/tracker3/grl-tracker.c b/src/tracker3/grl-tracker.c
index cab9e45..a07dbd2 100644
--- a/src/tracker3/grl-tracker.c
+++ b/src/tracker3/grl-tracker.c
@@ -56,6 +56,7 @@ GCancellable *grl_tracker_plugin_init_cancel = NULL;
/* tracker plugin config */
gchar *grl_tracker_store_path = NULL;
+gchar *grl_tracker_miner_service = NULL;
/* =================== Tracker Plugin =============== */
@@ -120,6 +121,8 @@ grl_tracker3_plugin_init (GrlRegistry *registry,
grl_tracker_store_path =
grl_config_get_string (config, "store-path");
+ grl_tracker_miner_service =
+ grl_config_get_string (config, "miner-service");
}
grl_tracker_plugin_init_cancel = g_cancellable_new ();