expirejob.h
00001
00028 #ifndef EXPIREJOB_H
00029 #define EXPIREJOB_H
00030
00031 #include "jobscheduler.h"
00032 #include "kmcommands.h"
00033
00034 namespace KMail {
00035
00036 class ExpireJob : public ScheduledJob
00037 {
00038 Q_OBJECT
00039 public:
00040 ExpireJob( KMFolder* folder, bool immediate );
00041 virtual ~ExpireJob();
00042
00043 virtual void execute();
00044 virtual void kill();
00045
00046 private slots:
00047 void slotDoWork();
00048 void slotMessagesMoved( KMCommand *command );
00049
00050 private:
00051 void done();
00052
00053 private:
00054 QTimer mTimer;
00055 QPtrList<KMMsgBase> mRemovedMsgs;
00056 int mCurrentIndex;
00057 int mMaxUnreadTime;
00058 int mMaxReadTime;
00059 bool mFolderOpen;
00060 KMFolder *mMoveToFolder;
00061 };
00062
00064 class ScheduledExpireTask : public ScheduledTask
00065 {
00066 public:
00069 ScheduledExpireTask( KMFolder* folder, bool immediate )
00070 : ScheduledTask( folder, immediate ) {}
00071 virtual ~ScheduledExpireTask() {}
00072 virtual ScheduledJob* run() {
00073 return folder() ? new ExpireJob( folder(), isImmediate() ) : 0;
00074 }
00075 virtual int taskTypeId() const { return 1; }
00076 };
00077
00078 }
00079
00080 #endif
00081
This file is part of the documentation for kmail Library Version 3.3.2.