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 TQ_OBJECT
00044 friend class KMail::ImapJob;
00045
00046 public:
00047 virtual ~KMAcctImap();
00048
00050 virtual void pseudoAssign( const KMAccount * a );
00051
00055 virtual TQString 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* rootFolder() const;
00092
00096 void execFilters(TQ_UINT32 serNum);
00097
00098 public slots:
00102 void slotFiltered(TQ_UINT32 serNum);
00103 void slotUpdateFolderList();
00104
00105 protected:
00106 friend class ::AccountManager;
00107 KMAcctImap(AccountManager* owner, const TQString& accountName, uint id);
00112 virtual bool handleError( int error, const TQString &errorMsg, KIO::Job* job, const TQString& context, bool abortSync = false );
00113 virtual void cancelMailCheck();
00114
00115 TQPtrList<KMail::ImapJob> mJobList;
00116 TQGuardedPtr<KMFolderImap> mFolder;
00117
00118 protected slots:
00120 void postProcessNewMail(KMFolderImap*, bool);
00125 void postProcessNewMail( KMFolder * f );
00126
00131 void slotMailCheckCanceled();
00132
00136 void slotResetConnectionError();
00137
00141 void slotFolderSelected( KMFolderImap*, bool );
00142 int slotFilterMsg( KMMessage* );
00143
00144 private:
00145 int mCountRemainChecks;
00147 TQTimer mErrorTimer;
00148 TQValueList<TQ_UINT32> mFilterSerNums;
00149 TQDict<int> mFilterSerNumsToSave;
00150 KMail::ActionScheduler *mScheduler;
00151 };
00152
00153 #endif
|