summaryrefslogtreecommitdiff
path: root/src/plugins/evolution/tracker-evolution-plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/evolution/tracker-evolution-plugin.c')
-rw-r--r--src/plugins/evolution/tracker-evolution-plugin.c123
1 files changed, 70 insertions, 53 deletions
diff --git a/src/plugins/evolution/tracker-evolution-plugin.c b/src/plugins/evolution/tracker-evolution-plugin.c
index fc9923ab7..9b112225b 100644
--- a/src/plugins/evolution/tracker-evolution-plugin.c
+++ b/src/plugins/evolution/tracker-evolution-plugin.c
@@ -18,6 +18,7 @@
*
* Authors:
* Philip Van Hoof <philip@codeminded.be>
+ * Martyn Russell <martyn@lanedo.com>
*/
#include "config.h"
@@ -40,27 +41,39 @@
#include <sqlite3.h>
+#include <libedataserver/eds-version.h>
+
#include <camel/camel.h>
-#include <mail/mail-config.h>
#include <mail/em-utils.h>
-#include <mail/mail-ops.h>
#ifdef EVOLUTION_SHELL_3_2
+#include <mail/em-utils.h>
#include <mail/e-mail.h>
-#endif
-
+#endif /* EVOLUTION_SHELL_3_2 */
+
+#ifdef EVOLUTION_SHELL_3_3_5
+#include <libemail-engine/e-mail-folder-utils.h>
+#include <libemail-engine/e-mail-session.h>
+#include <libemail-engine/mail-config.h>
+#include <libemail-engine/mail-ops.h>
+#include <libemail-utils/e-account-utils.h>
+#else /* EVOLUTION_SHELL_3_3_5 */
+#include <mail/e-mail-folder-utils.h>
+#include <mail/mail-config.h>
+#include <mail/mail-ops.h>
+#include <e-util/e-account-utils.h>
#ifdef EVOLUTION_SHELL_2_91
#include <mail/e-mail-session.h>
-#else
+#else /* EVOLUTION_SHELL_2_91 */
#include <mail/mail-session.h>
-#endif
+#endif /* EVOLUTION_SHELL_2_91 */
+#endif /* EVOLUTION_SHELL_3_3_5 */
#include <mail/e-mail-backend.h>
#include <shell/e-shell.h>
#include <e-util/e-config.h>
-#include <e-util/e-account-utils.h>
#include <libedataserver/e-account.h>
#include <libedataserver/e-account-list.h>
@@ -572,7 +585,7 @@ message_uri_build (CamelFolder *folder,
g_free (folder_uri);
return uri;
-#else
+#else /* EVOLUTION_SHELL_3_2 */
CamelURL *a_url, *url;
const gchar *path;
gchar *uri, *qry, *ppath;
@@ -605,7 +618,7 @@ message_uri_build (CamelFolder *folder,
camel_url_free (url);
return uri;
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
/* When new messages arrive to- or got deleted from the summary, called in
@@ -671,7 +684,11 @@ on_folder_summary_changed (CamelFolder *folder,
const CamelFlag *cflags;
gchar *full_sparql;
+#if EDS_CHECK_VERSION(3,3,1)
+ linfo = camel_folder_summary_get (summary, merged->pdata[i]);
+#else
linfo = camel_folder_summary_uid (summary, merged->pdata[i]);
+#endif
if (linfo) {
uid = (gchar *) camel_message_info_uid (linfo);
@@ -777,9 +794,9 @@ on_folder_summary_changed (CamelFolder *folder,
#ifdef EVOLUTION_SHELL_3_2
folder_name = camel_folder_get_display_name (folder);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
folder_name = camel_folder_get_name (folder);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
if (folder_name && *folder_name) {
str = g_strdup_printf ("Updating E-mails for %s",
@@ -909,9 +926,9 @@ introduce_walk_folders_in_folder (TrackerMinerEvolution *self,
#ifdef EVOLUTION_SHELL_3_2
status = g_strdup_printf ("Processing folder %s", iter->display_name);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
status = g_strdup_printf ("Processing folder %s", iter->name);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
g_object_set (self, "progress", 0.01, "status", status, NULL);
ret = sqlite3_prepare_v2 (cdb_r->db, query, -1, &stmt, NULL);
@@ -1299,11 +1316,11 @@ get_last_deleted_time (TrackerMinerEvolution *self)
if (!(store = (CamelStore *) camel_session_get_service (CAMEL_SESSION (session),
#ifdef EVOLUTION_SHELL_3_2
account->uid))) {
-#else
+#else /* EVOLUTION_SHELL_3_2 */
uri,
CAMEL_PROVIDER_STORE,
NULL))) {
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
continue;
}
@@ -1344,13 +1361,13 @@ register_on_get_folder (GObject *source_object,
gpointer user_data)
{
CamelFolder *folder = camel_store_get_folder_finish (CAMEL_STORE (source_object), res, NULL);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
static void
register_on_get_folder (gchar *uri,
CamelFolder *folder,
gpointer user_data)
{
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
GetFolderInfo *info = user_data;
gchar *account_uri = info->account_uri;
CamelFolderInfo *iter = info->iter;
@@ -1433,17 +1450,17 @@ register_walk_folders_in_folder (TrackerMinerEvolution *self,
NULL,
register_on_get_folder,
info);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
mail_get_folder (
#ifdef EVOLUTION_SHELL_2_91
session,
-#endif
+#endif /* EVOLUTION_SHELL_2_91 */
iter->uri,
0,
register_on_get_folder,
info,
mail_msg_unordered_push);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
if (iter->child) {
register_walk_folders_in_folder (self, iter->child,
@@ -1462,13 +1479,13 @@ unregister_on_get_folder (GObject *source_object,
gpointer user_data)
{
CamelFolder *folder = camel_store_get_folder_finish (CAMEL_STORE (source_object), res, NULL);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
static void
unregister_on_get_folder (gchar *uri,
CamelFolder *folder,
gpointer user_data)
{
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
GetFolderInfo *info = user_data;
CamelFolderInfo *titer = info->iter;
TrackerMinerEvolution *self = info->self;
@@ -1532,17 +1549,17 @@ unregister_walk_folders_in_folder (TrackerMinerEvolution *self,
NULL,
unregister_on_get_folder,
info);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
mail_get_folder (
#ifdef EVOLUTION_SHELL_2_91
session,
-#endif
+#endif /* EVOLUTION_SHELL_2_91 */
titer->uri,
0,
unregister_on_get_folder,
info,
mail_msg_unordered_push);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
if (titer->child) {
unregister_walk_folders_in_folder (self, titer->child,
@@ -1642,13 +1659,13 @@ on_got_folderinfo_introduce (GObject *source_object,
{
CamelStore *store = CAMEL_STORE (source_object);
CamelFolderInfo *iter = camel_store_get_folder_info_finish (store, res, NULL);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
static gboolean
on_got_folderinfo_introduce (CamelStore *store,
CamelFolderInfo *iter,
void *data)
{
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
TryAgainInfo *info = g_new0 (TryAgainInfo, 1);
/* Ownership of these is transfered in try_again */
@@ -1687,9 +1704,9 @@ on_got_folderinfo_introduce (CamelStore *store,
#ifdef EVOLUTION_SHELL_3_2
camel_store_free_folder_info (store, iter);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
return TRUE;
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
static void
@@ -1715,11 +1732,11 @@ introduce_account_to (TrackerMinerEvolution *self,
if (!(store = (CamelStore *) camel_session_get_service (CAMEL_SESSION (session),
#ifdef EVOLUTION_SHELL_3_2
account->uid))) {
-#else
+#else /* EVOLUTION_SHELL_3_2 */
uri,
CAMEL_PROVIDER_STORE,
NULL))) {
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
return;
}
@@ -1748,13 +1765,13 @@ introduce_account_to (TrackerMinerEvolution *self,
NULL,
on_got_folderinfo_introduce,
intro_info);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
mail_get_folderinfo (store, NULL, on_got_folderinfo_introduce, intro_info);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
#ifndef EVOLUTION_SHELL_3_2
g_object_unref (store);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
@@ -1961,13 +1978,13 @@ on_got_folderinfo_register (GObject *source_object,
{
CamelStore *store = CAMEL_STORE (source_object);
CamelFolderInfo *iter = camel_store_get_folder_info_finish (store, res, NULL);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
static gboolean
on_got_folderinfo_register (CamelStore *store,
CamelFolderInfo *iter,
void *data)
{
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
RegisterInfo *reg_info = data;
TrackerMinerEvolution *self = reg_info->self;
TrackerMinerEvolutionPrivate *priv;
@@ -2026,9 +2043,9 @@ on_got_folderinfo_register (CamelStore *store,
#ifdef EVOLUTION_SHELL_3_2
camel_store_free_folder_info (store, iter);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
return TRUE;
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
static void
@@ -2055,11 +2072,11 @@ register_account (TrackerMinerEvolution *self,
if (!(store = (CamelStore *) camel_session_get_service (CAMEL_SESSION (session),
#ifdef EVOLUTION_SHELL_3_2
account->uid))) {
-#else
+#else /* EVOLUTION_SHELL_3_2 */
uri,
CAMEL_PROVIDER_STORE,
NULL))) {
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
return;
}
@@ -2082,13 +2099,13 @@ register_account (TrackerMinerEvolution *self,
NULL,
on_got_folderinfo_register,
reg_info);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
mail_get_folderinfo (store, NULL, on_got_folderinfo_register, reg_info);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
#ifndef EVOLUTION_SHELL_3_2
g_object_unref (store);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
#ifdef EVOLUTION_SHELL_3_2
@@ -2099,13 +2116,13 @@ on_got_folderinfo_unregister (GObject *source_object,
{
CamelStore *store = CAMEL_STORE (source_object);
CamelFolderInfo *titer = camel_store_get_folder_info_finish (store, res, NULL);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
static gboolean
on_got_folderinfo_unregister (CamelStore *store,
CamelFolderInfo *titer,
void *data)
{
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
RegisterInfo *reg_info = data;
TrackerMinerEvolution *self = reg_info->self;
TrackerMinerEvolutionPrivate *priv;
@@ -2131,9 +2148,9 @@ on_got_folderinfo_unregister (CamelStore *store,
#ifdef EVOLUTION_SHELL_3_2
camel_store_free_folder_info (store, titer);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
return TRUE;
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
static void
@@ -2155,11 +2172,11 @@ unregister_account (TrackerMinerEvolution *self,
if (!(store = (CamelStore *) camel_session_get_service (CAMEL_SESSION (session),
#ifdef EVOLUTION_SHELL_3_2
account->uid))) {
-#else
+#else /* EVOLUTION_SHELL_3_2 */
uri,
CAMEL_PROVIDER_STORE,
NULL))) {
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
return;
}
@@ -2180,13 +2197,13 @@ unregister_account (TrackerMinerEvolution *self,
NULL,
on_got_folderinfo_unregister,
reg_info);
-#else
+#else /* EVOLUTION_SHELL_3_2 */
mail_get_folderinfo (store, NULL, on_got_folderinfo_unregister, reg_info);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
#ifndef EVOLUTION_SHELL_3_2
g_object_unref (store);
-#endif
+#endif /* EVOLUTION_SHELL_3_2 */
}
static void
@@ -2425,7 +2442,7 @@ tracker_miner_evolution_init (TrackerMinerEvolution *plugin)
shell_backend = e_shell_get_backend_by_name (shell, "mail");
session = e_mail_backend_get_session (E_MAIL_BACKEND (shell_backend));
}
-#endif
+#endif /* EVOLUTION_SHELL_2_91 */
priv->sparql_cancel = g_cancellable_new ();