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 "fileabstractuploadjob.h" 0012 #include "kgapidrive_export.h" 0013 0014 namespace KGAPI2 0015 { 0016 0017 namespace Drive 0018 { 0019 0020 class KGAPIDRIVE_EXPORT FileCreateJob : public KGAPI2::Drive::FileAbstractUploadJob 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 explicit FileCreateJob(const FilePtr &metadata, const AccountPtr &account, QObject *parent = nullptr); 0026 explicit FileCreateJob(const FilesList &metadata, const AccountPtr &account, QObject *parent = nullptr); 0027 explicit FileCreateJob(const QString &filePath, const AccountPtr &account, QObject *parent = nullptr); 0028 explicit FileCreateJob(const QString &filePath, const FilePtr &metaData, const AccountPtr &account, QObject *parent = nullptr); 0029 explicit FileCreateJob(const QStringList &filePaths, const AccountPtr &account, QObject *parent = nullptr); 0030 explicit FileCreateJob(const QMap<QString /* filepath */, FilePtr /* metadata */> &files, const AccountPtr &account, QObject *parent = nullptr); 0031 ~FileCreateJob() override; 0032 0033 protected: 0034 QNetworkReply *dispatch(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data) override; 0035 0036 [[nodiscard]] QUrl createUrl(const QString &filePath, const FilePtr &metaData) override; 0037 0038 private: 0039 class Private; 0040 Private *const d; 0041 friend class Private; 0042 }; 0043 0044 } // namespace Drive 0045 0046 } // namespace KGAPI2