00001
00022
#ifndef KMAcctImap_h
00023
#define KMAcctImap_h
00024
00025
#include "imapaccountbase.h"
00026
00027
class KMFolderImap;
00028
class KMFolderTreeItem;
00029
namespace KMail {
00030
class ImapJob;
00031 }
00032
namespace KIO {
00033
class Job;
00034 }
00035
class FolderStorage;
00036
00037
00038
class KMAcctImap:
public KMail::ImapAccountBase
00039 {
00040 Q_OBJECT
00041
friend class KMail::ImapJob;
00042
00043
protected:
00044
void setPrefixHook();
00045
00046
public:
00047
virtual ~KMAcctImap();
00048
00050
virtual void pseudoAssign(
const KMAccount * a );
00051
00055
virtual QString type(
void) const;
00056 virtual
void processNewMail(
bool);
00057
00061 virtual
void ignoreJobsForMessage( KMMessage * msg );
00062 virtual
void ignoreJobsForFolder(
KMFolder * folder );
00063 virtual
void removeSlaveJobsForFolder(
KMFolder * folder );
00064
00068 virtual
void killAllJobs(
bool disconnectSlave=false );
00069
00073 virtual
void setImapFolder(KMFolderImap *);
00074
00078 virtual
void listDirectory();
00079
00085 virtual
void readConfig(KConfig& config);
00086
00090 virtual
FolderStorage* const rootFolder() const;
00091
00092 public slots:
00096
void slotUpdateFolderList();
00097
00098 protected:
00099 friend class KMAcctMgr;
00100 friend class KMPasswdDialog;
00101 KMAcctImap(KMAcctMgr* owner, const
QString& accountName, uint
id);
00106 virtual
bool handleError(
int error, const
QString &errorMsg, KIO::Job* job, const
QString& context,
bool abortSync = false );
00107 virtual
void cancelMailCheck();
00108
00109
QPtrList<KMail::ImapJob> mJobList;
00110
QGuardedPtr<KMFolderImap> mFolder;
00111
00112 protected slots:
00114
void postProcessNewMail(KMFolderImap*,
bool);
00119
void postProcessNewMail(
KMFolder * f );
00120
00125
void slotMailCheckCanceled();
00126
00127 private:
00128
int mCountRemainChecks;
00129 };
00130
00131 #endif