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 Session *session() const;
00045
00046 virtual void start();
00047
00048 private:
00049 virtual void doStart() = 0;
00050 virtual void handleResponse(const Message &response);
00051 virtual void connectionLost();
00052
00053 protected:
00054 enum HandlerResponse {
00055 Handled = 0,
00056 NotHandled
00057 };
00058
00059 HandlerResponse handleErrorReplies(const Message &response);
00060
00061 explicit Job( Session *session );
00062 explicit Job( JobPrivate &dd );
00063
00064 JobPrivate *const d_ptr;
00065 };
00066
00067 }
00068
00069 #endif