summaryrefslogtreecommitdiffstats
path: root/libmail/imaphandler.H
diff options
context:
space:
mode:
Diffstat (limited to 'libmail/imaphandler.H')
-rw-r--r--libmail/imaphandler.H86
1 files changed, 0 insertions, 86 deletions
diff --git a/libmail/imaphandler.H b/libmail/imaphandler.H
deleted file mode 100644
index 222b791..0000000
--- a/libmail/imaphandler.H
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-** Copyright 2002, Double Precision Inc.
-**
-** See COPYING for distribution information.
-*/
-#ifndef libmail_imaphandler_H
-#define libmail_imaphandler_H
-
-#include "libmail_config.h"
-#include "imap.H"
-
-LIBMAIL_START
-
-//////////////////////////////////////////////////////////////////////////
-//
-// Something that tokenizes server response.
-//
-
-class imapHandlerStructured : public imapHandler {
-
- int errormode;
- int donemode;
- int stringmode;
-
- size_t largestringleft;
- std::string errbuf;
- std::string stringbuffer;
-
-protected:
- size_t largestringsize;
-public:
- imapHandlerStructured(int timeoutVal=60)
- : imapHandler(timeoutVal), errormode(0),
- donemode(0), stringmode(0), largestringleft(0)
- {
- }
-
- enum TokenType {
- EOL=256,
- ATOM,
- STRING,
- LARGESTRING, // Another LARGESTRING, or STRING will follow
- NIL
- };
-
- class Token {
- public:
- int token;
- std::string text;
-
- Token(enum TokenType t, std::string s) : token(t), text(s) {}
- Token(int t, std::string s) : token(t), text(s) {}
- Token(enum TokenType t) : token((int)t) {}
- Token(int t) : token(t) {}
-
- operator int() { return token; }
-
- bool operator== (int t) { return t == token; }
- bool operator== (enum TokenType t) { return (int)t == token; }
- bool operator!= (int t) { return t != token; }
- bool operator!= (enum TokenType t) { return (int)t != token; }
-
- operator std::string();
- };
-
- virtual void error(imap &);
- virtual void done();
-protected:
-
- virtual int process(imap &imapAccount, std::string &buffer);
-private:
- virtual void process(imap &imapAccount, Token t)=0;
-
- virtual bool wantLargeString();
-
- // Subclass should return true if it's willing to accept {nnn}\r\n
- // piecemeal, using LARGESTRING tokens.
- // Otherwise, any {nnn}\r\n is converted to a string (up to some
- // reasonable limit)
-
-
-};
-
-LIBMAIL_END
-
-#endif