1 /* 2 SPDX-FileCopyrightText: 2015-2017 Krzysztof Nowicki <krissn@op.pl> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include <QList> 10 #include <QSharedPointer> 11 12 #include "ewsfolder.h" 13 #include "ewsrequest.h" 14 #include "ewstypes.h" 15 16 class QXmlStreamReader; 17 18 class EwsMoveFolderRequest : public EwsRequest 19 { 20 Q_OBJECT 21 public: 22 class Response : public EwsRequest::Response 23 { 24 public: folderId()25 const EwsId &folderId() const 26 { 27 return mId; 28 } 29 30 protected: 31 Response(QXmlStreamReader &reader); 32 33 EwsId mId; 34 35 friend class EwsMoveFolderRequest; 36 }; 37 38 EwsMoveFolderRequest(EwsClient &client, QObject *parent); 39 ~EwsMoveFolderRequest() override; 40 setFolderIds(const EwsId::List & ids)41 void setFolderIds(const EwsId::List &ids) 42 { 43 mIds = ids; 44 } 45 setDestinationFolderId(const EwsId & id)46 void setDestinationFolderId(const EwsId &id) 47 { 48 mDestFolderId = id; 49 } 50 51 void start() override; 52 responses()53 const QList<Response> &responses() const 54 { 55 return mResponses; 56 } 57 58 protected: 59 bool parseResult(QXmlStreamReader &reader) override; 60 bool parseItemsResponse(QXmlStreamReader &reader); 61 62 private: 63 EwsId::List mIds; 64 EwsId mDestFolderId; 65 QList<Response> mResponses; 66 }; 67 68