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/smapfetchattr.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/smapfetchattr.H')
| -rw-r--r-- | libmail/smapfetchattr.H | 83 | 
1 files changed, 83 insertions, 0 deletions
| diff --git a/libmail/smapfetchattr.H b/libmail/smapfetchattr.H new file mode 100644 index 0000000..89ca22d --- /dev/null +++ b/libmail/smapfetchattr.H @@ -0,0 +1,83 @@ +/* +** Copyright 2003, Double Precision Inc. +** +** See COPYING for distribution information. +*/ +#ifndef libmail_smapfetchattr_H +#define libmail_smapfetchattr_H + +#include "libmail_config.h" +#include	"mail.H" +#include	"smap.H" +#include	"envelope.H" +#include	"structure.H" + +#include "smapmsgrange.H" + +LIBMAIL_START + +class smapFETCHATTR : public smapHandler { + +	const char *getName(); + +	smapUidSet uidSet; +	smapMsgRange fetchList; +	mail::account::MessageAttributes attributes; +	mail::callback::message &msgcallback; + +	size_t nextPtr; + +public: +	smapFETCHATTR(const std::vector<size_t> &messages, +		      mail::account::MessageAttributes attributesArg, +		      mail::callback::message &callbackArg, +		      mail::imap &imapAccount); +	~smapFETCHATTR(); + +	void installed(imap &); +	bool ok(std::string); + +	bool go(); + +private: +	void fetchedMessageSize(size_t msgNum, +				unsigned long bytes); + +	void fetchedInternalDate(size_t msgNum, +				 time_t internalDate); + +	void beginProcessData(imap &imapAccount, +			      std::vector<const char *> &words, +			      unsigned long estimatedSize); +	void processData(imap &imapAccount, +			 std::string data); +	void endData(imap &imapAccount); + +	std::string fetchingHeader; +	size_t fetchingMessageNum; +	bool doFetchingEnvelope; +	bool seenMimeVersion; + +	mail::mimestruct *doFetchingStructure; +	size_t fetchingStructCount; + +	mail::envelope fetchingEnvelope; +	mail::mimestruct fetchingStructure; + +	void processFetchedHeader(std::string); + +	void checkMimeVersion(); + +	static mail::mimestruct *findMimeId(mail::mimestruct *p, +					    std::string mimeid, +					    size_t recursionLevel); + +	static void parseMimeHeader(std::string, +				    std::string &, +				    mail::mimestruct::parameterList &); + +}; + +LIBMAIL_END + +#endif | 
