tracker r2626 - in branches/turtle: . data/dbus src/tracker-indexer



Author: ifrade
Date: Mon Dec  1 15:09:32 2008
New Revision: 2626
URL: http://svn.gnome.org/viewvc/tracker?rev=2626&view=rev

Log:
Added restore_backup method in the indexer's DBus API

Modified:
   branches/turtle/ChangeLog
   branches/turtle/data/dbus/tracker-indexer.xml
   branches/turtle/src/tracker-indexer/tracker-indexer.c
   branches/turtle/src/tracker-indexer/tracker-indexer.h

Modified: branches/turtle/data/dbus/tracker-indexer.xml
==============================================================================
--- branches/turtle/data/dbus/tracker-indexer.xml	(original)
+++ branches/turtle/data/dbus/tracker-indexer.xml	Mon Dec  1 15:09:32 2008
@@ -74,6 +74,11 @@
       <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
     </method>
 
+    <method name="RestoreBackup">
+      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
+      <arg type="s" name="backup_file" direction="in" />
+    </method>
+
     <!-- Signals --> 
     <signal name="Status">
       <arg type="d" name="elapsed_time" />

Modified: branches/turtle/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/turtle/src/tracker-indexer/tracker-indexer.c	(original)
+++ branches/turtle/src/tracker-indexer/tracker-indexer.c	Mon Dec  1 15:09:32 2008
@@ -70,6 +70,7 @@
 
 #include <libtracker-data/tracker-data-query.h>
 #include <libtracker-data/tracker-data-update.h>
+#include <libtracker-data/tracker-turtle.h>
 
 #include "tracker-indexer.h"
 #include "tracker-indexer-module.h"
@@ -2409,7 +2410,7 @@
 			/* Signal stopped and clean up */
 			check_stopped (indexer, FALSE);
 			check_disk_space_stop (indexer);
-
+			
 			return FALSE;
 		}
 
@@ -2964,6 +2965,42 @@
 	tracker_dbus_request_success (request_id);
 }
 
+static void
+restore_backup_triple (void *user_data, const stmt *triple) {
+
+	g_debug ("turtle loading <%s, %s, %s>\n",
+                 (gchar *)triple->subject, 
+                 (gchar *)triple->predicate, 
+                 (gchar *)triple->object);
+	
+	
+}
+
+void
+tracker_indexer_restore_backup (TrackerIndexer         *indexer,
+				const gchar            *backup_file,
+				DBusGMethodInvocation  *context,
+				GError                **error)
+{
+	guint request_id;
+
+	tracker_dbus_async_return_if_fail (TRACKER_IS_INDEXER (indexer), context);
+
+	request_id = tracker_dbus_get_next_request_id ();
+	tracker_dbus_request_new (request_id,
+				  "DBus request to restore backup data from '%s'",
+				  backup_file);
+	
+	tracker_turtle_process (backup_file, 
+				"/", 
+				(TurtleTripleCallback) restore_backup_triple, 
+				NULL);
+
+	dbus_g_method_return (context);
+	tracker_dbus_request_success (request_id);
+}
+
+
 void
 tracker_indexer_shutdown (TrackerIndexer	 *indexer,
 			  DBusGMethodInvocation  *context,

Modified: branches/turtle/src/tracker-indexer/tracker-indexer.h
==============================================================================
--- branches/turtle/src/tracker-indexer/tracker-indexer.h	(original)
+++ branches/turtle/src/tracker-indexer/tracker-indexer.h	Mon Dec  1 15:09:32 2008
@@ -141,6 +141,10 @@
 						     GStrv                   values,
 						     DBusGMethodInvocation  *context,
 						     GError                **error);
+void            tracker_indexer_restore_backup      (TrackerIndexer         *indexer,
+						     const gchar            *backup_file,
+						     DBusGMethodInvocation  *context,
+						     GError                **error);
 void            tracker_indexer_shutdown            (TrackerIndexer         *indexer,
 						     DBusGMethodInvocation  *context,
 						     GError                **error);



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