[tracker/libtracker-miner] TrackerMinerProcess: Improve prototype for process_file().



commit e36c749f4b50fb8b8a69c1ce0c5ba9e3458eb29a
Author: Carlos Garnacho <carlos lanedo com>
Date:   Tue Aug 18 15:20:44 2009 +0200

    TrackerMinerProcess: Improve prototype for process_file().

 src/libtracker-miner/tracker-marshal.list    |    1 +
 src/libtracker-miner/tracker-miner-process.c |   15 +++++++++------
 src/libtracker-miner/tracker-miner-process.h |   15 +++++++++------
 3 files changed, 19 insertions(+), 12 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-marshal.list b/src/libtracker-miner/tracker-marshal.list
index f519b71..8f0274b 100644
--- a/src/libtracker-miner/tracker-marshal.list
+++ b/src/libtracker-miner/tracker-marshal.list
@@ -2,4 +2,5 @@ VOID:OBJECT,BOOLEAN
 VOID:OBJECT,OBJECT,BOOLEAN,BOOLEAN
 VOID:UINT,UINT,UINT,UINT
 VOID:STRING,DOUBLE
+BOOL:OBJECT,OBJECT
 BOOL:OBJECT
diff --git a/src/libtracker-miner/tracker-miner-process.c b/src/libtracker-miner/tracker-miner-process.c
index a629dd5..e43a82d 100644
--- a/src/libtracker-miner/tracker-miner-process.c
+++ b/src/libtracker-miner/tracker-miner-process.c
@@ -172,8 +172,8 @@ tracker_miner_process_class_init (TrackerMinerProcessClass *klass)
 			      G_SIGNAL_RUN_LAST,
 			      G_STRUCT_OFFSET (TrackerMinerProcessClass, process_file),
 			      NULL, NULL,
-			      g_cclosure_marshal_VOID__OBJECT,
-			      G_TYPE_NONE, 1, G_TYPE_FILE);
+			      tracker_marshal_BOOLEAN__OBJECT_OBJECT,
+			      G_TYPE_BOOLEAN, 2, G_TYPE_FILE, TRACKER_TYPE_SPARQL_BUILDER);
 	signals[MONITOR_DIRECTORY] =
 		g_signal_new ("monitor-directory",
 			      G_OBJECT_CLASS_TYPE (object_class),
@@ -390,15 +390,18 @@ directory_data_free (DirectoryData *dd)
 static gboolean
 item_queue_handlers_cb (gpointer user_data)
 {
+	TrackerSparqlBuilder *sparql;
 	TrackerMinerProcess *process;
+	gboolean processed;
 	GFile *file;
 
 	process = user_data;
+	sparql = tracker_sparql_builder_new_update ();
 
 	/* Deleted items first */
 	file = g_queue_pop_head (process->private->items_deleted);
 	if (file) {
-		g_signal_emit (process, signals[PROCESS_FILE], 0, file);
+		g_signal_emit (process, signals[PROCESS_FILE], 0, file, sparql, &processed);
 		g_object_unref (file);
 	
 		return TRUE;
@@ -407,7 +410,7 @@ item_queue_handlers_cb (gpointer user_data)
 	/* Created items next */
 	file = g_queue_pop_head (process->private->items_created);
 	if (file) {
-		g_signal_emit (process, signals[PROCESS_FILE], 0, file);
+		g_signal_emit (process, signals[PROCESS_FILE], 0, file, sparql, &processed);
 		g_object_unref (file);
 	
 		return TRUE;
@@ -416,7 +419,7 @@ item_queue_handlers_cb (gpointer user_data)
 	/* Updated items next */
 	file = g_queue_pop_head (process->private->items_updated);
 	if (file) {
-		g_signal_emit (process, signals[PROCESS_FILE], 0, file);
+		g_signal_emit (process, signals[PROCESS_FILE], 0, file, sparql, &processed);
 		g_object_unref (file);
 	
 		return TRUE;
@@ -425,7 +428,7 @@ item_queue_handlers_cb (gpointer user_data)
 	/* Moved items next */
 	file = g_queue_pop_head (process->private->items_moved);
 	if (file) {
-		g_signal_emit (process, signals[PROCESS_FILE], 0, file);
+		g_signal_emit (process, signals[PROCESS_FILE], 0, file, sparql, &processed);
 		g_object_unref (file);
 	
 		return TRUE;
diff --git a/src/libtracker-miner/tracker-miner-process.h b/src/libtracker-miner/tracker-miner-process.h
index b9fa414..0bb6246 100644
--- a/src/libtracker-miner/tracker-miner-process.h
+++ b/src/libtracker-miner/tracker-miner-process.h
@@ -23,6 +23,7 @@
 
 #include <glib-object.h>
 #include <gio/gio.h>
+#include <libtracker-common/tracker-sparql-builder.h>
 
 #include "tracker-miner.h"
 
@@ -34,6 +35,7 @@ G_BEGIN_DECLS
 #define TRACKER_IS_PROCESS(o)              (G_TYPE_CHECK_INSTANCE_TYPE ((o), TRACKER_TYPE_MINER_PROCESS))
 #define TRACKER_IS_PROCESS_CLASS(c)        (G_TYPE_CHECK_CLASS_TYPE ((c),  TRACKER_TYPE_MINER_PROCESS))
 #define TRACKER_MINER_PROCESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TRACKER_TYPE_MINER_PROCESS, TrackerMinerProcessClass))
+
 typedef struct TrackerMinerProcess        TrackerMinerProcess;
 typedef struct TrackerMinerProcessClass   TrackerMinerProcessClass;
 typedef struct TrackerMinerProcessPrivate TrackerMinerProcessPrivate;
@@ -47,14 +49,15 @@ struct TrackerMinerProcessClass {
 	TrackerMinerClass parent;
 
 	gboolean (* check_file)           (TrackerMinerProcess *process,
-					   GFile            *file);
+					   GFile               *file);
 	gboolean (* check_directory)      (TrackerMinerProcess *process,
-					   GFile            *file);
-	void     (* process_file)         (TrackerMinerProcess *process,
-					   GFile            *file);
+					   GFile               *file);
+	gboolean (* process_file)         (TrackerMinerProcess  *process,
+					   GFile                *file,
+					   TrackerSparqlBuilder *builder);
 	gboolean (* monitor_directory)    (TrackerMinerProcess *process,
-					   GFile            *file);
-	
+					   GFile               *file);
+
 	void     (* finished)             (TrackerMinerProcess *process);
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]