summaryrefslogtreecommitdiffstats
path: root/libmail/smaplist.H
diff options
context:
space:
mode:
Diffstat (limited to 'libmail/smaplist.H')
-rw-r--r--libmail/smaplist.H59
1 files changed, 59 insertions, 0 deletions
diff --git a/libmail/smaplist.H b/libmail/smaplist.H
new file mode 100644
index 0000000..1cc10e6
--- /dev/null
+++ b/libmail/smaplist.H
@@ -0,0 +1,59 @@
+/*
+** Copyright 2003, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+#ifndef libmail_smaplist_H
+#define libmail_smaplist_H
+
+#include "libmail_config.h"
+#include "mail.H"
+#include "imap.H"
+#include "smap.H"
+
+#include <vector>
+
+LIBMAIL_START
+
+class smapLIST : public smapHandler {
+
+protected:
+ std::string path;
+ mail::callback::folderList &listCallback;
+
+ const char *getName();
+
+protected:
+
+ std::vector<mail::folder *> subfolders;
+
+public:
+ smapLIST(std::string pathArg,
+ mail::callback::folderList &listCallbackArg,
+ mail::callback &callbackArg);
+ ~smapLIST();
+ void installed(imap &);
+
+ bool processLine(imap &imapAccount,
+ std::vector<const char *> &words);
+ bool ok(std::string);
+};
+
+class smapLISToneFolder : public smapLIST {
+
+ std::string nameComponent;
+
+public:
+ smapLISToneFolder(std::string pathArg,
+ mail::callback::folderList &listCallbackArg,
+ mail::callback &callbackArg);
+ ~smapLISToneFolder();
+
+ bool processLine(imap &imapAccount,
+ std::vector<const char *> &words);
+ bool ok(std::string);
+};
+
+LIBMAIL_END
+
+#endif