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