00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KIMAP_IDLEJOB_H
00021 #define KIMAP_IDLEJOB_H
00022
00023 #include "kimap_export.h"
00024
00025 #include "imapset.h"
00026 #include "job.h"
00027
00028 #include "kmime/kmime_content.h"
00029 #include "kmime/kmime_message.h"
00030
00031 #include <boost/shared_ptr.hpp>
00032
00033 namespace KIMAP {
00034
00035 class Session;
00036 struct Message;
00037 class IdleJobPrivate;
00038
00063 class KIMAP_EXPORT IdleJob : public Job
00064 {
00065 Q_OBJECT
00066 Q_DECLARE_PRIVATE(IdleJob)
00067
00068 public:
00069 explicit IdleJob( Session *session );
00070 virtual ~IdleJob();
00071
00077 QString lastMailBox() const;
00089 int lastMessageCount() const;
00102 int lastRecentCount() const;
00103
00104 public Q_SLOTS:
00108 void stop();
00109
00110 Q_SIGNALS:
00120 void mailBoxStats(KIMAP::IdleJob *job, const QString &mailBox, int messageCount, int recentCount);
00121
00122 protected:
00123 virtual void doStart();
00124 virtual void handleResponse(const Message &response);
00125
00126 private:
00127 Q_PRIVATE_SLOT( d_func(), void emitStats() )
00128 };
00129
00130 }
00131
00132 #endif