tracker r2632 - in branches/turtle: . src/trackerd



Author: ifrade
Date: Mon Dec  1 16:13:22 2008
New Revision: 2632
URL: http://svn.gnome.org/viewvc/tracker?rev=2632&view=rev

Log:
Calling restore_backup in the indexer after second Finished signal

Modified:
   branches/turtle/ChangeLog
   branches/turtle/src/trackerd/tracker-backup.c
   branches/turtle/src/trackerd/tracker-backup.h
   branches/turtle/src/trackerd/tracker-main.c

Modified: branches/turtle/src/trackerd/tracker-backup.c
==============================================================================
--- branches/turtle/src/trackerd/tracker-backup.c	(original)
+++ branches/turtle/src/trackerd/tracker-backup.c	Mon Dec  1 16:13:22 2008
@@ -107,18 +107,3 @@
 	}
 }
 
-static void 
-loading_turtle (void *user_data, const stmt *triple) 
-{
-}
-
-void 
-tracker_backup_restore ()
-{
-	gchar *base_uri;
-	g_message ("***** Restoring metadata from turtle file *****");
-	base_uri = g_strdup_printf ("file://%s", TODO_TEMPORARY_LOCATION);
-	tracker_turtle_process (TODO_TEMPORARY_LOCATION, base_uri, loading_turtle, NULL);
-	g_free (base_uri);
-}
-

Modified: branches/turtle/src/trackerd/tracker-backup.h
==============================================================================
--- branches/turtle/src/trackerd/tracker-backup.h	(original)
+++ branches/turtle/src/trackerd/tracker-backup.h	Mon Dec  1 16:13:22 2008
@@ -24,6 +24,5 @@
 #include <glib.h>
 
 void tracker_backup_save (void);
-void tracker_backup_restore (void);
 
 #endif /* __TRACKER_BACKUP_H__ */

Modified: branches/turtle/src/trackerd/tracker-main.c
==============================================================================
--- branches/turtle/src/trackerd/tracker-main.c	(original)
+++ branches/turtle/src/trackerd/tracker-main.c	Mon Dec  1 16:13:22 2008
@@ -747,15 +747,29 @@
 	return FALSE;
 }
 
+
+/*
+ * TODO: Ugly hack counting signals because the indexer is sending two "Finished" signals
+ *  and only the second really mean "finished processing modules".
+ */
 static void
 crawling_finished_cb (TrackerProcessor *processor, gpointer user_data)
 {
 	gulong *callback_id = (gulong *)user_data;
+	GError *error;
+	static gint counter = 0;
+	
+	counter += 1;
 
-	g_debug ("Uninstalling initial crawling callback");
-	g_signal_handler_disconnect (processor, *callback_id);
-
-	tracker_backup_restore ();
+	if (counter >= 2) {
+		g_debug ("Uninstalling initial crawling callback");
+		g_signal_handler_disconnect (processor, *callback_id);
+		org_freedesktop_Tracker_Indexer_restore_backup (tracker_dbus_indexer_get_proxy (), 
+								"/tmp/tracker-saving-things.ttl",
+								&error);
+	} else {
+		g_debug ("%d finished signal", counter);
+	}
 }
 
 gint
@@ -1075,7 +1089,6 @@
 						&callback_id);
 	}
 
-
 	if (tracker_status_get_is_running ()) {
 		private->main_loop = g_main_loop_new (NULL, FALSE);
 		g_main_loop_run (private->main_loop);



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