summaryrefslogtreecommitdiffstats
path: root/libmail/smapopen.H
diff options
context:
space:
mode:
Diffstat (limited to 'libmail/smapopen.H')
-rw-r--r--libmail/smapopen.H56
1 files changed, 56 insertions, 0 deletions
diff --git a/libmail/smapopen.H b/libmail/smapopen.H
new file mode 100644
index 0000000..2edf04f
--- /dev/null
+++ b/libmail/smapopen.H
@@ -0,0 +1,56 @@
+/*
+** Copyright 2003, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+#ifndef libmail_smapopen_H
+#define libmail_smapopen_H
+
+#include "libmail_config.h"
+#include "mail.H"
+#include "imap.H"
+#include "smap.H"
+
+#include <vector>
+
+LIBMAIL_START
+
+class smapFOLDER;
+
+class smapOPEN : public smapHandler {
+
+ std::string path;
+ mail::snapshot *restoreSnapshot;
+ mail::callback::folder &folderCallback;
+
+ smapFOLDER *newSmapFolder;
+
+ const char *getName();
+
+ size_t exists;
+
+ bool restoringSnapshot;
+ size_t presnapshotExists;
+
+ class SnapshotRestoreHelper;
+
+public:
+ smapOPEN(std::string pathArg,
+ mail::snapshot *restoreSnapshotArg,
+ mail::callback &openCallbackArg,
+ mail::callback::folder &folderCallbackArg);
+
+ ~smapOPEN();
+ void installed(imap &);
+ bool processLine(imap &imapAccount,
+ std::vector<const char *> &words);
+ bool ok(std::string);
+
+ void messagesRemoved(std::vector< std::pair<size_t, size_t> >
+ &removedList);
+ void messageChanged(size_t msgNum);
+};
+
+LIBMAIL_END
+
+#endif