#include <glib.h>
#include <time.h>
+#if USE_SSL
+# include "ssl.h"
+#endif
#include "folder.h"
#include "session.h"
#include "procmsg.h"
typedef struct _IMAPFolder IMAPFolder;
typedef struct _IMAPSession IMAPSession;
typedef struct _IMAPNameSpace IMAPNameSpace;
+typedef struct _IMAPFolderItem IMAPFolderItem;
#include "prefs_account.h"
{
RemoteFolder rfolder;
- GList *namespace; /* list of IMAPNameSpace */
+ gchar *selected_folder;
+
+ /* list of IMAPNameSpace */
+ GList *ns_personal;
+ GList *ns_others;
+ GList *ns_shared;
};
struct _IMAPSession
gchar separator;
};
+struct _IMAPFolderItem
+{
+ FolderItem item;
+
+ guint lastuid;
+ GSList *uid_list;
+};
+
#define IMAP_SUCCESS 0
#define IMAP_SOCKET 2
#define IMAP_AUTHFAIL 3
const gchar *path);
void imap_folder_destroy (IMAPFolder *folder);
+FolderItem *imap_folder_item_new ();
+void imap_folder_item_destroy (FolderItem *item);
+
Session *imap_session_new (const PrefsAccount *account);
void imap_session_destroy (IMAPSession *session);
void imap_session_destroy_all (void);
gint uid);
gint imap_remove_all_msg (Folder *folder,
FolderItem *item);
+gboolean imap_is_msg_changed (Folder *folder,
+ FolderItem *item,
+ MsgInfo *msginfo);
-void imap_scan_folder (Folder *folder,
+gint imap_scan_folder (Folder *folder,
FolderItem *item);
void imap_scan_tree (Folder *folder);
FolderItem *imap_create_folder (Folder *folder,
FolderItem *parent,
const gchar *name);
+gint imap_rename_folder (Folder *folder,
+ FolderItem *item,
+ const gchar *name);
gint imap_remove_folder (Folder *folder,
FolderItem *item);