00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
#ifndef FOLDERJOB_H
00032
#define FOLDERJOB_H
00033
00034
#include "kmmessage.h"
00035
00036
#include <qobject.h>
00037
#include <qptrlist.h>
00038
#include <qstring.h>
00039
00040
class KMFolder;
00041
00042
namespace KMail {
00043
00044
class FolderJob :
public QObject
00045 {
00046 Q_OBJECT
00047
00048
public:
00049
enum JobType { tListDirectory, tGetFolder, tCreateFolder, tExpungeFolder,
00050 tDeleteMessage, tGetMessage, tPutMessage, tAddSubfolders,
00051 tDeleteFolders, tCheckUidValidity, tRenameFolder,
00052 tCopyMessage, tExpireMessages, tMoveMessage };
00057 FolderJob( KMMessage *msg, JobType jt = tGetMessage,
KMFolder *folder = 0,
00058 QString partSpecifier = QString::null );
00059
00065 FolderJob(
const QPtrList<KMMessage>& msgList,
const QString& sets,
00066 JobType jt = tGetMessage,
KMFolder *folder = 0 );
00072 FolderJob( JobType jt );
00073
virtual ~FolderJob();
00074
00075 QPtrList<KMMessage> msgList() const;
00076
void start();
00077
00078 signals:
00083
void messageRetrieved( KMMessage * );
00084
00088
void messageUpdated( KMMessage *, QString );
00089
00094
void messageStored( KMMessage * );
00095
00101
void messageCopied( QPtrList<KMMessage> );
00102
00108
void messageCopied( KMMessage * );
00109
00113
void finished();
00114
00120
void progress(
unsigned long bytesDownloaded,
unsigned long bytesTotal );
00121
00122 protected:
00127 virtual
void execute()=0;
00128
00132 virtual
void expireMessages()=0;
00133
00134 QPtrList<KMMessage> mMsgList;
00135 JobType mType;
00136 QString mSets;
00137
KMFolder* mSrcFolder;
00138
KMFolder* mDestFolder;
00139 QString mPartSpecifier;
00140
00141
00142
bool mPassiveDestructor;
00143
bool mStarted;
00144 };
00145
00146 }
00147
00148 #endif