kmail
folderjob.h00001
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 <tqobject.h>
00037 #include <tqptrlist.h>
00038 #include <tqstring.h>
00039
00040 class KMFolder;
00041
00042 namespace KMail {
00043
00044 class FolderJob : public TQObject
00045 {
00046 Q_OBJECT
00047
00048
00049 public:
00050 enum JobType { tListMessages, tGetFolder, tCreateFolder, tExpungeFolder,
00051 tDeleteMessage, tGetMessage, tPutMessage, tAddSubfolders,
00052 tDeleteFolders, tCheckUidValidity, tRenameFolder,
00053 tCopyMessage, tMoveMessage, tOther };
00058 FolderJob( KMMessage *msg, JobType jt = tGetMessage, KMFolder *folder = 0,
00059 TQString partSpecifier = TQString() );
00060
00066 FolderJob( const TQPtrList<KMMessage>& msgList, const TQString& sets,
00067 JobType jt = tGetMessage, KMFolder *folder = 0 );
00073 FolderJob( JobType jt );
00074 virtual ~FolderJob();
00075
00076 TQPtrList<KMMessage> msgList() const;
00080 void start();
00081
00087 virtual void kill();
00088
00093 int error() const { return mErrorCode; }
00094
00098 bool isCancellable() const { return mCancellable; }
00099
00106 void setCancellable( bool b ) { mCancellable = b; }
00107
00108 void setPassiveDestructor( bool passive ) { mPassiveDestructor = passive; }
00109 bool passiveDestructor() { return mPassiveDestructor; }
00110
00111 signals:
00116 void messageRetrieved( KMMessage * );
00117
00121 void messageUpdated( KMMessage *, TQString );
00122
00127 void messageStored( KMMessage * );
00128
00134 void messageCopied( TQPtrList<KMMessage> );
00135
00141 void messageCopied( KMMessage * );
00142
00146 void finished();
00147
00154 void result( KMail::FolderJob* job );
00155
00161 void progress( unsigned long bytesDownloaded, unsigned long bytesTotal );
00162
00163 private:
00164 void init();
00165
00166 protected:
00171 virtual void execute()=0;
00172
00173 TQPtrList<KMMessage> mMsgList;
00174 JobType mType;
00175 TQString mSets;
00176 KMFolder* mSrcFolder;
00177 KMFolder* mDestFolder;
00178 TQString mPartSpecifier;
00179 int mErrorCode;
00180
00181
00182 bool mPassiveDestructor;
00183 bool mStarted;
00184 bool mCancellable;
00185 };
00186
00187 }
00188
00189 #endif
|