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/mboxadd.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/mboxadd.H')
| -rw-r--r-- | libmail/mboxadd.H | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/libmail/mboxadd.H b/libmail/mboxadd.H new file mode 100644 index 0000000..7d4a24f --- /dev/null +++ b/libmail/mboxadd.H @@ -0,0 +1,71 @@ +/* +** Copyright 2002, Double Precision Inc. +** +** See COPYING for distribution information. +*/ +#ifndef libmail_mboxfolderadd_H +#define libmail_mboxfolderadd_H + +#include "libmail_config.h" +#include "mbox.H" +#include "mboxlock.H" +#include "addmessage.H" + +#include <stdio.h> + +LIBMAIL_START + +/////////////////////////////////////////////////////////////////////////// +// +// Add a message to a folder. + +class file; + +class mbox::folder::add : public addMessage, + public mail::callback { + + std::string path; + mail::callback &callback; + FILE *fp; + + ptr<mbox> mboxAccount; + + void reportProgress(size_t bytesCompleted, + size_t bytesEstimatedTotal, + + size_t messagesCompleted, + size_t messagesEstimatedTotal); + + // + // Lock whatever folder's being added to. + // + + class LockCurrentFolder : public mbox::LockTask { + + add &me; + + public: + LockCurrentFolder(add &meArg, std::string pathArg=""); + ~LockCurrentFolder(); + + bool locked(file &lockedFile); + }; + +public: + add(mbox &mboxArg, std::string pathArg, + mail::callback &callbackArg); + ~add(); + + void saveMessageContents(std::string); + void go(); + void fail(std::string); + + void success(std::string); + + void copyTo(file &file); +}; + +LIBMAIL_END + +#endif + |
