[tracker/tracker-store-queue] Ported the Push modules to the TrackerStoreQueue API



commit a3cb7919fe3f7a1c1731bec9b571b96696a4c0b5
Author: Philip Van Hoof <philip codeminded be>
Date:   Thu May 21 13:44:53 2009 +0200

    Ported the Push modules to the TrackerStoreQueue API
    
    This removes the RSS plugin as this was unused, and in future we
    probably want to provide a generic Nepomuk based push module, which a
    future RSS metadata deliverer should use.
---
 configure.ac                                       |   11 +-
 src/plugins/Makefile.am                            |    4 -
 .../evolution/tracker-evolution-registrar.c        |  170 ++++----
 src/plugins/kmail/tracker-kmail-registrar.c        |  147 ++++----
 src/plugins/rss/Makefile.am                        |   47 ---
 src/plugins/rss/tracker-rss-common.h               |   64 ---
 src/plugins/rss/tracker-rss-registrar.c            |  429 --------------------
 src/plugins/rss/tracker-rss-registrar.h            |   94 -----
 src/plugins/rss/tracker-rss-registrar.xml          |   39 --
 src/tracker-store/tracker-resources.c              |    2 -
 src/tracker-store/tracker-store-queue.h            |    2 +
 11 files changed, 171 insertions(+), 838 deletions(-)

diff --git a/configure.ac b/configure.ac
index 7ecc7be..45a517c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -621,23 +621,17 @@ AM_CONDITIONAL(HAVE_UNAC, test "x$have_unac" = "xyes")
 AC_ARG_ENABLE([evolution_push_module],
               AS_HELP_STRING([--enable-evolution-push-module],
                              [enable support for Evolution push mechanism [[default=no]]]),,
-              [enable_evolution_push_module=no])
+              [enable_evolution_push_module=yes])
 
 AM_CONDITIONAL(USING_EVOLUTION_PUSH_MODULE, test "x$enable_evolution_push_module" = "xyes")
 
 AC_ARG_ENABLE([kmail_push_module],
               AS_HELP_STRING([--enable-kmail-push-module],
                              [enable support for KMail push mechanism [[default=no]]]),,
-              [enable_kmail_push_module=no])
+              [enable_kmail_push_module=yes])
 
 AM_CONDITIONAL(USING_KMAIL_PUSH_MODULE, test "x$enable_kmail_push_module" = "xyes")
 
-AC_ARG_ENABLE([rss_push_module],
-              AS_HELP_STRING([--enable-rss-push-module],
-                             [enable support for RSS push mechanism [[default=no]]]),,
-              [enable_rss_push_module=no])
-
-AM_CONDITIONAL(USING_RSS_PUSH_MODULE, test "x$enable_rss_push_module" = "xyes")
 
 ####################################################################
 # Deskbar Applet Handler/Module
@@ -1446,7 +1440,6 @@ Plugins:
 	Evolution extracter (data-pull):	yes (old)
 	Evolution plugin    (data-push):	$have_evolution_plugin
 	KMail plugin        (data-push):	$enable_kmail_push_module
-	RSS plugin          (data-push):	$enable_rss_push_module
 
 Warning:
 
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index af4c736..6242287 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -2,10 +2,6 @@ include $(top_srcdir)/Makefile.decl
 
 SUBDIRS = .
 
-if USING_RSS_PUSH_MODULE
-SUBDIRS += rss
-endif
-
 if USING_KMAIL_PUSH_MODULE
 SUBDIRS += kmail
 endif
diff --git a/src/plugins/evolution/tracker-evolution-registrar.c b/src/plugins/evolution/tracker-evolution-registrar.c
index 8dc72c7..1683780 100644
--- a/src/plugins/evolution/tracker-evolution-registrar.c
+++ b/src/plugins/evolution/tracker-evolution-registrar.c
@@ -28,12 +28,11 @@
 #include <glib-object.h>
 #include <dbus/dbus-glib-bindings.h>
 
-#include <libtracker-data/tracker-data-update.h>
 #include <libtracker-data/tracker-data-manager.h>
-#include <libtracker-data/tracker-data-query.h>
 #include <libtracker-common/tracker-ontology.h>
 
 #include <tracker-store/tracker-push-registrar.h>
+#include <tracker-store/tracker-store-queue.h>
 
 #define __TRACKER_EVOLUTION_REGISTRAR_C__
 
@@ -45,7 +44,7 @@
 #define TRACKER_TYPE_EVOLUTION_PUSH_REGISTRAR    (tracker_evolution_push_registrar_get_type ())
 #define TRACKER_EVOLUTION_PUSH_REGISTRAR(module) (G_TYPE_CHECK_INSTANCE_CAST ((module), TRACKER_TYPE_EVOLUTION_PUSH_REGISTRAR, TrackerEvolutionPushRegistrar))
 
-#define TRANSACTION_MAX 200
+#define TRANSACTION_MAX TRACKER_STORE_TRANSACTION_MAX
 
 #define NIE_DATASOURCE 			       TRACKER_NIE_PREFIX "DataSource"
 #define NIE_DATASOURCE_P 		       TRACKER_NIE_PREFIX "dataSource"
@@ -191,13 +190,13 @@ extract_mime_parts (GMimeObject *object,
 		subject = g_strdup_printf ("%s/%s", message_subject, 
 					   filename);
 
-		tracker_data_insert_statement (subject, 
-					       "File:Path", 
-					       filename);
+		data_insert_statement (subject, 
+		                      "File:Path", 
+				       filename);
 
-		tracker_data_insert_statement (subject, 
-					       "File:Name", 
-					       filename);
+		data_insert_statement (subject, 
+		                       "File:Name", 
+		                       filename);
 
 		g_free (subject);
 	}
@@ -271,6 +270,21 @@ get_email_and_fullname (const gchar *line, gchar **email, gchar **fullname)
 }
 
 static void
+data_insert_statement (const gchar *subject, 
+		       const gchar *predicate,
+		       const gchar *object)
+{
+	gchar *update = g_strdup_printf ("INSERT { <%s> %s \"%s\"",
+					 subject, 
+					 predicate,
+					 object);
+
+	tracker_store_queue_batch_sparql_update (update, NULL, NULL, NULL);
+
+	g_free (update);
+}
+
+static void
 perform_set (TrackerEvolutionRegistrar *object, 
 	     const gchar *subject, 
 	     const GStrv predicates, 
@@ -278,19 +292,17 @@ perform_set (TrackerEvolutionRegistrar *object,
 {
 	guint i = 0;
 
-	if (!tracker_data_query_resource_exists (DATASOURCE_URN, NULL, NULL)) {
-		tracker_data_insert_statement (DATASOURCE_URN, RDF_PREFIX "type",
-					       NIE_DATASOURCE);
-	}
+	data_insert_statement (DATASOURCE_URN, RDF_PREFIX "type",
+			       NIE_DATASOURCE);
 
-	tracker_data_insert_statement (subject, RDF_PREFIX "type",
-		                       NMO_PREFIX "Email");
+	data_insert_statement (subject, RDF_PREFIX "type",
+	                       NMO_PREFIX "Email");
 
-	tracker_data_insert_statement (subject, RDF_PREFIX "type",
-		                       NMO_PREFIX "MailboxDataObject");
+	data_insert_statement (subject, RDF_PREFIX "type",
+	                       NMO_PREFIX "MailboxDataObject");
 
-	tracker_data_insert_statement (subject, NIE_DATASOURCE_P,
-		                       DATASOURCE_URN);
+	data_insert_statement (subject, NIE_DATASOURCE_P,
+	                       DATASOURCE_URN);
 
 	while (predicates [i] != NULL && values[i] != NULL) {
 
@@ -376,9 +388,9 @@ perform_set (TrackerEvolutionRegistrar *object,
 				} else
 					text = orig_text;
 
-				tracker_data_insert_statement (subject, 
-							       METADATA_EMAIL_TEXT, 
-							       text);
+				data_insert_statement (subject, 
+				                       METADATA_EMAIL_TEXT, 
+				                       text);
 
 				g_free (text);
 				g_free (encoding);
@@ -404,83 +416,83 @@ perform_set (TrackerEvolutionRegistrar *object,
 				value++;
 			}
 
-			tracker_data_insert_statement (":1", RDF_PREFIX "type",
-			                               NAO_PREFIX "Property");
+			data_insert_statement (":1", RDF_PREFIX "type",
+			                       NAO_PREFIX "Property");
 
-			tracker_data_insert_statement (":1", 
-			                               NAO_PREFIX "propertyName",
-			                               key);
+			data_insert_statement (":1", 
+			                       NAO_PREFIX "propertyName",
+			                       key);
 
-			tracker_data_insert_statement (":1", 
-			                               NAO_PREFIX "propertyValue",
-			                               value);
+			data_insert_statement (":1", 
+			                       NAO_PREFIX "propertyValue",
+			                       value);
 
-			tracker_data_insert_statement (subject, 
-			                               NAO_PREFIX "hasProperty", 
-			                               ":1");
+			data_insert_statement (subject, 
+			                       NAO_PREFIX "hasProperty", 
+			                       ":1");
 
 			g_free (key);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_EVOLUTION_PREDICATE_SUBJECT) == 0) {
-			tracker_data_insert_statement (subject,
-						       TRACKER_NMO_PREFIX "messageSubject", 
-						       values[i]);
+			data_insert_statement (subject,
+			                       TRACKER_NMO_PREFIX "messageSubject", 
+			                       values[i]);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_EVOLUTION_PREDICATE_SENT) == 0) {
-			tracker_data_insert_statement (subject,
-						       TRACKER_NMO_PREFIX "receivedDate", 
-						       values[i]);
+			data_insert_statement (subject,
+			                       TRACKER_NMO_PREFIX "receivedDate", 
+			                       values[i]);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_EVOLUTION_PREDICATE_FROM) == 0) {
 			gchar *email_uri, *email = NULL, *fullname = NULL;
-			tracker_data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
+			data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
 			get_email_and_fullname (values[i], &email, &fullname);
 			if (fullname) {
-				tracker_data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
+				data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
 				g_free (fullname);
 			}
 			email_uri = tracker_uri_printf_escaped ("mailto:%s";, email); 
-			tracker_data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
-			tracker_data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
-			tracker_data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
-			tracker_data_insert_statement (subject, NMO_PREFIX "from", ":1");
+			data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
+			data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
+			data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
+			data_insert_statement (subject, NMO_PREFIX "from", ":1");
 			g_free (email_uri);
 			g_free (email);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_EVOLUTION_PREDICATE_TO) == 0) {
 			gchar *email_uri, *email = NULL, *fullname = NULL;
-			tracker_data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
+			data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
 			get_email_and_fullname (values[i], &email, &fullname);
 			if (fullname) {
-				tracker_data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
+				data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
 				g_free (fullname);
 			}
 			email_uri = tracker_uri_printf_escaped ("mailto:%s";, email); 
-			tracker_data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
-			tracker_data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
-			tracker_data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
-			tracker_data_insert_statement (subject, NMO_PREFIX "to", ":1");
+			data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
+			data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
+			data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
+			data_insert_statement (subject, NMO_PREFIX "to", ":1");
 			g_free (email_uri);
 			g_free (email);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_EVOLUTION_PREDICATE_CC) == 0) {
 			gchar *email_uri, *email = NULL, *fullname = NULL;
-			tracker_data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
+			data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
 			get_email_and_fullname (values[i], &email, &fullname);
 			if (fullname) {
-				tracker_data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
+				data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
 				g_free (fullname);
 			}
 			email_uri = tracker_uri_printf_escaped ("mailto:%s";, email); 
-			tracker_data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
-			tracker_data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
-			tracker_data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
-			tracker_data_insert_statement (subject, NMO_PREFIX "cc", ":1");
+			data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
+			data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
+			data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
+			data_insert_statement (subject, NMO_PREFIX "cc", ":1");
 			g_free (email_uri);
 			g_free (email);
 		}
@@ -494,22 +506,24 @@ perform_set (TrackerEvolutionRegistrar *object,
 
 static void 
 perform_unset (TrackerEvolutionRegistrar *object, 
-	       const gchar *subject)
+	       const gchar *subject, gboolean batch)
 {
-	tracker_data_delete_resource (subject); 
+	gchar *sparql = g_strdup_printf ("DELETE { <%s> a rdfs:Resource }", subject);
+
+	if (batch) {
+		tracker_store_queue_sparql_update (sparql, NULL, NULL, NULL);
+	} else {
+		tracker_store_queue_batch_sparql_update (sparql, NULL, NULL, NULL);
+	}
+
+	g_free (sparql);
 }
 
 static void
 perform_cleanup (TrackerEvolutionRegistrar *object)
 {
-	GError *error = NULL;
-
-	tracker_data_update_sparql ("DELETE { ?s ?p ?o } WHERE { ?s nie:dataSource <" DATASOURCE_URN "> }", &error);
-
-	if (error) {
-		g_warning ("%s", error->message);
-		g_error_free (error);
-	}
+	tracker_store_queue_sparql_update ("DELETE { ?s ?p ?o } WHERE { ?s nie:dataSource <" DATASOURCE_URN "> }",
+	                                   NULL, NULL, NULL);
 }
 
 static void
@@ -540,6 +554,8 @@ tracker_evolution_registrar_set (TrackerEvolutionRegistrar *object,
 
 	set_stored_last_modseq (modseq);
 
+	tracker_store_queue_batch_commit (NULL, NULL, NULL);
+
 	dbus_g_method_return (context);
 }
 
@@ -564,8 +580,6 @@ tracker_evolution_registrar_set_many (TrackerEvolutionRegistrar *object,
 	dbus_async_return_if_fail (len == predicates->len, context);
 	dbus_async_return_if_fail (len == values->len, context);
 
-	tracker_data_begin_transaction ();
-
 	while (subjects[i] != NULL) {
 		GStrv preds = g_ptr_array_index (predicates, i);
 		GStrv vals = g_ptr_array_index (values, i);
@@ -574,9 +588,7 @@ tracker_evolution_registrar_set_many (TrackerEvolutionRegistrar *object,
 
 		amount++;
 		if (amount > TRANSACTION_MAX) {
-			tracker_data_commit_transaction ();
-			g_main_context_iteration (NULL, FALSE);
-			tracker_data_begin_transaction ();
+			tracker_store_queue_batch_commit (NULL, NULL, NULL);
 			amount = 0;
 		}
 
@@ -585,7 +597,7 @@ tracker_evolution_registrar_set_many (TrackerEvolutionRegistrar *object,
 
 	set_stored_last_modseq (modseq);
 
-	tracker_data_commit_transaction ();
+	tracker_store_queue_batch_commit (NULL, NULL, NULL);
 
 	dbus_g_method_return (context);
 }
@@ -601,17 +613,13 @@ tracker_evolution_registrar_unset_many (TrackerEvolutionRegistrar *object,
 
 	dbus_async_return_if_fail (subjects != NULL, context);
 
-	tracker_data_begin_transaction ();
-
 	while (subjects[i] != NULL) {
 
-		perform_unset (object, subjects[i]);
+		perform_unset (object, subjects[i], TRUE);
 
 		amount++;
 		if (amount > TRANSACTION_MAX) {
-			tracker_data_commit_transaction ();
-			g_main_context_iteration (NULL, FALSE);
-			tracker_data_begin_transaction ();
+			tracker_store_queue_batch_commit (NULL, NULL, NULL);
 			amount = 0;
 		}
 
@@ -620,7 +628,7 @@ tracker_evolution_registrar_unset_many (TrackerEvolutionRegistrar *object,
 
 	set_stored_last_modseq (modseq);
 
-	tracker_data_commit_transaction ();
+	tracker_store_queue_batch_commit (NULL, NULL, NULL);
 
 	dbus_g_method_return (context);
 }
@@ -634,7 +642,7 @@ tracker_evolution_registrar_unset (TrackerEvolutionRegistrar *object,
 {
 	dbus_async_return_if_fail (subject != NULL, context);
 
-	perform_unset (object, subject);
+	perform_unset (object, subject, FALSE);
 
 	dbus_g_method_return (context);
 }
diff --git a/src/plugins/kmail/tracker-kmail-registrar.c b/src/plugins/kmail/tracker-kmail-registrar.c
index 3aeaff3..ef43c9a 100644
--- a/src/plugins/kmail/tracker-kmail-registrar.c
+++ b/src/plugins/kmail/tracker-kmail-registrar.c
@@ -28,15 +28,14 @@
 #include <glib-object.h>
 #include <dbus/dbus-glib-bindings.h>
 
-#include <libtracker-data/tracker-data-update.h>
 #include <libtracker-data/tracker-data-manager.h>
-#include <libtracker-data/tracker-data-query.h>
 
 #include <tracker-store/tracker-push-registrar.h>
+#include <tracker-store/tracker-store-queue.h>
 
 #define __TRACKER_KMAIL_REGISTRAR_C__
 
-#define TRANSACTION_MAX 200
+#define TRANSACTION_MAX TRACKER_STORE_TRANSACTION_MAX
 
 #include "tracker-kmail-registrar.h"
 #include "tracker-kmail-registrar-glue.h"
@@ -157,6 +156,21 @@ get_email_and_fullname (const gchar *line, gchar **email, gchar **fullname)
 
 
 static void
+data_insert_statement (const gchar *subject, 
+		       const gchar *predicate,
+		       const gchar *object)
+{
+	gchar *update = g_strdup_printf ("INSERT { <%s> %s \"%s\"",
+					 subject, 
+					 predicate,
+					 object);
+
+	tracker_store_queue_batch_sparql_update (update, NULL, NULL, NULL);
+
+	g_free (update);
+}
+
+static void
 perform_set (TrackerKMailRegistrar *object, 
 	     const gchar *subject, 
 	     const GStrv predicates, 
@@ -164,20 +178,18 @@ perform_set (TrackerKMailRegistrar *object,
 {
 	guint i = 0;
 
-	if (!tracker_data_query_resource_exists (DATASOURCE_URN, NULL, NULL)) {
-		tracker_data_insert_statement (DATASOURCE_URN, RDF_PREFIX "type",
-					       NIE_DATASOURCE);
-	}
+	data_insert_statement (DATASOURCE_URN, RDF_PREFIX "type",
+	                      NIE_DATASOURCE);
 
 
-	tracker_data_insert_statement (subject, RDF_PREFIX "type",
-		                       NMO_PREFIX "Email");
+	data_insert_statement (subject, RDF_PREFIX "type",
+	                       NMO_PREFIX "Email");
 
-	tracker_data_insert_statement (subject, RDF_PREFIX "type",
-		                       NMO_PREFIX "MailboxDataObject");
+	data_insert_statement (subject, RDF_PREFIX "type",
+	                       NMO_PREFIX "MailboxDataObject");
 
-	tracker_data_insert_statement (subject, NIE_DATASOURCE_P,
-		                       DATASOURCE_URN);
+	data_insert_statement (subject, NIE_DATASOURCE_P,
+	                       DATASOURCE_URN);
 
 	while (predicates [i] != NULL && values[i] != NULL) {
 
@@ -194,77 +206,77 @@ perform_set (TrackerKMailRegistrar *object,
 
 		if (g_strcmp0 (predicates[i], TRACKER_KMAIL_PREDICATE_TAG) == 0) {
 
-			tracker_data_insert_statement (":1", RDF_PREFIX "type",
-			                               NAO_PREFIX "Tag");
+			data_insert_statement (":1", RDF_PREFIX "type",
+			                       NAO_PREFIX "Tag");
 
-			tracker_data_insert_statement (":1", 
-			                               NAO_PREFIX "prefLabel",
-			                               values[i]);
+			data_insert_statement (":1", 
+			                       NAO_PREFIX "prefLabel",
+			                       values[i]);
 
-			tracker_data_insert_statement (subject, 
-			                               NAO_PREFIX "hasTag", 
-			                                ":1");
+			data_insert_statement (subject, 
+			                       NAO_PREFIX "hasTag", 
+			                       ":1");
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_KMAIL_PREDICATE_SUBJECT) == 0) {
-			tracker_data_insert_statement (subject,
-						       TRACKER_NMO_PREFIX "messageSubject", 
-						       values[i]);
+			data_insert_statement (subject,
+			                       TRACKER_NMO_PREFIX "messageSubject", 
+			                       values[i]);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_KMAIL_PREDICATE_SENT) == 0) {
-			tracker_data_insert_statement (subject,
-						       TRACKER_NMO_PREFIX "receivedDate", 
-						       values[i]);
+			data_insert_statement (subject,
+			                      TRACKER_NMO_PREFIX "receivedDate", 
+			                      values[i]);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_KMAIL_PREDICATE_FROM) == 0) {
 			gchar *email_uri, *email = NULL, *fullname = NULL;
-			tracker_data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
+			data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
 			get_email_and_fullname (values[i], &email, &fullname);
 			if (fullname) {
-				tracker_data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
+				data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
 				g_free (fullname);
 			}
 			email_uri = tracker_uri_printf_escaped ("mailto:%s";, email); 
-			tracker_data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
-			tracker_data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
-			tracker_data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
-			tracker_data_insert_statement (subject, NMO_PREFIX "from", ":1");
+			data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
+			data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
+			data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
+			data_insert_statement (subject, NMO_PREFIX "from", ":1");
 			g_free (email_uri);
 			g_free (email);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_KMAIL_PREDICATE_TO) == 0) {
 			gchar *email_uri, *email = NULL, *fullname = NULL;
-			tracker_data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
+			data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
 			get_email_and_fullname (values[i], &email, &fullname);
 			if (fullname) {
-				tracker_data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
+				data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
 				g_free (fullname);
 			}
 			email_uri = tracker_uri_printf_escaped ("mailto:%s";, email); 
-			tracker_data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
-			tracker_data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
-			tracker_data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
-			tracker_data_insert_statement (subject, NMO_PREFIX "to", ":1");
+			data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
+			data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
+			data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
+			data_insert_statement (subject, NMO_PREFIX "to", ":1");
 			g_free (email_uri);
 			g_free (email);
 		}
 
 		if (g_strcmp0 (predicates[i], TRACKER_KMAIL_PREDICATE_CC) == 0) {
 			gchar *email_uri, *email = NULL, *fullname = NULL;
-			tracker_data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
+			data_insert_statement (":1", RDF_PREFIX "type", NCO_PREFIX "Contact");
 			get_email_and_fullname (values[i], &email, &fullname);
 			if (fullname) {
-				tracker_data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
+				data_insert_statement (":1", NCO_PREFIX "fullname", fullname);
 				g_free (fullname);
 			}
 			email_uri = tracker_uri_printf_escaped ("mailto:%s";, email); 
-			tracker_data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
-			tracker_data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
-			tracker_data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
-			tracker_data_insert_statement (subject, NMO_PREFIX "cc", ":1");
+			data_insert_statement (email_uri, RDF_PREFIX "type", NCO_PREFIX "EmailAddress");
+			data_insert_statement (email_uri, NCO_PREFIX "emailAddress", email);
+			data_insert_statement (":1", NCO_PREFIX "hasEmailAddress", email_uri);
+			data_insert_statement (subject, NMO_PREFIX "cc", ":1");
 			g_free (email_uri);
 			g_free (email);
 		}
@@ -277,22 +289,25 @@ perform_set (TrackerKMailRegistrar *object,
 
 static void 
 perform_unset (TrackerKMailRegistrar *object, 
-	       const gchar *subject)
+	       const gchar *subject, 
+	       gboolean batch)
 {
-	tracker_data_delete_resource (subject); 
+	gchar *sparql = g_strdup_printf ("DELETE { <%s> a rdfs:Resource }", subject);
+
+	if (batch) {
+		tracker_store_queue_sparql_update (sparql, NULL, NULL, NULL);
+	} else {
+		tracker_store_queue_batch_sparql_update (sparql, NULL, NULL, NULL);
+	}
+
+	g_free (sparql);
 }
 
 static void
 perform_cleanup (TrackerKMailRegistrar *object)
 {
-	GError *error = NULL;
-
-	tracker_data_update_sparql ("DELETE { ?s ?p ?o } WHERE { ?s nie:dataSource <" DATASOURCE_URN "> }", &error);
-
-	if (error) {
-		g_warning ("%s", error->message);
-		g_error_free (error);
-	}
+	tracker_store_queue_sparql_update ("DELETE { ?s ?p ?o } WHERE { ?s nie:dataSource <" DATASOURCE_URN "> }",
+	                                   NULL, NULL, NULL);
 }
 
 static void
@@ -323,6 +338,8 @@ tracker_kmail_registrar_set (TrackerKMailRegistrar *object,
 
 	set_stored_last_modseq (modseq);
 
+	tracker_store_queue_batch_commit (NULL, NULL, NULL);
+
 	dbus_g_method_return (context);
 }
 
@@ -347,8 +364,6 @@ tracker_kmail_registrar_set_many (TrackerKMailRegistrar *object,
 	dbus_async_return_if_fail (len == predicates->len, context);
 	dbus_async_return_if_fail (len == values->len, context);
 
-	tracker_data_begin_transaction ();
-
 	while (subjects[i] != NULL) {
 		GStrv preds = g_ptr_array_index (predicates, i);
 		GStrv vals = g_ptr_array_index (values, i);
@@ -357,9 +372,7 @@ tracker_kmail_registrar_set_many (TrackerKMailRegistrar *object,
 
 		amount++;
 		if (amount > TRANSACTION_MAX) {
-			tracker_data_commit_transaction ();
-			g_main_context_iteration (NULL, FALSE);
-			tracker_data_begin_transaction ();
+			tracker_store_queue_batch_commit (NULL, NULL, NULL);
 			amount = 0;
 		}
 
@@ -368,7 +381,7 @@ tracker_kmail_registrar_set_many (TrackerKMailRegistrar *object,
 
 	set_stored_last_modseq (modseq);
 
-	tracker_data_commit_transaction ();
+	tracker_store_queue_batch_commit (NULL, NULL, NULL);
 
 	dbus_g_method_return (context);
 }
@@ -384,17 +397,13 @@ tracker_kmail_registrar_unset_many (TrackerKMailRegistrar *object,
 
 	dbus_async_return_if_fail (subjects != NULL, context);
 
-	tracker_data_begin_transaction ();
-
 	while (subjects[i] != NULL) {
 
-		perform_unset (object, subjects[i]);
+		perform_unset (object, subjects[i], TRUE);
 
 		amount++;
 		if (amount > TRANSACTION_MAX) {
-			tracker_data_commit_transaction ();
-			g_main_context_iteration (NULL, FALSE);
-			tracker_data_begin_transaction ();
+			tracker_store_queue_batch_commit (NULL, NULL, NULL);
 			amount = 0;
 		}
 
@@ -403,7 +412,7 @@ tracker_kmail_registrar_unset_many (TrackerKMailRegistrar *object,
 
 	set_stored_last_modseq (modseq);
 
-	tracker_data_commit_transaction ();
+	tracker_store_queue_batch_commit (NULL, NULL, NULL);
 
 	dbus_g_method_return (context);
 }
@@ -417,7 +426,7 @@ tracker_kmail_registrar_unset (TrackerKMailRegistrar *object,
 {
 	dbus_async_return_if_fail (subject != NULL, context);
 
-	perform_unset (object, subject);
+	perform_unset (object, subject, FALSE);
 
 	dbus_g_method_return (context);
 }
diff --git a/src/plugins/rss/Makefile.am b/src/plugins/rss/Makefile.am
deleted file mode 100644
index 52062f4..0000000
--- a/src/plugins/rss/Makefile.am
+++ /dev/null
@@ -1,47 +0,0 @@
-include $(top_srcdir)/Makefile.decl
-
-INCLUDES = -I$(top_srcdir)/src						\
-	-DGETTEXT_PACKAGE="\"$(GETTEXT_PACKAGE)\""			\
-	-DLOCALEDIR="\"$(localedir)\""					\
-	-DG_LOG_DOMAIN=\"Tracker\"					\
-	-DTRACKER_COMPILATION						\
-	$(WARN_CFLAGS)							\
-	$(DBUS_CFLAGS)							\
-	$(GMIME_CFLAGS)							\
-	$(GCOV_CFLAGS)
-
-module_flags = -module -avoid-version -no-undefined
-
-pushd_modulesdir = $(libdir)/tracker-$(TRACKER_API_VERSION)/push-modules/daemon
-
-pushd_modules_LTLIBRARIES = libtracker-module-rss-daemon-module.la
-
-libtracker_module_rss_daemon_module_la_SOURCES =			\
-	tracker-rss-registrar.c						\
-	tracker-rss-registrar.h						\
-	tracker-rss-common.h						\
-	tracker-rss-registrar-glue.h
-
-libtracker_module_rss_daemon_module_la_LDFLAGS = $(module_flags)
-
-libtracker_module_rss_daemon_module_la_LIBADD = 			\
-	$(top_builddir)/src/libtracker-data/libtracker-data.la          \
-	$(top_builddir)/src/libtracker-db/libtracker-db.la              \
-	$(top_builddir)/src/libtracker-common/libtracker-common.la      \
-	$(GMODULE_LIBS)							\
-	$(DBUS_LIBS)                                                    \
-	$(GTHREAD_LIBS)                                                 \
-	$(GIO_LIBS)                                                     \
-	$(GLIB2_LIBS)                                                   \
-	$(RAPTOR_LIBS)							\
-	$(GCOV_LIBS)
-
-dbus_sources = tracker-rss-registrar-glue.h
-
-%-glue.h: %.xml
-	$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=$(subst -,_,$*) $^
-
-BUILT_SOURCES = $(dbus_sources)
-
-CLEANFILES = $(BUILT_SOURCES)
-
diff --git a/src/plugins/rss/tracker-rss-common.h b/src/plugins/rss/tracker-rss-common.h
deleted file mode 100644
index af03895..0000000
--- a/src/plugins/rss/tracker-rss-common.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2008, Nokia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA  02110-1301, USA.
- *
- * Authors:
- *  Philip Van Hoof <philip codeminded be>
- */
-
-#ifndef __TRACKER_RSS_COMMON_H__
-#define __TRACKER_RSS_COMMON_H__
-
-/* Latest spec location: http://live.gnome.org/Rss/Metadata */
-
-#define TRACKER_RSS_INDEXER_PATH		"/org/freedesktop/Tracker/Indexer/Rss/Registrar"
-
-#define TRACKER_RSS_REGISTRAR_SERVICE		"org.freedesktop.Tracker"
-#define TRACKER_RSS_REGISTRAR_PATH		"/org/freedesktop/Tracker/Rss/Registrar"
-#define TRACKER_RSS_REGISTRAR_INTERFACE		"my.rss.metadata.Registrar"
-
-#define TRACKER_RSS_MANAGER_SERVICE		"my.rss.service"
-#define TRACKER_RSS_MANAGER_PATH		"/my/rss/metadata/Manager"
-#define TRACKER_RSS_MANAGER_INTERFACE		"my.rss.metadata.Manager"
-
-#define DBUS_ERROR_DOMAIN			"TrackerRss"
-#define DBUS_ERROR				g_quark_from_static_string (DBUS_ERROR_DOMAIN)
-
-#define TRACKER_RSS_PREDICATE_THING		"RssMeta:Thing"
-
-#define TRACKER_TYPE_G_STRV_ARRAY		(dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRV))
-
-#define dbus_async_return_if_fail(expr,context)				\
-	G_STMT_START {							\
-		if G_LIKELY(expr) { } else {				\
-			GError *error = NULL;				\
-									\
-			g_set_error (&error,				\
-				     DBUS_ERROR,			\
-				     0,					\
-				     "Assertion `%s' failed",		\
-				     #expr);				\
-									\
-			dbus_g_method_return_error (context, error);	\
-			g_error_free (error);				\
-									\
-			return;						\
-		};							\
-	} G_STMT_END
-
-#endif /* __TRACKER_RSS_COMMON_H__ */
diff --git a/src/plugins/rss/tracker-rss-registrar.c b/src/plugins/rss/tracker-rss-registrar.c
deleted file mode 100644
index 1d2273f..0000000
--- a/src/plugins/rss/tracker-rss-registrar.c
+++ /dev/null
@@ -1,429 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2008, Nokia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA  02110-1301, USA.
- *
- * Authors:
- *  Philip Van Hoof <philip codeminded be>
- */
-
-#include "config.h"
-
-#include <glib-object.h>
-#include <dbus/dbus-glib-bindings.h>
-
-#include <libtracker-data/tracker-data-update.h>
-#include <libtracker-data/tracker-data-manager.h>
-#include <libtracker-data/tracker-data-query.h>
-
-#include <tracker-store/tracker-push-registrar.h>
-
-#define __TRACKER_RSS_REGISTRAR_C__
-
-#include "tracker-rss-registrar.h"
-#include "tracker-rss-registrar-glue.h"
-
-#define TRACKER_RSS_REGISTRAR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_RSS_REGISTRAR, TrackerRssRegistrarPrivate))
-
-#define TRACKER_TYPE_RSS_PUSH_REGISTRAR    (tracker_rss_push_registrar_get_type ())
-#define TRACKER_RSS_PUSH_REGISTRAR(module) (G_TYPE_CHECK_INSTANCE_CAST ((module), TRACKER_TYPE_RSS_PUSH_REGISTRAR, TrackerRssPushRegistrar))
-
-/* This is of course TODO (and to move to libtracker-common/tracker-ontology.h): */
-#define TRACKER_RSS_PREFIX		       "http://www.tracker-project.org/temp/rss#";
-
-#define METADATA_RSS			       TRACKER_RSS_PREFIX "RSS"
-#define METADATA_RSSDATA_OBJECT		       TRACKER_RSS_PREFIX "RSSDataObject"
-
-#define METADATA_RSS_SOMETHING		       TRACKER_RSS_PREFIX "something"
-
-#define NIE_DATASOURCE 			       TRACKER_NIE_PREFIX "DataSource"
-#define NIE_DATASOURCE_P 		       TRACKER_NIE_PREFIX "dataSource"
-
-#define RDF_TYPE			       TRACKER_RDF_PREFIX "type"
-
-#define NAO_TAG				       TRACKER_NAO_PREFIX "Tag"
-#define NAO_PREFLABEL			       TRACKER_NAO_PREFIX "prefLabel"
-
-#define DATASOURCE_URN			       "urn:nepomuk:datasource:670e2cd0-1241-11de-8c30-0800200c9a66"
-
-typedef struct TrackerRssPushRegistrar TrackerRssPushRegistrar;
-typedef struct TrackerRssPushRegistrarClass TrackerRssPushRegistrarClass;
-
-struct TrackerRssPushRegistrar {
-	TrackerPushRegistrar parent_instance;
-};
-
-struct TrackerRssPushRegistrarClass {
-	TrackerPushRegistrarClass parent_class;
-};
-
-
-typedef struct {
-	gpointer dummy;
-} TrackerRssRegistrarPrivate;
-
-enum {
-	PROP_0,
-};
-
-static GType tracker_rss_push_registrar_get_type (void) G_GNUC_CONST;
-
-G_DEFINE_TYPE (TrackerRssRegistrar, tracker_rss_registrar, G_TYPE_OBJECT)
-G_DEFINE_TYPE (TrackerRssPushRegistrar, tracker_rss_push_registrar, TRACKER_TYPE_PUSH_REGISTRAR);
-
-static void
-tracker_rss_registrar_finalize (GObject *object)
-{
-	G_OBJECT_CLASS (tracker_rss_registrar_parent_class)->finalize (object);
-}
-
-static void
-tracker_rss_registrar_set_property (GObject      *object,
-					  guint         prop_id,
-					  const GValue *value,
-					  GParamSpec   *pspec)
-{
-	switch (prop_id) {
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-	}
-}
-
-static void
-tracker_rss_registrar_get_property (GObject    *object,
-					  guint       prop_id,
-					  GValue     *value,
-					  GParamSpec *pspec)
-{
-	switch (prop_id) {
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-	}
-}
-
-static void
-tracker_rss_registrar_class_init (TrackerRssRegistrarClass *klass)
-{
-	GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
-	object_class->finalize = tracker_rss_registrar_finalize;
-	object_class->set_property = tracker_rss_registrar_set_property;
-	object_class->get_property = tracker_rss_registrar_get_property;
-
-	g_type_class_add_private (object_class, sizeof (TrackerRssRegistrarPrivate));
-}
-
-static void
-tracker_rss_registrar_init (TrackerRssRegistrar *object)
-{
-}
-
-
-static void
-perform_set (TrackerRssRegistrar *object, 
-	     const gchar *subject, 
-	     const GStrv predicates, 
-	     const GStrv values)
-{
-	guint i = 0;
-
-	/* TODO */
-	return;
-
-	if (!tracker_data_query_resource_exists (DATASOURCE_URN, NULL, NULL)) {
-		tracker_data_insert_statement (DATASOURCE_URN, RDF_TYPE,
-					       NIE_DATASOURCE);
-	}
-
-	tracker_data_insert_statement (subject, RDF_TYPE,
-		                       METADATA_RSS);
-
-	tracker_data_insert_statement (subject, RDF_TYPE,
-		                       METADATA_RSSDATA_OBJECT);
-
-	tracker_data_insert_statement (subject, NIE_DATASOURCE_P,
-		                       DATASOURCE_URN);
-
-	while (predicates [i] != NULL && values[i] != NULL) {
-
-		if (g_strcmp0 (predicates[i], TRACKER_RSS_PREDICATE_THING) == 0) {
-			tracker_data_insert_statement (subject,
-						       METADATA_RSS_SOMETHING, 
-						       values[i]);
-		}
-
-		i++;
-	}
-}
-
-static void 
-perform_unset (TrackerRssRegistrar *object, 
-	       const gchar *subject)
-{
-	/* TODO */
-	return;
-
-	tracker_data_delete_resource (subject); 
-}
-
-static void
-perform_cleanup (TrackerRssRegistrar *object)
-{
-	GError *error = NULL;
-
-	/* TODO */
-	return;
-
-	tracker_data_update_sparql ("DELETE { ?s ?p ?o } WHERE { ?s nie:dataSource <" DATASOURCE_URN "> }", &error);
-
-	if (error) {
-		g_warning ("%s", error->message);
-		g_error_free (error);
-	}
-}
-
-static void
-set_stored_last_modseq (guint last_modseq)
-{
-	tracker_data_manager_set_db_option_int ("RssLastModseq", (gint) last_modseq);
-}
-
-
-void
-tracker_rss_registrar_set (TrackerRssRegistrar *object, 
-			   const gchar *subject, 
-			   const GStrv predicates,
-			   const GStrv values,
-			   const guint modseq,
-			   DBusGMethodInvocation *context,
-			   GError *derror)
-{
-	dbus_async_return_if_fail (subject != NULL, context);
-
-	if (predicates && values) {
-
-		dbus_async_return_if_fail (g_strv_length (predicates) == 
-					   g_strv_length (values), context);
-
-		perform_set (object, subject, predicates, values);
-	}
-
-	set_stored_last_modseq (modseq);
-
-	dbus_g_method_return (context);
-}
-
-void
-tracker_rss_registrar_set_many (TrackerRssRegistrar *object, 
-				const GStrv subjects, 
-				const GPtrArray *predicates,
-				const GPtrArray *values,
-				const guint modseq,
-				DBusGMethodInvocation *context,
-				GError *derror)
-{
-	guint len;
-	guint i = 0;
-
-	dbus_async_return_if_fail (subjects != NULL, context);
-	dbus_async_return_if_fail (predicates != NULL, context);
-	dbus_async_return_if_fail (values != NULL, context);
-
-	len = g_strv_length (subjects);
-
-	dbus_async_return_if_fail (len == predicates->len, context);
-	dbus_async_return_if_fail (len == values->len, context);
-
-	while (subjects[i] != NULL) {
-		GStrv preds = g_ptr_array_index (predicates, i);
-		GStrv vals = g_ptr_array_index (values, i);
-
-		perform_set (object, subjects[i], preds, vals);
-
-		i++;
-	}
-
-	set_stored_last_modseq (modseq);
-
-	dbus_g_method_return (context);
-}
-
-void
-tracker_rss_registrar_unset_many (TrackerRssRegistrar *object, 
-				  const GStrv subjects, 
-				  const guint modseq,
-				  DBusGMethodInvocation *context,
-				  GError *derror)
-{
-	guint i = 0;
-
-	dbus_async_return_if_fail (subjects != NULL, context);
-
-	while (subjects[i] != NULL) {
-
-		perform_unset (object, subjects[i]);
-
-		i++;
-	}
-
-	set_stored_last_modseq (modseq);
-
-	dbus_g_method_return (context);
-}
-
-void
-tracker_rss_registrar_unset (TrackerRssRegistrar *object, 
-				   const gchar *subject, 
-				   const guint modseq,
-				   DBusGMethodInvocation *context,
-				   GError *derror)
-{
-	dbus_async_return_if_fail (subject != NULL, context);
-
-	perform_unset (object, subject);
-
-	dbus_g_method_return (context);
-}
-
-void
-tracker_rss_registrar_cleanup (TrackerRssRegistrar *object, 
-				     const guint modseq,
-				     DBusGMethodInvocation *context,
-				     GError *derror)
-{
-	perform_cleanup (object);
-
-	set_stored_last_modseq (modseq);
-
-	dbus_g_method_return (context);
-}
-
-
-static void
-on_manager_destroy (DBusGProxy *proxy, gpointer user_data)
-{
-	return;
-}
-
-static void
-tracker_rss_push_registrar_enable (TrackerPushRegistrar *registrar, 
-					 DBusGConnection      *connection,
-					 DBusGProxy           *dbus_proxy, 
-					 GError              **error)
-{
-	GError *nerror = NULL;
-	guint result;
-	DBusGProxy *manager_proxy;
-	GObject *object;
-
-	tracker_push_registrar_set_object (registrar, NULL);
-	tracker_push_registrar_set_manager (registrar, NULL);
-
-	manager_proxy = dbus_g_proxy_new_for_name (connection,
-						   TRACKER_RSS_MANAGER_SERVICE,
-						   TRACKER_RSS_MANAGER_PATH,
-						   TRACKER_RSS_MANAGER_INTERFACE);
-
-	/* Creation of the registrar */
-	if (!org_freedesktop_DBus_request_name (dbus_proxy, 
-						TRACKER_RSS_REGISTRAR_SERVICE,
-						DBUS_NAME_FLAG_DO_NOT_QUEUE,
-						&result, &nerror)) {
-
-		g_critical ("Could not setup DBus, %s in use\n", 
-			    TRACKER_RSS_REGISTRAR_SERVICE);
-
-		if (nerror) {
-			g_propagate_error (error, nerror);
-			return;
-		}
-	}
-
-	if (nerror) {
-		g_propagate_error (error, nerror);
-		return;
-	}
-
-	object = g_object_new (TRACKER_TYPE_RSS_REGISTRAR, NULL);
-
-	dbus_g_object_type_install_info (G_OBJECT_TYPE (object), 
-					 &dbus_glib_tracker_rss_registrar_object_info);
-
-	dbus_g_connection_register_g_object (connection, 
-					     TRACKER_RSS_REGISTRAR_PATH, 
-					     object);
-
-	/* Registration of the registrar to the manager */
-	dbus_g_proxy_call_no_reply (manager_proxy, "Register",
-				    G_TYPE_OBJECT, object, 
-				    G_TYPE_UINT, (guint) tracker_data_manager_get_db_option_int ("RssLastModseq"),
-				    G_TYPE_INVALID,
-				    G_TYPE_INVALID);
-
-	/* If while we had a proxy for the manager the manager shut itself down,
-	 * then we'll get rid of our registrar too, in on_manager_destroy */
-
-	g_signal_connect (manager_proxy, "destroy",
-			  G_CALLBACK (on_manager_destroy), registrar);
-
-	tracker_push_registrar_set_object (registrar, object);
-	tracker_push_registrar_set_manager (registrar, manager_proxy);
-
-	g_object_unref (object); /* sink own */
-	g_object_unref (manager_proxy);  /* sink own */
-}
-
-static void
-tracker_rss_push_registrar_disable (TrackerPushRegistrar *registrar)
-{
-	tracker_push_registrar_set_object (registrar, NULL);
-	tracker_push_registrar_set_manager (registrar, NULL);
-}
-
-static void
-tracker_rss_push_registrar_class_init (TrackerRssPushRegistrarClass *klass)
-{
-	TrackerPushRegistrarClass *p_class = TRACKER_PUSH_REGISTRAR_CLASS (klass);
-
-	p_class->enable = tracker_rss_push_registrar_enable;
-	p_class->disable = tracker_rss_push_registrar_disable;
-}
-
-static void
-tracker_rss_push_registrar_init (TrackerRssPushRegistrar *registrar)
-{
-	return;
-}
-
-TrackerPushRegistrar *
-tracker_push_module_init (void)
-{
-	GObject *object;
-
-	object = g_object_new (TRACKER_TYPE_RSS_PUSH_REGISTRAR, NULL);
-
-	tracker_push_registrar_set_service (TRACKER_PUSH_REGISTRAR (object),
-					    TRACKER_RSS_MANAGER_SERVICE);
-
-	return TRACKER_PUSH_REGISTRAR (object);
-}
-
-void
-tracker_push_module_shutdown (TrackerPushRegistrar *registrar)
-{
-	tracker_rss_push_registrar_disable (registrar);
-}
diff --git a/src/plugins/rss/tracker-rss-registrar.h b/src/plugins/rss/tracker-rss-registrar.h
deleted file mode 100644
index de2e0ca..0000000
--- a/src/plugins/rss/tracker-rss-registrar.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2008, Nokia
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA  02110-1301, USA.
- *
- * Authors:
- *  Philip Van Hoof <philip codeminded be>
- */
-
-#ifndef __LIBTRACKER_RSS_REGISTRAR_H__
-#define __LIBTRACKER_RSS_REGISTRAR_H__
-
-#if !defined (TRACKER_ENABLE_INTERNALS) && !defined (TRACKER_COMPILATION)
-#error "TRACKER_ENABLE_INTERNALS not defined, this must be defined to use tracker's internal functions"
-#endif
-
-#include <dbus/dbus-glib-bindings.h>
-
-#include <tracker-store/tracker-push.h>
-#include "tracker-rss-common.h"
-
-G_BEGIN_DECLS
-
-#define TRACKER_TYPE_RSS_REGISTRAR          (tracker_rss_registrar_get_type())
-#define TRACKER_RSS_REGISTRAR(o)            (G_TYPE_CHECK_INSTANCE_CAST ((o), TRACKER_TYPE_RSS_REGISTRAR, TrackerRssRegistrar))
-#define TRACKER_RSS_REGISTRAR_CLASS(c)      (G_TYPE_CHECK_CLASS_CAST ((c), TRACKER_TYPE_RSS_REGISTRAR, TrackerRssRegistrarClass))
-#define TRACKER_RSS_REGISTRAR_GET_CLASS(o)  (G_TYPE_INSTANCE_GET_CLASS ((o), TRACKER_TYPE_RSS_REGISTRAR, TrackerRssRegistrarClass))
-
-G_BEGIN_DECLS
-
-#ifndef __TRACKER_RSS_REGISTRAR_C__
-extern const DBusGMethodInfo *registrar_methods;
-#endif
-
-typedef struct TrackerRssRegistrar TrackerRssRegistrar;
-typedef struct TrackerRssRegistrarClass TrackerRssRegistrarClass;
-
-struct TrackerRssRegistrar {
-	GObject parent;
-};
-
-struct TrackerRssRegistrarClass {
-	GObjectClass parent;
-};
-
-GType  tracker_rss_registrar_get_type   (void);
-
-void  tracker_rss_registrar_set         (TrackerRssRegistrar *object, 
-					 const gchar *subject, 
-					 const GStrv predicates,
-					 const GStrv values,
-					 const guint modseq,
-					 DBusGMethodInvocation *context,
-					 GError *derror);
-void  tracker_rss_registrar_set_many    (TrackerRssRegistrar *object, 
-					 const GStrv subjects, 
-					 const GPtrArray *predicates,
-					 const GPtrArray *values,
-					 const guint modseq,
-					 DBusGMethodInvocation *context,
-					 GError *derror);
-void  tracker_rss_registrar_unset_many  (TrackerRssRegistrar *object, 
-					 const GStrv subjects, 
-					 const guint modseq,
-					 DBusGMethodInvocation *context,
-					 GError *derror);
-void  tracker_rss_registrar_unset       (TrackerRssRegistrar *object, 
-					 const gchar *subject, 
-					 const guint modseq,
-					 DBusGMethodInvocation *context,
-					 GError *derror);
-void  tracker_rss_registrar_cleanup     (TrackerRssRegistrar *object, 
-					 const guint modseq,
-					 DBusGMethodInvocation *context,
-					 GError *derror);
-
-
-G_END_DECLS
-
-#endif /* __LIBTRACKER_RSS_REGISTRAR_H__ */
diff --git a/src/plugins/rss/tracker-rss-registrar.xml b/src/plugins/rss/tracker-rss-registrar.xml
deleted file mode 100644
index dbd65c4..0000000
--- a/src/plugins/rss/tracker-rss-registrar.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<node name="/">
-  <interface name="my.rss.metadata.Registrar">
-
-  <method name="Set">
-      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
-      <arg type="s" name="subject" direction="in" />
-      <arg type="as" name="predicates" direction="in" />
-      <arg type="as" name="values" direction="in" />
-      <arg type="u" name="modseq" direction="in" />
-    </method>
-
-    <method name="SetMany">
-      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
-      <arg type="as" name="subjects" direction="in" />
-      <arg type="aas" name="predicates" direction="in" />
-      <arg type="aas" name="values" direction="in" />
-      <arg type="u" name="modseq" direction="in" />
-    </method>
-
-    <method name="Unset">
-      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
-      <arg type="s" name="subject" direction="in" />
-      <arg type="u" name="modseq" direction="in" />
-    </method>
-
-    <method name="UnsetMany">
-      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
-      <arg type="as" name="subjects" direction="in" />
-      <arg type="u" name="modseq" direction="in" />
-    </method>
-
-    <method name="Cleanup">
-      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
-      <arg type="u" name="modseq" direction="in" />
-    </method>
-
-  </interface>
-</node>
diff --git a/src/tracker-store/tracker-resources.c b/src/tracker-store/tracker-resources.c
index 0753183..814c705 100644
--- a/src/tracker-store/tracker-resources.c
+++ b/src/tracker-store/tracker-resources.c
@@ -46,8 +46,6 @@
 #define RDF_PREFIX TRACKER_RDF_PREFIX
 #define RDF_TYPE RDF_PREFIX "type"
 
-/* Transaction every 'x' batch items */
-#define TRACKER_STORE_TRANSACTION_MAX	4000
 
 G_DEFINE_TYPE(TrackerResources, tracker_resources, G_TYPE_OBJECT)
 
diff --git a/src/tracker-store/tracker-store-queue.h b/src/tracker-store/tracker-store-queue.h
index a87dcf0..38e6afd 100644
--- a/src/tracker-store/tracker-store-queue.h
+++ b/src/tracker-store/tracker-store-queue.h
@@ -28,6 +28,8 @@
 #include <libtracker-common/tracker-common.h>
 #include <libtracker-db/tracker-db-interface.h>
 
+#define TRACKER_STORE_TRANSACTION_MAX	4000
+
 G_BEGIN_DECLS
 
 typedef void (* TrackerStoreQueueSparqlUpdateCallback) (GError          *error,



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