KIMAP Library
storejob.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KIMAP_STOREJOB_H
00021 #define KIMAP_STOREJOB_H
00022
00023 #include "kimap_export.h"
00024
00025 #include "job.h"
00026 #include "imapset.h"
00027
00028 namespace KIMAP {
00029
00030 class Session;
00031 struct Message;
00032 class StoreJobPrivate;
00033
00034 typedef QList<QByteArray> MessageFlags;
00035
00036 class KIMAP_EXPORT StoreJob : public Job
00037 {
00038 Q_OBJECT
00039 Q_DECLARE_PRIVATE(StoreJob)
00040
00041 friend class SessionPrivate;
00042
00043 public:
00044 enum StoreMode
00045 {
00046 SetFlags,
00047 AppendFlags,
00048 RemoveFlags
00049 };
00050
00051 explicit StoreJob( Session *session );
00052 virtual ~StoreJob();
00053
00054 void setSequenceSet( const ImapSet &set );
00055 ImapSet sequenceSet() const;
00056
00057 void setUidBased( bool uidBased );
00058 bool isUidBased() const;
00059
00060 void setFlags( const MessageFlags &flags );
00061 MessageFlags flags() const;
00062
00063 void setMode( StoreMode mode );
00064 StoreMode mode() const;
00065
00066 QMap<int, MessageFlags> resultingFlags() const;
00067
00068 protected:
00069 virtual void doStart();
00070 virtual void handleResponse(const Message &response);
00071 };
00072
00073 }
00074
00075 #endif