diff options
| author | Sam Varshavchik | 2013-08-19 16:39:41 -0400 | 
|---|---|---|
| committer | Sam Varshavchik | 2013-08-25 14:43:51 -0400 | 
| commit | 9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch) | |
| tree | 7a81a04cb51efb078ee350859a64be2ebc6b8813 /libmail/imapfetchhandler.H | |
| parent | a9520698b770168d1f33d6301463bb70a19655ec (diff) | |
| download | courier-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/imapfetchhandler.H')
| -rw-r--r-- | libmail/imapfetchhandler.H | 74 | 
1 files changed, 74 insertions, 0 deletions
| diff --git a/libmail/imapfetchhandler.H b/libmail/imapfetchhandler.H new file mode 100644 index 0000000..dcc23f6 --- /dev/null +++ b/libmail/imapfetchhandler.H @@ -0,0 +1,74 @@ +/* +** Copyright 2002, Double Precision Inc. +** +** See COPYING for distribution information. +*/ +#ifndef libmail_imapfetchhandler_H +#define libmail_imapfetchhandler_H + +#include	"config.h" +#include	"imap.H" +#include	"imaphandler.H" + +LIBMAIL_START + +/////////////////////////////////////////////////////////////////////////// +// +//  A helper class for processing IMAP FETCH. + +class imapFetchHandler : public imapCommandHandler { + +	mail::callback::message &callback; + +	std::string name; + +	imap *imapAccount; + +	std::string failmsg; + +public: +	int counter; + +	std::queue<std::pair<std::string, std::string> > commands; + +	imapFetchHandler(mail::callback::message &callbackArg, +			       std::string nameArg); + +	~imapFetchHandler(); + +	bool untaggedMessage(imap &imapAccount, std::string name); + +	bool taggedMessage(imap &imapAccount, std::string name, +			   std::string message, +			   bool okfail, std::string errmsg); + +	void installed(imap &imapArg); + +	void messageTextCallback(size_t messageNum, std::string text); +	void messageEnvelopeCallback(size_t messageNumber, +				     const envelope &envelope); +	void messageReferencesCallback(size_t messageNumber, +				       const std::vector<std::string> +				       &references); +	void messageStructureCallback(size_t messageNumber, +				      const mimestruct &messageStructure); + +	void messageArrivalDateCallback(size_t messageNumber, +					time_t datetime); + +	void messageSizeCallback(size_t messageNumber, +				 unsigned long messagesize); + +	void timedOut(const char *); + +	size_t messageTextEstimatedSize; +	size_t messageTextCompleted; +	size_t messageCntDone; +	size_t messageCntTotal; +private: +	const char *getName(); +}; + +LIBMAIL_END + +#endif | 
