File indexing completed on 2024-05-12 05:22:20
0001 /* 0002 * This file is part of LibKGAPI library 0003 * 0004 * SPDX-FileCopyrightText: 2013 Daniel Vrátil <dvratil@redhat.com> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #pragma once 0010 0011 #include "fileabstractdatajob.h" 0012 #include "kgapidrive_export.h" 0013 0014 #include <QMap> 0015 0016 namespace KGAPI2 0017 { 0018 0019 namespace Drive 0020 { 0021 0022 class KGAPIDRIVE_EXPORT FileCopyJob : public KGAPI2::Drive::FileAbstractDataJob 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 explicit FileCopyJob(const QString &sourceFileId, const FilePtr &destinationFile, const AccountPtr &account, QObject *parent = nullptr); 0028 explicit FileCopyJob(const FilePtr &sourceFile, const FilePtr &destinationFile, const AccountPtr &account, QObject *parent = nullptr); 0029 explicit FileCopyJob(const QMap<QString /* source file id */, FilePtr /* destination file */> &files, const AccountPtr &account, QObject *parent = nullptr); 0030 explicit FileCopyJob(const QMap<FilePtr /* source file */, FilePtr /* destination file */> &files, const AccountPtr &account, QObject *parent = nullptr); 0031 ~FileCopyJob() override; 0032 0033 [[nodiscard]] FilesList files() const; 0034 0035 protected: 0036 void handleReply(const QNetworkReply *reply, const QByteArray &rawData) override; 0037 0038 void dispatchRequest(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data, const QString &contentType) override; 0039 void start() override; 0040 0041 private: 0042 class Private; 0043 Private *const d; 0044 friend class Private; 0045 }; 0046 0047 } // namespace Drive 0048 0049 } // namespace KGAPI2