[tracker] plugins/evolution: GB#623207: Fix compilation problems



commit 8a701ec626496c42e5d65b139af1918133d77a93
Author: Philip Van Hoof <philip codeminded be>
Date:   Mon Aug 16 11:11:56 2010 +0200

    plugins/evolution: GB#623207: Fix compilation problems

 configure.ac                                     |    2 +
 src/plugins/evolution/tracker-evolution-plugin.c |  125 ++++++++++++++--------
 2 files changed, 83 insertions(+), 44 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 85cd6b2..6dadd50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -938,6 +938,8 @@ if test "x$enable_miner_evolution" != "xno"; then
 
    PKG_CHECK_EXISTS([evolution-data-server-1.2 >= 2.29.1],
                     [AC_DEFINE(HAVE_EDS_2_29_1, 1, [Define if we have eds 2.29.1 or newer])])
+   PKG_CHECK_EXISTS([evolution-data-server-1.2 >= 2.31.2],
+                    [AC_DEFINE(HAVE_EDS_2_31_2, 1, [Define if we have eds 2.31.2 or newer])])
 
    AC_SUBST(EVOLUTION_PLUGIN_CFLAGS)
    AC_SUBST(EVOLUTION_PLUGIN_LIBS)
diff --git a/src/plugins/evolution/tracker-evolution-plugin.c b/src/plugins/evolution/tracker-evolution-plugin.c
index 3cfbea8..8e56d8d 100644
--- a/src/plugins/evolution/tracker-evolution-plugin.c
+++ b/src/plugins/evolution/tracker-evolution-plugin.c
@@ -34,32 +34,14 @@
 #include <time.h>
 #include <inttypes.h>
 
+#include <glib/gi18n-lib.h>
 #include <glib-object.h>
 #include <gio/gio.h>
 
 #include <sqlite3.h>
 
-#include <camel/camel-mime-message.h>
-#include <camel/camel-i18n.h>
-#include <camel/camel-store.h>
-#include <camel/camel-folder.h>
+#include <camel/camel.h>
 #include <camel/camel-db.h>
-#include <camel/camel-offline-store.h>
-#include <camel/camel-session.h>
-#include <camel/camel-url.h>
-#include <camel/camel-stream.h>
-#include <camel/camel-stream-mem.h>
-#include <camel/camel-multipart.h>
-#include <camel/camel-multipart-encrypted.h>
-#include <camel/camel-multipart-signed.h>
-#include <camel/camel-medium.h>
-#include <camel/camel-gpg-context.h>
-#include <camel/camel-smime-context.h>
-#include <camel/camel-string-utils.h>
-#include <camel/camel-stream-filter.h>
-#include <camel/camel-stream-null.h>
-#include <camel/camel-mime-filter-charset.h>
-#include <camel/camel-mime-filter-windows.h>
 
 #include <mail/mail-config.h>
 #include <mail/mail-session.h>
@@ -303,8 +285,16 @@ get_email_and_fullname (const gchar *line, gchar **email, gchar **fullname)
 static void
 folder_registry_free (FolderRegistry *registry)
 {
+#ifdef HAVE_EDS_2_31_2
+	g_signal_handler_disconnect (registry->folder, registry->hook_info->hook_id);
+#else
 	camel_object_remove_event (registry->folder, registry->hook_info->hook_id);
+#endif
+#ifdef HAVE_EDS_2_31_2
+	g_object_unref (registry->folder);
+#else
 	camel_object_unref (registry->folder);
+#endif
 	g_free (registry->hook_info->account_uri);
 	g_slice_free (OnSummaryChangedInfo, registry->hook_info);
 	g_slice_free (FolderRegistry, registry);
@@ -321,7 +311,11 @@ folder_registry_new (const gchar *account_uri,
 	registry->hook_info->account_uri = g_strdup (account_uri);
 	registry->hook_info->self = self; /* weak */
 	registry->hook_info->hook_id = 0;
+#ifdef HAVE_EDS_2_31_2
+	g_object_ref (folder);
+#else
 	camel_object_ref (folder);
+#endif
 	registry->folder = folder;
 
 	return registry;
@@ -1267,7 +1261,6 @@ get_last_deleted_time (TrackerEvolutionPlugin *self)
 			EAccount *account = (EAccount *) e_iterator_get (it);
 			CamelProvider *provider;
 			CamelStore *store;
-			CamelException ex;
 			char *uri;
 			CamelDB *cdb_r;
 			sqlite3_stmt *stmt = NULL;
@@ -1275,13 +1268,10 @@ get_last_deleted_time (TrackerEvolutionPlugin *self)
 			guint ret = SQLITE_OK;
 			guint64 latest = smallest;
 
-			camel_exception_init (&ex);
-
 			if (!account->enabled || !(uri = account->source->url))
 				continue;
 
 			if (!(provider = camel_provider_get(uri, NULL))) {
-				camel_exception_clear (&ex);
 				continue;
 			}
 
@@ -1289,8 +1279,7 @@ get_last_deleted_time (TrackerEvolutionPlugin *self)
 				continue;
 			}
 
-			if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex))) {
-				camel_exception_clear (&ex);
+			if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, NULL))) {
 				continue;
 			}
 
@@ -1345,9 +1334,15 @@ register_on_get_folder (gchar *uri, CamelFolder *folder, gpointer user_data)
 		goto not_ready;
 	}
 
+#ifdef HAVE_EDS_2_31_2
+	hook_id = g_signal_connect (folder, "changed",
+				    G_CALLBACK (on_folder_summary_changed),
+				    registry->hook_info);
+#else
 	hook_id = camel_object_hook_event (folder, "folder_changed",
 	                                   CAMEL_CALLBACK (on_folder_summary_changed),
 	                                   registry->hook_info);
+#endif
 	registry->hook_info->hook_id = hook_id;
 
 	g_hash_table_replace (priv->registered_folders,
@@ -1524,7 +1519,11 @@ free_worker_thread_info (gpointer data, gpointer user_data)
 	/* Ownership was transfered to us in try_again */
 	free_introduction_info (winfo->intro_info);
 	camel_db_close (winfo->cdb_r);
+#ifdef HAVE_EDS_2_31_2
+	g_object_unref (winfo->store);
+#else
 	camel_object_unref (winfo->store);
+#endif
 	camel_folder_info_free (winfo->iter);
 	g_free (winfo);
 }
@@ -1579,7 +1578,11 @@ on_got_folderinfo_introduce (CamelStore *store,
 
 	/* Ownership of these is transfered in try_again */
 
+#ifdef HAVE_EDS_2_31_2
+	g_object_ref (store);
+#else
 	camel_object_ref (store);
+#endif
 	info->store = store;
 	/* This apparently creates a thread */
 	info->cdb_r = camel_db_clone (store->cdb_r, NULL);
@@ -1622,24 +1625,20 @@ introduce_account_to (TrackerEvolutionPlugin *self,
 {
 	CamelProvider *provider;
 	CamelStore *store;
-	CamelException ex;
 	char *uri, *account_uri, *ptr;
 	IntroductionInfo *intro_info;
 
 	if (!account->enabled || !(uri = account->source->url))
 		return;
 
-	camel_exception_init (&ex);
-	if (!(provider = camel_provider_get(uri, &ex))) {
-		camel_exception_clear (&ex);
+	if (!(provider = camel_provider_get(uri, NULL))) {
 		return;
 	}
 
 	if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE))
 		return;
 
-	if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex))) {
-		camel_exception_clear (&ex);
+	if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, NULL))) {
 		return;
 	}
 
@@ -1660,7 +1659,11 @@ introduce_account_to (TrackerEvolutionPlugin *self,
 
 	mail_get_folderinfo (store, NULL, on_got_folderinfo_introduce, intro_info);
 
+#ifdef HAVE_EDS_2_31_2
+	g_object_unref (store);
+#else
 	camel_object_unref (store);
+#endif
 
 }
 
@@ -1821,7 +1824,11 @@ on_folder_deleted (CamelStore *store,
 
 static void
 on_folder_renamed (CamelStore *store,
+#ifdef HAVE_EDS_2_31_2
+		   gchar *old_name,
+#else
                    CamelRenameInfo *info,
+#endif
                    StoreRegistry *registry)
 {
 	unregister_account (registry->self, registry->account);
@@ -1839,7 +1846,11 @@ store_registry_new (gpointer co,
 	registry->store = co;
 	registry->account = account; /* weak */
 	registry->self = self; /* weak */
+#ifdef HAVE_EDS_2_31_2
+	g_object_ref (co);
+#else
 	camel_object_ref (co);
+#endif
 
 	return registry;
 }
@@ -1847,8 +1858,16 @@ store_registry_new (gpointer co,
 static void
 store_registry_free (StoreRegistry *registry)
 {
+#ifdef HAVE_EDS_2_31_2
+	g_signal_handler_disconnect (registry->store, registry->hook_id);
+#else
 	camel_object_remove_event (registry->store, registry->hook_id);
+#endif
+#ifdef HAVE_EDS_2_31_2
+	g_object_unref (registry->store);
+#else
 	camel_object_unref (registry->store);
+#endif
 	g_slice_free (StoreRegistry, registry);
 }
 
@@ -1876,27 +1895,45 @@ on_got_folderinfo_register (CamelStore *store,
 
 	/* Hook up catching folder changes in the store */
 	registry = store_registry_new (store, account, self);
+#ifdef HAVE_EDS_2_31_2
+	hook_id = g_signal_connect (store, "folder-created",
+				    G_CALLBACK (on_folder_created),
+				    registry);
+#else
 	hook_id = camel_object_hook_event (store, "folder_created",
 	                                   CAMEL_CALLBACK (on_folder_created),
 	                                   registry);
+#endif
 	registry->hook_id = hook_id;
 	g_hash_table_replace (priv->registered_stores,
 	                      GINT_TO_POINTER (hook_id),
 	                      registry);
 
 	registry = store_registry_new (store, account, self);
+#ifdef HAVE_EDS_2_31_2
+	hook_id = g_signal_connect (store, "folder-renamed",
+				    G_CALLBACK (on_folder_renamed),
+				    registry);
+#else
 	hook_id = camel_object_hook_event (store, "folder_renamed",
 	                                   CAMEL_CALLBACK (on_folder_renamed),
 	                                   registry);
+#endif
 	registry->hook_id = hook_id;
 	g_hash_table_replace (priv->registered_stores,
 	                      GINT_TO_POINTER (hook_id),
 	                      registry);
 
 	registry = store_registry_new (store, account, self);
+#ifdef HAVE_EDS_2_31_2
+	hook_id = g_signal_connect (store, "folder-deleted",
+				    G_CALLBACK (on_folder_deleted),
+				    registry);
+#else
 	hook_id = camel_object_hook_event (store, "folder_deleted",
 	                                   CAMEL_CALLBACK (on_folder_deleted),
 	                                   registry);
+#endif
 	registry->hook_id = hook_id;
 	g_hash_table_replace (priv->registered_stores,
 	                      GINT_TO_POINTER (hook_id),
@@ -1921,24 +1958,20 @@ register_account (TrackerEvolutionPlugin *self,
 {
 	CamelProvider *provider;
 	CamelStore *store;
-	CamelException ex;
 	char *uri;
 	RegisterInfo *reg_info;
 
 	if (!account->enabled || !(uri = account->source->url))
 		return;
 
-	camel_exception_init (&ex);
-	if (!(provider = camel_provider_get(uri, &ex))) {
-		camel_exception_clear (&ex);
+	if (!(provider = camel_provider_get(uri, NULL))) {
 		return;
 	}
 
 	if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE))
 		return;
 
-	if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex))) {
-		camel_exception_clear (&ex);
+	if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, NULL))) {
 		return;
 	}
 
@@ -1953,7 +1986,11 @@ register_account (TrackerEvolutionPlugin *self,
 	/* Get the account's folder-info and register it asynchronously */
 	mail_get_folderinfo (store, NULL, on_got_folderinfo_register, reg_info);
 
+#ifdef HAVE_EDS_2_31_2
+	g_object_unref (store);
+#else
 	camel_object_unref (store);
+#endif
 }
 
 static gboolean
@@ -1992,22 +2029,18 @@ unregister_account (TrackerEvolutionPlugin *self,
 {
 	CamelProvider *provider;
 	CamelStore *store;
-	CamelException ex;
 	char *uri = account->source->url;
 	RegisterInfo *reg_info;
 
 
-	camel_exception_init (&ex);
-	if (!(provider = camel_provider_get(uri, &ex))) {
-		camel_exception_clear (&ex);
+	if (!(provider = camel_provider_get(uri, NULL))) {
 		return;
 	}
 
 	if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE))
 		return;
 
-	if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex))) {
-		camel_exception_clear (&ex);
+	if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, NULL))) {
 		return;
 	}
 
@@ -2020,7 +2053,11 @@ unregister_account (TrackerEvolutionPlugin *self,
 	/* Get the account's folder-info and unregister asynchronously */
 	mail_get_folderinfo (store, NULL, on_got_folderinfo_unregister, reg_info);
 
+#ifdef HAVE_EDS_2_31_2
+	g_object_unref (store);
+#else
 	camel_object_unref (store);
+#endif
 }
 
 static void



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