kmail
kmacctimap.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KMAcctImap_h
00023 #define KMAcctImap_h
00024
00025 #include "imapaccountbase.h"
00026 #include <tqdict.h>
00027
00028 class KMFolderImap;
00029 class KMFolderTreeItem;
00030 namespace KMail {
00031 class ImapJob;
00032 class ActionScheduler;
00033 }
00034 namespace KIO {
00035 class Job;
00036 }
00037 class FolderStorage;
00038
00039
00040 class KMAcctImap: public KMail::ImapAccountBase
00041 {
00042 Q_OBJECT
00043 friend class KMail::ImapJob;
00044
00045 public:
00046 virtual ~KMAcctImap();
00047
00049 virtual void pseudoAssign( const KMAccount * a );
00050
00054 virtual TQString type(void) const;
00055 virtual void processNewMail(bool);
00056 ConnectionState makeConnection();
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* rootFolder() const;
00091
00095 void execFilters(Q_UINT32 serNum);
00096
00097 public slots:
00101 void slotFiltered(Q_UINT32 serNum);
00102 void slotUpdateFolderList();
00103
00104 protected:
00105 friend class ::AccountManager;
00106 KMAcctImap(AccountManager* owner, const TQString& accountName, uint id);
00111 virtual bool handleError( int error, const TQString &errorMsg, KIO::Job* job, const TQString& context, bool abortSync = false );
00112 virtual void cancelMailCheck();
00113
00114 TQPtrList<KMail::ImapJob> mJobList;
00115 TQGuardedPtr<KMFolderImap> mFolder;
00116
00117 protected slots:
00119 void postProcessNewMail(KMFolderImap*, bool);
00124 void postProcessNewMail( KMFolder * f );
00125
00130 void slotMailCheckCanceled();
00131
00135 void slotResetConnectionError();
00136
00140 void slotFolderSelected( KMFolderImap*, bool );
00141 int slotFilterMsg( KMMessage* );
00142
00143 private:
00144 int mCountRemainChecks;
00146 TQTimer mErrorTimer;
00147 TQValueList<Q_UINT32> mFilterSerNums;
00148 TQDict<int> mFilterSerNumsToSave;
00149 KMail::ActionScheduler *mScheduler;
00150 };
00151
00152 #endif
|