KolabMailImapClient

KolabMailImapClient — the Kolab2 IMAP client

Stability Level

Unstable, unless otherwise indicated

Synopsis

struct              KolabMailImapClientClass;
gboolean            kolab_mail_imap_client_bringup      (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_configure    (KolabMailImapClient *self,
                                                         EBackend *backend,
                                                         KolabSettingsHandler *ksettings,
                                                         KolabMailMimeBuilder *mimebuilder,
                                                         GError **err);
gboolean            kolab_mail_imap_client_create_folder
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         KolabFolderTypeID foldertype,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_delete       (KolabMailImapClient *self,
                                                         KolabMailHandle *kmailhandle,
                                                         gboolean imapuid_only,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_delete_folder
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_exists_folder
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         gboolean do_updatedb,
                                                         GCancellable *cancellable,
                                                         GError **err);
KolabFolderTypeID   kolab_mail_imap_client_get_folder_type
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         gboolean do_updatedb,
                                                         GCancellable *cancellable,
                                                         GError **err);
const gchar *       kolab_mail_imap_client_get_password (KolabMailImapClient *self);
gboolean            kolab_mail_imap_client_go_offline   (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_go_online    (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);
GList *             kolab_mail_imap_client_query_folder_info_online
                                                        (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);
KolabFolderSummary * kolab_mail_imap_client_query_folder_summary
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         GCancellable *cancellable,
                                                         GError **err);
GList *             kolab_mail_imap_client_query_foldernames
                                                        (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);
GList *             kolab_mail_imap_client_query_foldernames_anon
                                                        (gpointer self,
                                                         GCancellable *cancellable,
                                                         GError **err);
GHashTable *        kolab_mail_imap_client_query_summaries
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         const gchar *sexp,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_retrieve     (KolabMailImapClient *self,
                                                         KolabMailHandle *kmailhandle,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_shutdown     (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);
gboolean            kolab_mail_imap_client_store        (KolabMailImapClient *self,
                                                         KolabMailHandle *kmailhandle,
                                                         const gchar *foldername,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);

Description

This class is the Kolab2 mail access wrapper. It is comprised of at least the following

  • a CamelKolabIMAPXStore object
  • a CamelKolabSession object
  • some glue code / convenience code

This wrapper uses CamelKolabIMAPXStore and CamelKolabSession the way Evolution uses a camel provider, if possible in a simplified fashion (no other "provider" than CamelKolabIMAPXStore needs to be supported). The glue code aggregates as many fixed IMAPX-sequences as possible to provide a friendly API for use in KolabMailAccess.

Searching for emails based Kolab UID as well as based on search expressions is available.

Additional functionality like the assembly and disassembly of (Kolab) mail parts and handling of MIME message parts is done mainly via the KolabMailMimeBuilder class.

This class does not take care of offline PIM email management (transactions, syncing, ...). This is taken care of in another class, namely KolabMailSynchronizer.

Details

struct KolabMailImapClientClass

struct KolabMailImapClientClass {
	GObjectClass parent_class;
};

kolab_mail_imap_client_bringup ()

gboolean            kolab_mail_imap_client_bringup      (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_configure ()

gboolean            kolab_mail_imap_client_configure    (KolabMailImapClient *self,
                                                         EBackend *backend,
                                                         KolabSettingsHandler *ksettings,
                                                         KolabMailMimeBuilder *mimebuilder,
                                                         GError **err);

kolab_mail_imap_client_create_folder ()

gboolean            kolab_mail_imap_client_create_folder
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         KolabFolderTypeID foldertype,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_delete ()

gboolean            kolab_mail_imap_client_delete       (KolabMailImapClient *self,
                                                         KolabMailHandle *kmailhandle,
                                                         gboolean imapuid_only,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_delete_folder ()

gboolean            kolab_mail_imap_client_delete_folder
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_exists_folder ()

gboolean            kolab_mail_imap_client_exists_folder
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         gboolean do_updatedb,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_get_folder_type ()

KolabFolderTypeID   kolab_mail_imap_client_get_folder_type
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         gboolean do_updatedb,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_get_password ()

const gchar *       kolab_mail_imap_client_get_password (KolabMailImapClient *self);

kolab_mail_imap_client_go_offline ()

gboolean            kolab_mail_imap_client_go_offline   (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_go_online ()

gboolean            kolab_mail_imap_client_go_online    (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_query_folder_info_online ()

GList *             kolab_mail_imap_client_query_folder_info_online
                                                        (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_query_folder_summary ()

KolabFolderSummary * kolab_mail_imap_client_query_folder_summary
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_query_foldernames ()

GList *             kolab_mail_imap_client_query_foldernames
                                                        (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_query_foldernames_anon ()

GList *             kolab_mail_imap_client_query_foldernames_anon
                                                        (gpointer self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_query_summaries ()

GHashTable *        kolab_mail_imap_client_query_summaries
                                                        (KolabMailImapClient *self,
                                                         const gchar *foldername,
                                                         const gchar *sexp,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_retrieve ()

gboolean            kolab_mail_imap_client_retrieve     (KolabMailImapClient *self,
                                                         KolabMailHandle *kmailhandle,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_shutdown ()

gboolean            kolab_mail_imap_client_shutdown     (KolabMailImapClient *self,
                                                         GCancellable *cancellable,
                                                         GError **err);

kolab_mail_imap_client_store ()

gboolean            kolab_mail_imap_client_store        (KolabMailImapClient *self,
                                                         KolabMailHandle *kmailhandle,
                                                         const gchar *foldername,
                                                         gboolean update,
                                                         GCancellable *cancellable,
                                                         GError **err);

See Also

CamelKolabIMAPXStore, CamelKolabSession