KIMAP Library
job.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KIMAP_JOB_H
00021 #define KIMAP_JOB_H
00022
00023 #include "kimap_export.h"
00024
00025 #include <KDE/KJob>
00026
00027 namespace KIMAP {
00028
00029 class Session;
00030 class SessionPrivate;
00031 class JobPrivate;
00032 struct Message;
00033
00034 class KIMAP_EXPORT Job : public KJob
00035 {
00036 Q_OBJECT
00037 Q_DECLARE_PRIVATE(Job)
00038
00039 friend class SessionPrivate;
00040
00041 public:
00042 virtual ~Job();
00043
00044 virtual void start();
00045
00046 private:
00047 virtual void doStart() = 0;
00048 virtual void handleResponse(const Message &response);
00049 virtual void connectionLost();
00050
00051 protected:
00052 enum HandlerResponse {
00053 Handled = 0,
00054 NotHandled
00055 };
00056
00057 HandlerResponse handleErrorReplies(const Message &response);
00058
00059 explicit Job( Session *session );
00060 explicit Job( JobPrivate &dd );
00061
00062 JobPrivate *const d_ptr;
00063 };
00064
00065 }
00066
00067 #endif