tracker r2856 - in trunk: . data/db src/plugins/evolution



Author: pvanhoof
Date: Wed Jan 28 16:38:37 2009
New Revision: 2856
URL: http://svn.gnome.org/viewvc/tracker?rev=2856&view=rev

Log:
2009-01-28  Philip Van Hoof  <philip codeminded be>

	* src/plugins/evolution/tracker-evolution-indexer.h
	* src/plugins/evolution/tracker-evolution-plugin.h
	* src/plugins/evolution/tracker-evolution-registrar.h
	* src/plugins/evolution/tracker-evolution-plugin.xml
	* src/plugins/evolution/tracker-evolution-common.h
	* src/plugins/evolution/tracker-evolution-indexer.c
	* src/plugins/evolution/tracker-evolution-plugin.c
	* src/plugins/evolution/tracker-evolution-registrar.xml
	* src/plugins/evolution/tracker-evolution-registrar.c
	* src/plugins/evolution/tracker-evolution.c
	* data/db/sqlite-tracker.sql: Made the D-Bus API of the E-mail metadata
	infrastructure less Evolution specific



Modified:
   trunk/ChangeLog
   trunk/data/db/sqlite-tracker.sql
   trunk/src/plugins/evolution/tracker-evolution-common.h
   trunk/src/plugins/evolution/tracker-evolution-indexer.c
   trunk/src/plugins/evolution/tracker-evolution-indexer.h
   trunk/src/plugins/evolution/tracker-evolution-plugin.c
   trunk/src/plugins/evolution/tracker-evolution-plugin.h
   trunk/src/plugins/evolution/tracker-evolution-plugin.xml
   trunk/src/plugins/evolution/tracker-evolution-registrar.c
   trunk/src/plugins/evolution/tracker-evolution-registrar.h
   trunk/src/plugins/evolution/tracker-evolution-registrar.xml
   trunk/src/plugins/evolution/tracker-evolution.c

Modified: trunk/data/db/sqlite-tracker.sql
==============================================================================
--- trunk/data/db/sqlite-tracker.sql	(original)
+++ trunk/data/db/sqlite-tracker.sql	Wed Jan 28 16:38:37 2009
@@ -8,7 +8,7 @@
 insert Into Options (OptionKey, OptionValue) values ('Sequence', '1');
 insert Into Options (OptionKey, OptionValue) values ('EventSequence', '1');
 insert Into Options (OptionKey, OptionValue) values ('UpdateCount', '0');
-insert Into Options (OptionKey, OptionValue) values ('EvolutionLastCheckout', '0');
+insert Into Options (OptionKey, OptionValue) values ('EvolutionLastModseq', '0');
 
 
 /* store volume and HAL info here for files */

Modified: trunk/src/plugins/evolution/tracker-evolution-common.h
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-common.h	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-common.h	Wed Jan 28 16:38:37 2009
@@ -24,34 +24,37 @@
 #ifndef __TRACKER_EVOLUTION_COMMON_H__
 #define __TRACKER_EVOLUTION_COMMON_H__
 
+/* Latest spec location: http://live.gnome.org/Evolution/Metadata */
+
 #define TRACKER_EVOLUTION_INDEXER_PATH		"/org/freedesktop/Tracker/Indexer/Evolution/Registrar"
 
 #define TRACKER_EVOLUTION_REGISTRAR_SERVICE	"org.freedesktop.Tracker"
 #define TRACKER_EVOLUTION_REGISTRAR_PATH	"/org/freedesktop/Tracker/Evolution/Registrar"
-#define TRACKER_EVOLUTION_REGISTRAR_INTERFACE	"org.gnome.evolution.metadata.Registrar"
+#define TRACKER_EVOLUTION_REGISTRAR_INTERFACE	"org.freedesktop.email.metadata.Registrar"
 
 #define TRACKER_EVOLUTION_MANAGER_SERVICE	"org.gnome.evolution"
-#define TRACKER_EVOLUTION_MANAGER_PATH		"/org/gnome/evolution/metadata/Manager"
-#define TRACKER_EVOLUTION_MANAGER_INTERFACE	"org.gnome.evolution.metadata.Manager"
+#define TRACKER_EVOLUTION_MANAGER_PATH		"/org/freedesktop/email/metadata/Manager"
+#define TRACKER_EVOLUTION_MANAGER_INTERFACE	"org.freedesktop.email.metadata.Manager"
 
 #define DBUS_ERROR_DOMAIN			"TrackerEvolution"
 #define DBUS_ERROR				g_quark_from_static_string (DBUS_ERROR_DOMAIN)
 
-#define TRACKER_EVOLUTION_PREDICATE_SUBJECT	"Evolution:MessageSubject"
-#define TRACKER_EVOLUTION_PREDICATE_SENT	"Evolution:MessageSent"
-#define TRACKER_EVOLUTION_PREDICATE_FROM	"Evolution:MessageFrom"
-#define TRACKER_EVOLUTION_PREDICATE_TO		"Evolution:MessageTo"
+#define TRACKER_EVOLUTION_PREDICATE_SUBJECT	"EMailMeta:MessageSubject"
+#define TRACKER_EVOLUTION_PREDICATE_SENT	"EMailMeta:MessageSent"
+#define TRACKER_EVOLUTION_PREDICATE_FROM	"EMailMeta:MessageFrom"
+#define TRACKER_EVOLUTION_PREDICATE_TO		"EMailMeta:MessageTo"
+#define TRACKER_EVOLUTION_PREDICATE_CC		"EMailMeta:MessageCc"
+#define TRACKER_EVOLUTION_PREDICATE_SEEN	"EMailMeta:MessageSeen"
+#define TRACKER_EVOLUTION_PREDICATE_ANSWERED	"EMailMeta:MessageAnswered"
+#define TRACKER_EVOLUTION_PREDICATE_FORWARDED	"EMailMeta:MessageForwarded"
+#define TRACKER_EVOLUTION_PREDICATE_DELETED	"EMailMeta:MessageDeleted"
+#define TRACKER_EVOLUTION_PREDICATE_SIZE	"EMailMeta:MessageSize"
+
+#define TRACKER_EVOLUTION_PREDICATE_JUNK	"Evolution:MessageJunk"
 #define TRACKER_EVOLUTION_PREDICATE_FILE	"Evolution:MessageFile"
-#define TRACKER_EVOLUTION_PREDICATE_CC		"Evolution:MessageCc"
 #define TRACKER_EVOLUTION_PREDICATE_UID		"Evolution:MessageUid"
-#define TRACKER_EVOLUTION_PREDICATE_SEEN	"Evolution:MessageSeen"
-#define TRACKER_EVOLUTION_PREDICATE_JUNK	"Evolution:MessageJunk"
-#define TRACKER_EVOLUTION_PREDICATE_ANSWERED	"Evolution:MessageAnswered"
 #define TRACKER_EVOLUTION_PREDICATE_FLAGGED	"Evolution:MessageFlagged"
 #define TRACKER_EVOLUTION_PREDICATE_TAG		"Evolution:MessageTag"
-#define TRACKER_EVOLUTION_PREDICATE_FORWARDED	"Evolution:MessageForwarded"
-#define TRACKER_EVOLUTION_PREDICATE_DELETED	"Evolution:MessageDeleted"
-#define TRACKER_EVOLUTION_PREDICATE_SIZE	"Evolution:MessageSize"
 
 #define TRACKER_TYPE_G_STRV_ARRAY		(dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRV))
 

Modified: trunk/src/plugins/evolution/tracker-evolution-indexer.c
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-indexer.c	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-indexer.c	Wed Jan 28 16:38:37 2009
@@ -36,6 +36,7 @@
 #include <gmime/gmime.h>
 
 #include <libtracker-data/tracker-data-update.h>
+#include <libtracker-data/tracker-data-manager.h>
 
 /* This is okay, we run in-process of the indexer: we can access its symbols */
 #include <tracker-indexer/tracker-module.h>
@@ -475,11 +476,18 @@
 	tracker_data_update_delete_service_all ("EvolutionEmails");
 }
 
+static void
+set_stored_last_modseq (guint last_modseq)
+{
+	tracker_data_manager_set_db_option_int ("EvolutionLastCheckout", (gint) last_modseq);
+}
+
 void
 tracker_evolution_indexer_set (TrackerEvolutionIndexer *object, 
 			       const gchar *subject, 
 			       const GStrv predicates,
 			       const GStrv values,
+			       const guint modseq,
 			       DBusGMethodInvocation *context,
 			       GError *derror)
 {
@@ -493,6 +501,8 @@
 		perform_set (object, subject, predicates, values);
 	}
 
+	set_stored_last_modseq (modseq);
+
 	dbus_g_method_return (context);
 }
 
@@ -501,6 +511,7 @@
 				    const GStrv subjects, 
 				    const GPtrArray *predicates,
 				    const GPtrArray *values,
+				    const guint modseq,
 				    DBusGMethodInvocation *context,
 				    GError *derror)
 {
@@ -525,12 +536,15 @@
 		i++;
 	}
 
+	set_stored_last_modseq (modseq);
+
 	dbus_g_method_return (context);
 }
 
 void
 tracker_evolution_indexer_unset_many (TrackerEvolutionIndexer *object, 
 				      const GStrv subjects, 
+				      const guint modseq,
 				      DBusGMethodInvocation *context,
 				      GError *derror)
 {
@@ -545,12 +559,15 @@
 		i++;
 	}
 
+	set_stored_last_modseq (modseq);
+
 	dbus_g_method_return (context);
 }
 
 void
 tracker_evolution_indexer_unset (TrackerEvolutionIndexer *object, 
 				 const gchar *subject, 
+				 const guint modseq,
 				 DBusGMethodInvocation *context,
 				 GError *derror)
 {
@@ -563,11 +580,14 @@
 
 void
 tracker_evolution_indexer_cleanup (TrackerEvolutionIndexer *object, 
+				   const guint modseq,
 				   DBusGMethodInvocation *context,
 				   GError *derror)
 {
 	perform_cleanup (object);
 
+	set_stored_last_modseq (modseq);
+
 	dbus_g_method_return (context);
 }
 

Modified: trunk/src/plugins/evolution/tracker-evolution-indexer.h
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-indexer.h	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-indexer.h	Wed Jan 28 16:38:37 2009
@@ -71,23 +71,28 @@
 					     const gchar *subject, 
 					     const GStrv predicates,
 					     const GStrv values,
+					     const guint modseq,
 					     DBusGMethodInvocation *context,
 					     GError *derror);
 void  tracker_evolution_indexer_set_many    (TrackerEvolutionIndexer *object, 
 					     const GStrv subjects, 
 					     const GPtrArray *predicates,
 					     const GPtrArray *values,
+					     const guint modseq,
 					     DBusGMethodInvocation *context,
 					     GError *derror);
 void  tracker_evolution_indexer_unset_many  (TrackerEvolutionIndexer *object, 
 					     const GStrv subjects, 
+					     const guint modseq,
 					     DBusGMethodInvocation *context,
 					     GError *derror);
 void  tracker_evolution_indexer_unset       (TrackerEvolutionIndexer *object, 
 					     const gchar *subject, 
+					     const guint modseq,
 					     DBusGMethodInvocation *context,
 					     GError *derror);
 void  tracker_evolution_indexer_cleanup     (TrackerEvolutionIndexer *object, 
+					     const guint modseq,
 					     DBusGMethodInvocation *context,
 					     GError *derror);
 

Modified: trunk/src/plugins/evolution/tracker-evolution-plugin.c
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-plugin.c	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-plugin.c	Wed Jan 28 16:38:37 2009
@@ -650,6 +650,7 @@
 							    G_TYPE_STRV, subjects,
 							    TRACKER_TYPE_G_STRV_ARRAY, predicates_array,
 							    TRACKER_TYPE_G_STRV_ARRAY, values_array,
+							    G_TYPE_UINT, (guint) time (NULL),
 							    G_TYPE_INVALID, 
 							    G_TYPE_INVALID);
 
@@ -770,6 +771,7 @@
 			dbus_g_proxy_call_no_reply (info->registrar,
 						    "UnsetMany",
 						    G_TYPE_STRV, subjects,
+						    G_TYPE_UINT, (guint) time (NULL),
 						    G_TYPE_INVALID,
 						    G_TYPE_INVALID);
 
@@ -1091,6 +1093,7 @@
 	if (last_checkout < too_old) {
 		dbus_g_proxy_call_no_reply (registrar,
 					    "Cleanup",
+					    G_TYPE_UINT, (guint) time (NULL),
 					    G_TYPE_INVALID,
 					    G_TYPE_INVALID);
 		info->last_checkout = 0;
@@ -1127,6 +1130,7 @@
 					    G_TYPE_STRV, subjects,
 					    TRACKER_TYPE_G_STRV_ARRAY, predicates,
 					    TRACKER_TYPE_G_STRV_ARRAY, values,
+					    G_TYPE_UINT, (guint) time (NULL),
 					    G_TYPE_INVALID, 
 					    G_TYPE_INVALID);
 	}
@@ -1152,6 +1156,7 @@
 		dbus_g_proxy_call_no_reply (registrar,
 					    "UnsetMany",
 					    G_TYPE_STRV, subjects,
+					    G_TYPE_UINT, (guint) time (NULL),
 					    G_TYPE_INVALID, 
 					    G_TYPE_INVALID);
 	}

Modified: trunk/src/plugins/evolution/tracker-evolution-plugin.h
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-plugin.h	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-plugin.h	Wed Jan 28 16:38:37 2009
@@ -51,7 +51,7 @@
 
 void tracker_evolution_plugin_register  (TrackerEvolutionPlugin *object, 
 					 gchar *registrar_path,
-					 guint last_checkout, 
+					 guint last_modseq, 
 					 DBusGMethodInvocation *context,
 					 GError *derror);
 

Modified: trunk/src/plugins/evolution/tracker-evolution-plugin.xml
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-plugin.xml	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-plugin.xml	Wed Jan 28 16:38:37 2009
@@ -4,7 +4,7 @@
     <method name="Register">
       <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
       <arg type="o" name="registrar_path" direction="in" />
-      <arg type="u" name="last_checkout" direction="in" />
+      <arg type="u" name="last_modseq" direction="in" />
     </method>
   </interface>
 </node>

Modified: trunk/src/plugins/evolution/tracker-evolution-registrar.c
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-registrar.c	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-registrar.c	Wed Jan 28 16:38:37 2009
@@ -136,6 +136,7 @@
 				 const gchar *subject, 
 				 const GStrv predicates,
 				 const GStrv values,
+				 const guint modseq,
 				 DBusGMethodInvocation *context,
 				 GError *derror)
 {
@@ -153,6 +154,7 @@
 					    G_TYPE_STRING, subject,
 					    G_TYPE_STRV, predicates,
 					    G_TYPE_STRV, values,
+					    G_TYPE_UINT, modseq,
 					    G_TYPE_INVALID, 
 					    G_TYPE_INVALID);
 	}
@@ -165,6 +167,7 @@
 				      const GStrv subjects, 
 				      const GPtrArray *predicates,
 				      const GPtrArray *values,
+				      const guint modseq,
 				      DBusGMethodInvocation *context,
 				      GError *derror)
 {
@@ -185,6 +188,7 @@
 				    G_TYPE_STRV, subjects,
 				    TRACKER_TYPE_G_STRV_ARRAY, predicates,
 				    TRACKER_TYPE_G_STRV_ARRAY, values,
+				    G_TYPE_UINT, modseq,
 				    G_TYPE_INVALID, 
 				    G_TYPE_INVALID);
 
@@ -194,6 +198,7 @@
 void
 tracker_evolution_registrar_unset_many (TrackerEvolutionRegistrar *object, 
 					const GStrv subjects, 
+					const guint modseq,
 					DBusGMethodInvocation *context,
 					GError *derror)
 {
@@ -204,6 +209,7 @@
 	dbus_g_proxy_call_no_reply (priv->idx_proxy,
 				    "UnsetMany",
 				    G_TYPE_STRV, subjects,
+				    G_TYPE_UINT, modseq,
 				    G_TYPE_INVALID, 
 				    G_TYPE_INVALID);
 
@@ -213,6 +219,7 @@
 void
 tracker_evolution_registrar_unset (TrackerEvolutionRegistrar *object, 
 				   const gchar *subject, 
+				   const guint modseq,
 				   DBusGMethodInvocation *context,
 				   GError *derror)
 {
@@ -223,6 +230,7 @@
 	dbus_g_proxy_call_no_reply (priv->idx_proxy,
 				    "Unset",
 				    G_TYPE_STRING, subject,
+				    G_TYPE_UINT, modseq,
 				    G_TYPE_INVALID, 
 				    G_TYPE_INVALID);
 
@@ -231,6 +239,7 @@
 
 void
 tracker_evolution_registrar_cleanup (TrackerEvolutionRegistrar *object, 
+				     const guint modseq,
 				     DBusGMethodInvocation *context,
 				     GError *derror)
 {
@@ -238,6 +247,7 @@
 
 	dbus_g_proxy_call_no_reply (priv->idx_proxy,
 				    "Cleanup",
+				    G_TYPE_UINT, modseq,
 				    G_TYPE_INVALID, 
 				    G_TYPE_INVALID);
 

Modified: trunk/src/plugins/evolution/tracker-evolution-registrar.h
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-registrar.h	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-registrar.h	Wed Jan 28 16:38:37 2009
@@ -62,23 +62,28 @@
 					       const gchar *subject, 
 					       const GStrv predicates,
 					       const GStrv values,
+					       const guint modseq,
 					       DBusGMethodInvocation *context,
 					       GError *derror);
 void  tracker_evolution_registrar_set_many    (TrackerEvolutionRegistrar *object, 
 					       const GStrv subjects, 
 					       const GPtrArray *predicates,
 					       const GPtrArray *values,
+					       const guint modseq,
 					       DBusGMethodInvocation *context,
 					       GError *derror);
 void  tracker_evolution_registrar_unset_many  (TrackerEvolutionRegistrar *object, 
 					       const GStrv subjects, 
+					       const guint modseq,
 					       DBusGMethodInvocation *context,
 					       GError *derror);
 void  tracker_evolution_registrar_unset       (TrackerEvolutionRegistrar *object, 
 					       const gchar *subject, 
+					       const guint modseq,
 					       DBusGMethodInvocation *context,
 					       GError *derror);
 void  tracker_evolution_registrar_cleanup     (TrackerEvolutionRegistrar *object, 
+					       const guint modseq,
 					       DBusGMethodInvocation *context,
 					       GError *derror);
 

Modified: trunk/src/plugins/evolution/tracker-evolution-registrar.xml
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution-registrar.xml	(original)
+++ trunk/src/plugins/evolution/tracker-evolution-registrar.xml	Wed Jan 28 16:38:37 2009
@@ -7,6 +7,7 @@
       <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">
@@ -14,20 +15,24 @@
       <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>

Modified: trunk/src/plugins/evolution/tracker-evolution.c
==============================================================================
--- trunk/src/plugins/evolution/tracker-evolution.c	(original)
+++ trunk/src/plugins/evolution/tracker-evolution.c	Wed Jan 28 16:38:37 2009
@@ -44,15 +44,9 @@
 static GStaticPrivate private_key = G_STATIC_PRIVATE_INIT;
 
 static guint
-get_stored_last_checkout (void)
+get_stored_last_modseq (void)
 {
-	return (guint) tracker_data_manager_get_db_option_int ("EvolutionLastCheckout");
-}
-
-static void
-set_stored_last_checkout (guint last_checkout)
-{
-	tracker_data_manager_set_db_option_int ("EvolutionLastCheckout", (gint) last_checkout);
+	return (guint) tracker_data_manager_get_db_option_int ("EvolutionLastModseq");
 }
 
 static void
@@ -63,8 +57,6 @@
 	private = g_static_private_get (&private_key);
 	g_return_if_fail (private != NULL);
 
-	set_stored_last_checkout (time(NULL));
-
 	if (private->object) {
 		g_object_unref (private->object);
 		private->object = NULL;
@@ -161,7 +153,7 @@
 		/* Registration of the registrar to the manager */
 		dbus_g_proxy_call_no_reply (private->manager_proxy, "Register",
 					    G_TYPE_OBJECT, private->object, /* TRACKER_EVOLUTION_REGISTRAR_PATH, */
-					    G_TYPE_UINT, get_stored_last_checkout (),
+					    G_TYPE_UINT, get_stored_last_modseq (),
 					    G_TYPE_INVALID,
 					    G_TYPE_INVALID);
 



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