kmacctimap.h
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 ConnectionState makeConnection();
00058
00062 virtual void ignoreJobsForMessage( KMMessage * msg );
00063 virtual void ignoreJobsForFolder( KMFolder * folder );
00064 virtual void removeSlaveJobsForFolder( KMFolder * folder );
00065
00069 virtual void killAllJobs( bool disconnectSlave=false );
00070
00074 virtual void setImapFolder(KMFolderImap *);
00075
00079 virtual void listDirectory();
00080
00086 virtual void readConfig(KConfig& config);
00087
00091 virtual FolderStorage* const rootFolder() const;
00092
00093 public slots:
00097 void slotUpdateFolderList();
00098
00099 protected:
00100 friend class KMAcctMgr;
00101 friend class KMPasswdDialog;
00102 KMAcctImap(KMAcctMgr* owner, const QString& accountName, uint id);
00107 virtual bool handleError( int error, const QString &errorMsg, KIO::Job* job, const QString& context, bool abortSync = false );
00108 virtual void cancelMailCheck();
00109
00110 QPtrList<KMail::ImapJob> mJobList;
00111 QGuardedPtr<KMFolderImap> mFolder;
00112
00113 protected slots:
00114
00115 void slotContinueMailCheck();
00117 void postProcessNewMail(KMFolderImap*, bool);
00122 void postProcessNewMail( KMFolder * f );
00123
00128 void slotMailCheckCanceled();
00129
00133 void slotResetConnectionError();
00134
00135 private:
00137 QTimer mErrorTimer;
00138 int mCountRemainChecks;
00139 bool mInteractive;
00140 };
00141
00142 #endif
This file is part of the documentation for kmail Library Version 3.3.2.