00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KIMAP_LISTJOB_H
00021 #define KIMAP_LISTJOB_H
00022
00023 #include "kimap_export.h"
00024
00025 #include "job.h"
00026
00027 namespace KIMAP {
00028
00029 class Session;
00030 struct Message;
00031 class ListJobPrivate;
00032
00033 struct KIMAP_EXPORT MailBoxDescriptor
00034 {
00035 QString name;
00036 QChar separator;
00037
00038 inline bool operator==(const MailBoxDescriptor &other) const
00039 {
00040 return other.name==name && other.separator==separator;
00041 }
00042
00043 inline bool operator<(const MailBoxDescriptor &other) const
00044 {
00045 return other.name<name || (other.name==name && other.separator<separator);
00046 }
00047 };
00048
00049 class KIMAP_EXPORT ListJob : public Job
00050 {
00051 Q_OBJECT
00052 Q_DECLARE_PRIVATE(ListJob)
00053
00054 friend class SessionPrivate;
00055
00056 public:
00057 explicit ListJob( Session *session );
00058 virtual ~ListJob();
00059
00060 void setIncludeUnsubscribed( bool include );
00061 bool isIncludeUnsubscribed() const;
00062
00063 void setQueriedNamespaces( const QList<MailBoxDescriptor> &namespaces );
00064 QList<MailBoxDescriptor> queriedNamespaces() const;
00065
00066 KDE_DEPRECATED QList<MailBoxDescriptor> mailBoxes() const;
00067 KDE_DEPRECATED QMap< MailBoxDescriptor, QList<QByteArray> > flags() const;
00068
00069 Q_SIGNALS:
00070 void mailBoxesReceived( const QList<KIMAP::MailBoxDescriptor> &descriptors,
00071 const QList< QList<QByteArray> > &flags );
00072
00073 protected:
00074 virtual void doStart();
00075 virtual void handleResponse(const Message &response);
00076
00077 private:
00078 Q_PRIVATE_SLOT( d_func(), void emitPendings() )
00079 };
00080
00081 }
00082
00083 #endif