diff options
Diffstat (limited to 'libmail/mboxopen.H')
| -rw-r--r-- | libmail/mboxopen.H | 63 | 
1 files changed, 63 insertions, 0 deletions
| diff --git a/libmail/mboxopen.H b/libmail/mboxopen.H new file mode 100644 index 0000000..acceefa --- /dev/null +++ b/libmail/mboxopen.H @@ -0,0 +1,63 @@ +/* +** Copyright 2002, Double Precision Inc. +** +** See COPYING for distribution information. +*/ +#ifndef libmail_mboxopen_H +#define libmail_mboxopen_H + +#include "libmail_config.h" +#include "mbox.H" + +LIBMAIL_START + +class file; + +///////////////////////////////////////////////////////////////////////// +// +// A couple of tasks that open the mboxAccount folder. + + +class mbox::OpenTask : public mbox::TimedTask { + +	std::string folder; +	mail::callback::folder *openCallback; + +	bool scan(file &scanFile, +		  file *saveFile, +		  bool skipDeleted); + +protected: +	virtual void opened(const char *okmsg, mail::callback &callback); + +public: +	OpenTask(mbox &mboxAccount, +		 std::string folderArg, mail::callback &callbackArg, +		 mail::callback::folder *openCallbackArg +		 // Not NULL - this is mail::account::Open(), and here's the new +		 // folder callback. +		 // NULL - opening the folder for some other reason +		 ); + +	~OpenTask(); + +	bool doit(); +}; + +// +// Subclass OpenTask to implement a new mail check. + +class mbox::CheckNewMailTask : public mbox::OpenTask { + +	void opened(const char *okmsg, mail::callback &callback); + +public: +	CheckNewMailTask(mbox &mboxAccount, +		 std::string folderArg, mail::callback &callbackArg, +		 mail::callback::folder *openCallbackArg); +	~CheckNewMailTask(); +}; + +LIBMAIL_END + +#endif | 
