kmail
compactionjob.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 #ifndef COMPACTIONJOB_H
00029 #define COMPACTIONJOB_H
00030
00031 #include "jobscheduler.h"
00032 #include <qstringlist.h>
00033
00034 namespace KMail {
00035
00039 class MboxCompactionJob : public ScheduledJob
00040 {
00041 Q_OBJECT
00042 public:
00044 MboxCompactionJob( KMFolder* folder, bool immediate );
00045 virtual ~MboxCompactionJob();
00046
00047 int executeNow( bool silent );
00048 virtual void execute() { executeNow( false ); }
00049 virtual void kill();
00050
00051 private slots:
00052 void slotDoWork();
00053
00054 private:
00055
00056 QString realLocation() const;
00057 void done( int rc );
00058
00059 private:
00060 QTimer mTimer;
00061 QString mTempName;
00062 FILE *mTmpFile;
00063 off_t mOffset;
00064 int mCurrentIndex;
00065 bool mFolderOpen;
00066 bool mSilent;
00067 };
00068
00072 class MaildirCompactionJob : public ScheduledJob
00073 {
00074 Q_OBJECT
00075 public:
00077 MaildirCompactionJob( KMFolder* folder, bool immediate );
00078 virtual ~MaildirCompactionJob();
00079
00080 int executeNow( bool silent );
00081 virtual void execute() { executeNow( false ); }
00082 virtual void kill();
00083
00084 private slots:
00085 void slotDoWork();
00086
00087 private:
00088 void done( int rc );
00089
00090 private:
00091 QTimer mTimer;
00092 QStringList mEntryList;
00093 int mCurrentIndex;
00094 bool mFolderOpen;
00095 bool mSilent;
00096 };
00097
00099 class ScheduledCompactionTask : public ScheduledTask
00100 {
00101 public:
00104 ScheduledCompactionTask( KMFolder* folder, bool immediate )
00105 : ScheduledTask( folder, immediate ) {}
00106 virtual ~ScheduledCompactionTask() {}
00107 virtual ScheduledJob* run();
00108 virtual int taskTypeId() const { return 2; }
00109 };
00110
00111 }
00112
00113 #endif
00114
|