summaryrefslogtreecommitdiffstats
path: root/libmail/smapfetch.H
diff options
context:
space:
mode:
authorSam Varshavchik2013-08-19 16:39:41 -0400
committerSam Varshavchik2013-08-25 14:43:51 -0400
commit9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch)
tree7a81a04cb51efb078ee350859a64be2ebc6b8813 /libmail/smapfetch.H
parenta9520698b770168d1f33d6301463bb70a19655ec (diff)
downloadcourier-libs-9c45d9ad13fdf439d44d7443ae75da15ea0223ed.tar.bz2
Initial checkin
Imported from subversion report, converted to git. Updated all paths in scripts and makefiles, reflecting the new directory hierarchy.
Diffstat (limited to 'libmail/smapfetch.H')
-rw-r--r--libmail/smapfetch.H62
1 files changed, 62 insertions, 0 deletions
diff --git a/libmail/smapfetch.H b/libmail/smapfetch.H
new file mode 100644
index 0000000..1c86074
--- /dev/null
+++ b/libmail/smapfetch.H
@@ -0,0 +1,62 @@
+/*
+** Copyright 2003, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+#ifndef libmail_smapfetch_H
+#define libmail_smapfetch_H
+
+#include "libmail_config.h"
+#include "mail.H"
+#include "smap.H"
+
+#include "smapmsgrange.H"
+
+LIBMAIL_START
+
+class smapFETCH : public smapHandler {
+
+ const char *getName();
+
+ smapUidSet uidSet;
+ smapMsgRange msgRange;
+
+ std::string fetchCmd;
+ size_t fetchingMessageNum;
+
+ mail::callback::message &msgcallback;
+
+ size_t expectedCount;
+ size_t countProcessed;
+
+ unsigned long estimatedSize;
+ unsigned long sizeDone;
+
+public:
+ smapFETCH(const std::vector<size_t> &messages,
+ bool peekArg,
+ std::string mime_idArg,
+ mail::readMode getType,
+ const char *decodedArg,
+ mail::callback::message &msgcallbackArg,
+ mail::imap &imapAccount);
+ ~smapFETCH();
+
+ void installed(imap &);
+ bool ok(std::string);
+
+ bool go();
+
+private:
+ void beginProcessData(imap &imapAccount,
+ std::vector<const char *> &words,
+ unsigned long estimatedSize);
+ void processData(imap &imapAccount,
+ std::string data);
+ void endData(imap &imapAccount);
+
+};
+
+LIBMAIL_END
+
+#endif