listjob.h
00001
00028 #ifndef LISTJOB_H
00029 #define LISTJOB_H
00030
00031 #include "folderjob.h"
00032 #include "imapaccountbase.h"
00033
00034 class KMFolderImap;
00035 class KMFolderCachedImap;
00036 class KMAcctImap;
00037 class KMAcctCachedImap;
00038 class FolderStorage;
00039 class KURL;
00040
00041 namespace KIO {
00042 class Job;
00043 }
00044
00045 namespace KPIM {
00046 class ProgressItem;
00047 }
00048
00049 namespace KMail {
00050
00054 class ListJob : public FolderJob
00055 {
00056 Q_OBJECT
00057 public:
00069 ListJob( FolderStorage* storage, ImapAccountBase* account,
00070 ImapAccountBase::ListType type,
00071 bool secondStep = false, bool complete = false,
00072 bool hasInbox = false, const QString& path = QString::null,
00073 KPIM::ProgressItem* item = 0 );
00074
00075 virtual ~ListJob();
00076
00077 virtual void execute();
00078
00079 protected:
00083 void doListing( const KURL& url, const ImapAccountBase::jobData& jd );
00084
00085 protected slots:
00090 void slotListResult( KIO::Job* job );
00091
00095 void slotListEntries( KIO::Job* job, const KIO::UDSEntryList& uds );
00096
00100 void slotConnectionResult( int errorCode, const QString& errorMsg );
00101
00102 signals:
00106 void receivedFolders( const QStringList&, const QStringList&,
00107 const QStringList&, const QStringList&, const ImapAccountBase::jobData& );
00108
00109 protected:
00110 FolderStorage* mStorage;
00111 ImapAccountBase* mAccount;
00112 ImapAccountBase::ListType mType;
00113 bool mHasInbox;
00114 bool mSecondStep;
00115 bool mComplete;
00116 QString mPath;
00117 QStringList mSubfolderNames, mSubfolderPaths,
00118 mSubfolderMimeTypes, mSubfolderAttributes;
00119 KPIM::ProgressItem* mParentProgressItem;
00120 };
00121
00122 }
00123
00124 #endif
00125
This file is part of the documentation for kmail Library Version 3.3.2.