File indexing completed on 2025-02-16 04:50:42
0001 /* 0002 This file is part of oxaccess. 0003 0004 SPDX-FileCopyrightText: 2009 Tobias Koenig <tokoe@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #pragma once 0010 0011 #include <KJob> 0012 0013 #include "folder.h" 0014 0015 namespace OXA 0016 { 0017 /** 0018 * @short A job that moves a folder on the OX server. 0019 * 0020 * @author Tobias Koenig <tokoe@kde.org> 0021 */ 0022 class FolderMoveJob : public KJob 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 /** 0028 * Creates a new folder move job. 0029 * 0030 * @param folder The folder to move. 0031 * @param destinationFolder The new parent folder. 0032 * @param parent The parent object. 0033 * 0034 * @note The folder needs the objectId, folderId and lastModified property set, the 0035 * destinationFolder the objectId property. 0036 */ 0037 FolderMoveJob(const Folder &folder, const Folder &destinationFolder, QObject *parent = nullptr); 0038 0039 /** 0040 * Starts the job. 0041 */ 0042 void start() override; 0043 0044 /** 0045 * Returns the updated folder that has been moved. 0046 */ 0047 [[nodiscard]] Folder folder() const; 0048 0049 private: 0050 void davJobFinished(KJob *); 0051 Folder mFolder; 0052 Folder mDestinationFolder; 0053 }; 0054 }