aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-10-07 11:38:52 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-10-13 01:58:59 +0800
commita06e4484b8df804124b5bcf88d94dec5acfba270 (patch)
tree4fa42793d7dc461f2b3767296d76592182c48222 /mail/mail-ops.h
parent5e0758bb6934a7859b1d8a247c8fb21c156772cf (diff)
downloadgsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.gz
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.bz2
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.lz
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.xz
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.zst
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.zip
Give MailSession a permanent home.
Global variables in shared libraries are a bad idea. EMailBackend now owns the MailSession instance, which is actually now EMailSession. Move the blocking utility functions in mail-tools.c to e-mail-session.c and add asynchronous variants. Same approach as Camel. Replace EMailReader.get_shell_backend() with EMailReader.get_backend(), which returns an EMailBackend. Easier access to the EMailSession.
Diffstat (limited to 'mail/mail-ops.h')
-rw-r--r--mail/mail-ops.h68
1 files changed, 41 insertions, 27 deletions
diff --git a/mail/mail-ops.h b/mail/mail-ops.h
index 4bea1b03df..751ac9de93 100644
--- a/mail/mail-ops.h
+++ b/mail/mail-ops.h
@@ -29,19 +29,22 @@ G_BEGIN_DECLS
#include <camel/camel.h>
#include <libedataserver/e-account.h>
-#include "mail-mt.h"
+#include <mail/mail-mt.h>
+#include <mail/e-mail-session.h>
void mail_append_mail (CamelFolder *folder, CamelMimeMessage *message, CamelMessageInfo *info,
void (*done)(CamelFolder *folder, CamelMimeMessage *msg, CamelMessageInfo *info, gint ok,
const gchar *appended_uid, gpointer data),
gpointer data);
-void mail_transfer_messages (CamelFolder *source, GPtrArray *uids,
- gboolean delete_from_source,
- const gchar *dest_uri,
- guint32 dest_flags,
- void (*done) (gboolean ok, gpointer data),
- gpointer data);
+void mail_transfer_messages (EMailSession *session,
+ CamelFolder *source,
+ GPtrArray *uids,
+ gboolean delete_from_source,
+ const gchar *dest_uri,
+ guint32 dest_flags,
+ void (*done) (gboolean ok, gpointer data),
+ gpointer data);
/* get a single message, asynchronously */
gint mail_get_message (CamelFolder *folder, const gchar *uid,
@@ -60,9 +63,12 @@ gint mail_get_messages (CamelFolder *folder, GPtrArray *uids,
gpointer data);
/* same for a folder */
-gint mail_get_folder (const gchar *uri, guint32 flags,
- void (*done) (gchar *uri, CamelFolder *folder, gpointer data), gpointer data,
- MailMsgDispatchFunc dispatch);
+gint mail_get_folder (EMailSession *session,
+ const gchar *uri,
+ guint32 flags,
+ void (*done) (gchar *uri, CamelFolder *folder, gpointer data),
+ gpointer data,
+ MailMsgDispatchFunc dispatch);
/* get quota information for a folder */
gint mail_get_folder_quota (CamelFolder *folder,
@@ -71,8 +77,11 @@ gint mail_get_folder_quota (CamelFolder *folder,
gpointer data, MailMsgDispatchFunc dispatch);
/* and for a store */
-gint mail_get_store (const gchar *uri, GCancellable *cancellable,
- void (*done) (gchar *uri, CamelStore *store, gpointer data), gpointer data);
+gint mail_get_store (EMailSession *session,
+ const gchar *uri,
+ GCancellable *cancellable,
+ void (*done) (gchar *uri, CamelStore *store, gpointer data),
+ gpointer data);
/* build an attachment */
void mail_build_attachment (CamelFolder *folder, GPtrArray *uids,
@@ -94,9 +103,10 @@ void mail_expunge_folder (CamelFolder *folder,
void (*done) (CamelFolder *folder, gpointer data),
gpointer data);
-void mail_empty_trash (EAccount *account,
- void (*done) (EAccount *account, gpointer data),
- gpointer data);
+void mail_empty_trash (EMailSession *session,
+ EAccount *account,
+ void (*done) (EAccount *account, gpointer data),
+ gpointer data);
/* get folder info asynchronously */
gint mail_get_folderinfo (CamelStore *store,
@@ -121,7 +131,8 @@ gint mail_save_messages (CamelFolder *folder, GPtrArray *uids, const gchar *path
gpointer data);
/* yeah so this is messy, but it does a lot, maybe i can consolidate all user_data's to be the one */
-void mail_send_queue (CamelFolder *queue,
+void mail_send_queue (EMailSession *session,
+ CamelFolder *queue,
const gchar *destination,
const gchar *type,
GCancellable *cancellable,
@@ -132,7 +143,8 @@ void mail_send_queue (CamelFolder *queue,
void (*done)(const gchar *destination, gpointer data),
gpointer data);
-void mail_fetch_mail (const gchar *source,
+void mail_fetch_mail (EMailSession *session,
+ const gchar *source,
gint keep,
const gchar *type,
GCancellable *cancellable,
@@ -143,19 +155,18 @@ void mail_fetch_mail (const gchar *source,
void (*done)(const gchar *source, gpointer data),
gpointer data);
-void mail_filter_folder (CamelFolder *source_folder,
+void mail_filter_folder (EMailSession *session,
+ CamelFolder *source_folder,
GPtrArray *uids,
const gchar *type,
gboolean notify);
-/* convenience functions for above */
-void mail_filter_on_demand (CamelFolder *folder, GPtrArray *uids);
-void mail_filter_junk (CamelFolder *folder, GPtrArray *uids);
-
/* Work Offline */
-void mail_prep_offline (const gchar *uri, CamelOperation *cancel,
- void (*done)(const gchar *, gpointer data),
- gpointer data);
+void mail_prep_offline (EMailSession *session,
+ const gchar *uri,
+ CamelOperation *cancel,
+ void (*done)(const gchar *, gpointer data),
+ gpointer data);
gint mail_store_set_offline (CamelStore *store, gboolean offline,
void (*done)(CamelStore *, gpointer data),
gpointer data);
@@ -164,8 +175,11 @@ gint mail_store_prepare_offline (CamelStore *store);
/* filter driver execute shell command async callback */
void mail_execute_shell_command (CamelFilterDriver *driver, gint argc, gchar **argv, gpointer data);
-gint mail_check_service (const gchar *url, CamelProviderType type,
- void (*done)(const gchar *url, CamelProviderType type, GList *authtypes, gpointer data), gpointer data);
+gint mail_check_service (EMailSession *session,
+ const gchar *url,
+ CamelProviderType type,
+ void (*done)(const gchar *url, CamelProviderType type, GList *authtypes, gpointer data),
+ gpointer data);
G_END_DECLS