[tracker/wip/carlosg/domain-ontologies: 123/124] libtracker-miner: Add connection property to TrackerFileNotifier
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/domain-ontologies: 123/124] libtracker-miner: Add connection property to TrackerFileNotifier
- Date: Thu, 29 Jun 2017 18:49:28 +0000 (UTC)
commit b81553f1765e1200262470edd6800638357d28e7
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Jun 29 16:26:45 2017 +0200
libtracker-miner: Add connection property to TrackerFileNotifier
So it can be specified from the miner.
src/libtracker-miner/tracker-file-notifier.c | 32 ++++++++++++-------
src/libtracker-miner/tracker-file-notifier.h | 3 +-
src/libtracker-miner/tracker-miner-fs.c | 3 +-
tests/libtracker-miner/Makefile.am | 1 +
.../libtracker-miner/tracker-file-notifier-test.c | 13 +++++++-
5 files changed, 37 insertions(+), 15 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-file-notifier.c b/src/libtracker-miner/tracker-file-notifier.c
index 139f44e..495685a 100644
--- a/src/libtracker-miner/tracker-file-notifier.c
+++ b/src/libtracker-miner/tracker-file-notifier.c
@@ -39,7 +39,8 @@ static gboolean force_check_updated = FALSE;
enum {
PROP_0,
PROP_INDEXING_TREE,
- PROP_DATA_PROVIDER
+ PROP_DATA_PROVIDER,
+ PROP_CONNECTION
};
enum {
@@ -130,6 +131,9 @@ tracker_file_notifier_set_property (GObject *object,
case PROP_DATA_PROVIDER:
priv->data_provider = g_value_dup_object (value);
break;
+ case PROP_CONNECTION:
+ priv->connection = g_value_dup_object (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -153,6 +157,9 @@ tracker_file_notifier_get_property (GObject *object,
case PROP_DATA_PROVIDER:
g_value_set_object (value, priv->data_provider);
break;
+ case PROP_CONNECTION:
+ g_value_set_object (value, priv->connection);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1775,6 +1782,14 @@ tracker_file_notifier_class_init (TrackerFileNotifierClass *klass)
TRACKER_TYPE_DATA_PROVIDER,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
+ g_object_class_install_property (object_class,
+ PROP_CONNECTION,
+ g_param_spec_object ("connection",
+ "Connection",
+ "Connection to use for queries",
+ TRACKER_SPARQL_TYPE_CONNECTION,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY));
g_type_class_add_private (object_class,
sizeof (TrackerFileNotifierClass));
@@ -1798,21 +1813,12 @@ static void
tracker_file_notifier_init (TrackerFileNotifier *notifier)
{
TrackerFileNotifierPrivate *priv;
- GError *error = NULL;
priv = notifier->priv =
G_TYPE_INSTANCE_GET_PRIVATE (notifier,
TRACKER_TYPE_FILE_NOTIFIER,
TrackerFileNotifierPrivate);
- priv->connection = tracker_sparql_connection_get (NULL, &error);
-
- if (error) {
- g_warning ("Could not get SPARQL connection: %s\n",
- error->message);
- g_error_free (error);
- }
-
priv->timer = g_timer_new ();
priv->stopped = TRUE;
@@ -1837,14 +1843,16 @@ tracker_file_notifier_init (TrackerFileNotifier *notifier)
}
TrackerFileNotifier *
-tracker_file_notifier_new (TrackerIndexingTree *indexing_tree,
- TrackerDataProvider *data_provider)
+tracker_file_notifier_new (TrackerIndexingTree *indexing_tree,
+ TrackerDataProvider *data_provider,
+ TrackerSparqlConnection *connection)
{
g_return_val_if_fail (TRACKER_IS_INDEXING_TREE (indexing_tree), NULL);
return g_object_new (TRACKER_TYPE_FILE_NOTIFIER,
"indexing-tree", indexing_tree,
"data-provider", data_provider,
+ "connection", connection,
NULL);
}
diff --git a/src/libtracker-miner/tracker-file-notifier.h b/src/libtracker-miner/tracker-file-notifier.h
index e8ef3a6..f267f5f 100644
--- a/src/libtracker-miner/tracker-file-notifier.h
+++ b/src/libtracker-miner/tracker-file-notifier.h
@@ -80,7 +80,8 @@ GType tracker_file_notifier_get_type (void) G_GNUC_CONST;
TrackerFileNotifier *
tracker_file_notifier_new (TrackerIndexingTree *indexing_tree,
- TrackerDataProvider *data_provider);
+ TrackerDataProvider *data_provider,
+ TrackerSparqlConnection *connection);
gboolean tracker_file_notifier_start (TrackerFileNotifier *notifier);
void tracker_file_notifier_stop (TrackerFileNotifier *notifier);
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index c917249..2944090 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -708,7 +708,8 @@ miner_fs_initable_init (GInitable *initable,
/* Create the file notifier */
priv->file_notifier = tracker_file_notifier_new (priv->indexing_tree,
- priv->data_provider);
+ priv->data_provider,
+ tracker_miner_get_connection (TRACKER_MINER
(initable)));
if (!priv->file_notifier) {
g_set_error (error,
diff --git a/tests/libtracker-miner/Makefile.am b/tests/libtracker-miner/Makefile.am
index b8447fb..062d261 100644
--- a/tests/libtracker-miner/Makefile.am
+++ b/tests/libtracker-miner/Makefile.am
@@ -31,6 +31,7 @@ AM_CPPFLAGS = \
-DLIBEXEC_PATH=\""$(libexecdir)"\" \
-DTEST_DATA_DIR=\""$(abs_top_srcdir)/tests/libtracker-miner/data"\" \
-DTEST_MINERS_DIR=\""$(abs_top_srcdir)/tests/libtracker-miner/mock-miners"\" \
+ -DTEST_ONTOLOGIES_DIR=\""$(abs_top_srcdir)/src/ontologies/nepomuk"\" \
-I$(top_srcdir)/src \
-I$(top_builddir)/src \
-I$(top_srcdir)/tests/common \
diff --git a/tests/libtracker-miner/tracker-file-notifier-test.c
b/tests/libtracker-miner/tracker-file-notifier-test.c
index 20825f5..17ae3d8 100644
--- a/tests/libtracker-miner/tracker-file-notifier-test.c
+++ b/tests/libtracker-miner/tracker-file-notifier-test.c
@@ -43,6 +43,7 @@ typedef struct {
GFile *test_file;
gchar *test_path;
+ TrackerSparqlConnection *connection;
TrackerIndexingTree *indexing_tree;
GMainLoop *main_loop;
@@ -261,12 +262,20 @@ static void
test_common_context_setup (TestCommonContext *fixture,
gconstpointer data)
{
+ GFile *data_loc, *ontology;
+ GError *error = NULL;
+
fixture->test_path = g_build_filename (g_get_tmp_dir (),
"tracker-test-XXXXXX",
NULL);
fixture->test_path = g_mkdtemp (fixture->test_path);
fixture->test_file = g_file_new_for_path (fixture->test_path);
+ data_loc = g_file_get_child (fixture->test_file, ".data");
+ ontology = g_file_new_for_path (TEST_ONTOLOGIES_DIR);
+ fixture->connection = tracker_sparql_connection_local_new (0, data_loc, data_loc, ontology, NULL,
&error);
+ g_assert_no_error (error);
+
fixture->ops = NULL;
/* Create basic folders within the test location */
@@ -278,7 +287,8 @@ test_common_context_setup (TestCommonContext *fixture,
tracker_indexing_tree_set_filter_hidden (fixture->indexing_tree, TRUE);
fixture->main_loop = g_main_loop_new (NULL, FALSE);
- fixture->notifier = tracker_file_notifier_new (fixture->indexing_tree, FALSE);
+ fixture->notifier = tracker_file_notifier_new (fixture->indexing_tree, FALSE,
+ fixture->connection);
g_signal_connect (fixture->notifier, "file-created",
G_CALLBACK (file_notifier_file_created_cb), fixture);
@@ -317,6 +327,7 @@ test_common_context_teardown (TestCommonContext *fixture,
g_free (fixture->test_path);
}
+ g_clear_object (&fixture->connection);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]