folderjob.h
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
This file is part of the documentation for kmail Library Version 3.2.2.