[tracker-miners/wip/carlosg/tracker-3.0-api-breaks: 19/25] tracker-miner-fs: Propagate domain through TrackerMinerFiles
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker-miners/wip/carlosg/tracker-3.0-api-breaks: 19/25] tracker-miner-fs: Propagate domain through TrackerMinerFiles
- Date: Tue, 14 Jan 2020 17:41:17 +0000 (UTC)
commit 18acd70f4684822b7e39c34bb98654ea17e4d549
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Dec 31 02:20:32 2019 +0100
tracker-miner-fs: Propagate domain through TrackerMinerFiles
Set it as a property, so it can be fetched from the tracker-extract
watchdog.
src/miners/fs/tracker-extract-watchdog.c | 24 +++++++++++++++---------
src/miners/fs/tracker-extract-watchdog.h | 2 +-
src/miners/fs/tracker-main.c | 3 ++-
src/miners/fs/tracker-miner-files.c | 23 +++++++++++++++++++++--
src/miners/fs/tracker-miner-files.h | 1 +
5 files changed, 40 insertions(+), 13 deletions(-)
---
diff --git a/src/miners/fs/tracker-extract-watchdog.c b/src/miners/fs/tracker-extract-watchdog.c
index 81166b921..21d069776 100644
--- a/src/miners/fs/tracker-extract-watchdog.c
+++ b/src/miners/fs/tracker-extract-watchdog.c
@@ -33,6 +33,7 @@ static guint signals[N_SIGNALS] = { 0, };
struct _TrackerExtractWatchdog {
GObject parent_class;
+ gchar *domain;
guint extractor_watchdog_id;
gboolean initializing;
};
@@ -95,13 +96,12 @@ static void
extract_watchdog_start (TrackerExtractWatchdog *watchdog,
gboolean autostart)
{
- gchar *domain_name, *tracker_extract_dbus_name;
+ const gchar *domain_name = watchdog->domain;
+ gchar *tracker_extract_dbus_name;
g_debug ("Setting up watch on tracker-extract (autostart: %s)",
autostart ? "yes" : "no");
- domain_name = tracker_sparql_connection_get_domain ();
-
if (domain_name == NULL) {
tracker_extract_dbus_name = g_strdup (TRACKER_MINER_DBUS_NAME_PREFIX "Extract");
} else {
@@ -119,7 +119,6 @@ extract_watchdog_start (TrackerExtractWatchdog *watchdog,
watchdog, NULL);
g_free (tracker_extract_dbus_name);
- g_free (domain_name);
}
static void
@@ -128,6 +127,7 @@ tracker_extract_watchdog_finalize (GObject *object)
TrackerExtractWatchdog *watchdog = TRACKER_EXTRACT_WATCHDOG (object);
extract_watchdog_stop (watchdog);
+ g_free (watchdog->domain);
G_OBJECT_CLASS (tracker_extract_watchdog_parent_class)->finalize (object);
}
@@ -149,15 +149,21 @@ tracker_extract_watchdog_class_init (TrackerExtractWatchdogClass *klass)
static void
tracker_extract_watchdog_init (TrackerExtractWatchdog *watchdog)
{
- watchdog->initializing = TRUE;
- extract_watchdog_start (watchdog, FALSE);
}
TrackerExtractWatchdog *
-tracker_extract_watchdog_new (void)
+tracker_extract_watchdog_new (const gchar *domain)
{
- return g_object_new (TRACKER_TYPE_EXTRACT_WATCHDOG,
- NULL);
+ TrackerExtractWatchdog *watchdog;
+
+ watchdog = g_object_new (TRACKER_TYPE_EXTRACT_WATCHDOG,
+ NULL);
+
+ watchdog->initializing = TRUE;
+ watchdog->domain = g_strdup (domain);
+ extract_watchdog_start (watchdog, FALSE);
+
+ return watchdog;
}
void
diff --git a/src/miners/fs/tracker-extract-watchdog.h b/src/miners/fs/tracker-extract-watchdog.h
index 28c2b637e..906ad0d36 100644
--- a/src/miners/fs/tracker-extract-watchdog.h
+++ b/src/miners/fs/tracker-extract-watchdog.h
@@ -31,7 +31,7 @@ G_DECLARE_FINAL_TYPE (TrackerExtractWatchdog,
TRACKER, EXTRACT_WATCHDOG,
GObject)
-TrackerExtractWatchdog * tracker_extract_watchdog_new (void);
+TrackerExtractWatchdog * tracker_extract_watchdog_new (const gchar *domain);
void tracker_extract_watchdog_ensure_started (TrackerExtractWatchdog *watchdog);
diff --git a/src/miners/fs/tracker-main.c b/src/miners/fs/tracker-main.c
index 67bf6a7fe..d284d232d 100644
--- a/src/miners/fs/tracker-main.c
+++ b/src/miners/fs/tracker-main.c
@@ -918,7 +918,8 @@ main (gint argc, gchar *argv[])
}
/* Create new TrackerMinerFiles object */
- miner_files = tracker_miner_files_new (sparql_conn, config, &error);
+ miner_files = tracker_miner_files_new (sparql_conn, config,
+ domain_ontology_name, &error);
if (!miner_files) {
g_critical ("Couldn't create new Files miner: '%s'",
error ? error->message : "unknown error");
diff --git a/src/miners/fs/tracker-miner-files.c b/src/miners/fs/tracker-miner-files.c
index f32e69bf2..a9b53c3d7 100644
--- a/src/miners/fs/tracker-miner-files.c
+++ b/src/miners/fs/tracker-miner-files.c
@@ -84,6 +84,8 @@ struct TrackerMinerFilesPrivate {
GSList *index_recursive_directories;
GSList *index_single_directories;
+ gchar *domain;
+
guint disk_space_check_id;
gboolean disk_space_pause;
@@ -132,7 +134,8 @@ enum {
enum {
PROP_0,
- PROP_CONFIG
+ PROP_CONFIG,
+ PROP_DOMAIN,
};
enum {
@@ -385,6 +388,13 @@ tracker_miner_files_class_init (TrackerMinerFilesClass *klass)
"Config",
TRACKER_TYPE_CONFIG,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class,
+ PROP_DOMAIN,
+ g_param_spec_string ("domain",
+ "Domain",
+ "Domain",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
miner_files_error_quark = g_quark_from_static_string ("TrackerMinerFiles");
}
@@ -814,7 +824,7 @@ miner_files_initable_init (GInitable *initable,
disk_space_check_start (mf);
- mf->private->extract_watchdog = tracker_extract_watchdog_new ();
+ mf->private->extract_watchdog = tracker_extract_watchdog_new (mf->private->domain);
g_signal_connect (mf->private->extract_watchdog, "lost",
G_CALLBACK (on_extractor_lost), mf);
@@ -837,6 +847,9 @@ miner_files_set_property (GObject *object,
case PROP_CONFIG:
priv->config = g_value_dup_object (value);
break;
+ case PROP_DOMAIN:
+ priv->domain = g_value_dup_string (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -857,6 +870,9 @@ miner_files_get_property (GObject *object,
case PROP_CONFIG:
g_value_set_object (value, priv->config);
break;
+ case PROP_DOMAIN:
+ g_value_set_string (value, priv->domain);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -875,6 +891,7 @@ miner_files_finalize (GObject *object)
g_cancellable_cancel (priv->extract_check_cancellable);
g_object_unref (priv->extract_check_cancellable);
g_free (priv->extract_check_query);
+ g_free (priv->domain);
if (priv->grace_period_timeout_id != 0) {
g_source_remove (priv->grace_period_timeout_id);
@@ -2915,6 +2932,7 @@ miner_files_move_file (TrackerMinerFS *fs,
TrackerMiner *
tracker_miner_files_new (TrackerSparqlConnection *connection,
TrackerConfig *config,
+ const gchar *domain,
GError **error)
{
return g_initable_new (TRACKER_TYPE_MINER_FILES,
@@ -2923,6 +2941,7 @@ tracker_miner_files_new (TrackerSparqlConnection *connection,
"connection", connection,
"root", NULL,
"config", config,
+ "domain", domain,
"processing-pool-wait-limit", 10,
"processing-pool-ready-limit", 100,
NULL);
diff --git a/src/miners/fs/tracker-miner-files.h b/src/miners/fs/tracker-miner-files.h
index 62f77289d..648c025cd 100644
--- a/src/miners/fs/tracker-miner-files.h
+++ b/src/miners/fs/tracker-miner-files.h
@@ -50,6 +50,7 @@ GType tracker_miner_files_get_type (void) G_GNUC_CONST;
TrackerMiner *tracker_miner_files_new (TrackerSparqlConnection *connection,
TrackerConfig *config,
+ const gchar *domain,
GError **error);
/* Convenience functions for --eligible tracker-miner-fs cmdline */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]