listjob.h
00001
00028 #ifndef LISTJOB_H
00029 #define LISTJOB_H
00030
00031 #include "folderjob.h"
00032 #include "imapaccountbase.h"
00033 #include "qguardedptr.h"
00034
00035 class KMFolderImap;
00036 class KMFolderCachedImap;
00037 class KMAcctImap;
00038 class KMAcctCachedImap;
00039 class FolderStorage;
00040 class KURL;
00041
00042 namespace KIO {
00043 class Job;
00044 }
00045
00046 namespace KPIM {
00047 class ProgressItem;
00048 }
00049
00050 namespace KMail {
00051
00055 class ListJob : public FolderJob
00056 {
00057 Q_OBJECT
00058 public:
00070 ListJob( FolderStorage* storage, ImapAccountBase* account,
00071 ImapAccountBase::ListType type,
00072 bool secondStep = false, bool complete = false,
00073 bool hasInbox = false, const QString& path = QString::null,
00074 KPIM::ProgressItem* item = 0 );
00075
00076 virtual ~ListJob();
00077
00083 void setHonorLocalSubscription( bool value );
00084
00090 bool honorLocalSubscription() const;
00091
00092 virtual void execute();
00093
00094 protected:
00098 void doListing( const KURL& url, const ImapAccountBase::jobData& jd );
00099
00100 protected slots:
00105 void slotListResult( KIO::Job* job );
00106
00110 void slotListEntries( KIO::Job* job, const KIO::UDSEntryList& uds );
00111
00115 void slotConnectionResult( int errorCode, const QString& errorMsg );
00116
00117 signals:
00121 void receivedFolders( const QStringList&, const QStringList&,
00122 const QStringList&, const QStringList&, const ImapAccountBase::jobData& );
00123
00124 protected:
00125 FolderStorage* mStorage;
00126 ImapAccountBase* mAccount;
00127 ImapAccountBase::ListType mType;
00128 bool mHasInbox;
00129 bool mSecondStep;
00130 bool mComplete;
00131 bool mHonorLocalSubscription;
00132 QString mPath;
00133 QStringList mSubfolderNames, mSubfolderPaths,
00134 mSubfolderMimeTypes, mSubfolderAttributes;
00135 QGuardedPtr<KPIM::ProgressItem> mParentProgressItem;
00136 };
00137
00138 }
00139
00140 #endif
00141
This file is part of the documentation for kmail Library Version 3.3.2.