[tracker/libtracker-miner] Add API for specifying which files/dirs should TrackerMinerCrawler process.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker/libtracker-miner] Add API for specifying which files/dirs should TrackerMinerCrawler process.
- Date: Fri, 31 Jul 2009 13:58:11 +0000 (UTC)
commit 51ee297525fe3ec02045998c68d7cd7dc257440a
Author: Carlos Garnacho <carlos lanedo com>
Date: Fri Jul 31 15:48:49 2009 +0200
Add API for specifying which files/dirs should TrackerMinerCrawler process.
At the moment there are some empty stubs, depending on the changes to
TrackerProcessor.
src/libtracker-miner/tracker-miner-crawler.c | 45 ++++++++++++++++++++++++++
src/libtracker-miner/tracker-miner-crawler.h | 9 +++++
2 files changed, 54 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-crawler.c b/src/libtracker-miner/tracker-miner-crawler.c
index 1a6aeb1..65edcd4 100644
--- a/src/libtracker-miner/tracker-miner-crawler.c
+++ b/src/libtracker-miner/tracker-miner-crawler.c
@@ -29,11 +29,20 @@
#define TRACKER_MINER_CRAWLER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRACKER_TYPE_MINER_CRAWLER, TrackerMinerCrawlerPrivate))
typedef struct TrackerMinerCrawlerPrivate TrackerMinerCrawlerPrivate;
+typedef struct DirectoryData DirectoryData;
+
+struct DirectoryData {
+ GFile *dir;
+ guint monitor : 1;
+ guint recurse : 1;
+};
struct TrackerMinerCrawlerPrivate {
TrackerConfig *config;
TrackerStorage *storage;
TrackerProcessor *processor;
+
+ GArray *dirs;
};
static void tracker_miner_crawler_finalize (GObject *object);
@@ -73,6 +82,8 @@ tracker_miner_crawler_init (TrackerMinerCrawler *miner)
priv->storage = tracker_storage_new ();
priv->processor = tracker_processor_new (priv->config, priv->storage);
+
+ priv->dirs = g_array_new (FALSE, TRUE, sizeof (DirectoryData));
}
static void
@@ -92,3 +103,37 @@ tracker_miner_crawler_started (TrackerMiner *miner)
tracker_processor_start (priv->processor);
}
+
+/* Public API */
+void
+tracker_miner_crawler_add_directory (TrackerMinerCrawler *miner,
+ const gchar *directory_uri,
+ gboolean monitor,
+ gboolean recurse)
+{
+ TrackerMinerCrawlerPrivate *priv;
+ DirectoryData dir_data;
+
+ g_return_if_fail (TRACKER_IS_MINER_CRAWLER (miner));
+ g_return_if_fail (directory_uri != NULL);
+
+ priv = miner->_priv;
+
+ dir_data.dir = g_file_new_for_uri (directory_uri);
+ dir_data.monitor = (monitor == TRUE);
+ dir_data.recurse = (recurse == TRUE);
+
+ g_array_append_val (priv->dirs, dir_data);
+}
+
+void
+tracker_miner_crawler_set_ignore_directory_patterns (TrackerMinerCrawler *miner,
+ GList *patterns)
+{
+}
+
+void
+tracker_miner_crawler_set_ignore_file_patterns (TrackerMinerCrawler *miner,
+ GList *patterns)
+{
+}
diff --git a/src/libtracker-miner/tracker-miner-crawler.h b/src/libtracker-miner/tracker-miner-crawler.h
index b435cb4..6d76cf5 100644
--- a/src/libtracker-miner/tracker-miner-crawler.h
+++ b/src/libtracker-miner/tracker-miner-crawler.h
@@ -50,6 +50,15 @@ struct TrackerMinerCrawlerClass {
GType tracker_miner_crawler_get_type (void) G_GNUC_CONST;
+void tracker_miner_crawler_add_directory (TrackerMinerCrawler *miner,
+ const gchar *directory_uri,
+ gboolean monitor,
+ gboolean recurse);
+
+void tracker_miner_crawler_set_ignore_directory_patterns (TrackerMinerCrawler *miner,
+ GList *patterns);
+void tracker_miner_crawler_set_ignore_file_patterns (TrackerMinerCrawler *miner,
+ GList *patterns);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]