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 #include "filecreatejob.h"
0010 #include "driveservice.h"
0011 
0012 #include <QNetworkAccessManager>
0013 #include <QNetworkRequest>
0014 
0015 using namespace KGAPI2;
0016 using namespace KGAPI2::Drive;
0017 
0018 class Q_DECL_HIDDEN FileCreateJob::Private
0019 {
0020 };
0021 
0022 FileCreateJob::FileCreateJob(const FilePtr &metadata, const AccountPtr &account, QObject *parent)
0023     : FileAbstractUploadJob(metadata, account, parent)
0024     , d(new Private)
0025 {
0026 }
0027 
0028 FileCreateJob::FileCreateJob(const FilesList &metadata, const AccountPtr &account, QObject *parent)
0029     : FileAbstractUploadJob(metadata, account, parent)
0030     , d(new Private)
0031 {
0032 }
0033 
0034 FileCreateJob::FileCreateJob(const QString &filePath, const AccountPtr &account, QObject *parent)
0035     : FileAbstractUploadJob(filePath, account, parent)
0036     , d(new Private)
0037 {
0038 }
0039 
0040 FileCreateJob::FileCreateJob(const QString &filePath, const FilePtr &metaData, const AccountPtr &account, QObject *parent)
0041     : FileAbstractUploadJob(filePath, metaData, account, parent)
0042     , d(new Private)
0043 {
0044 }
0045 
0046 FileCreateJob::FileCreateJob(const QStringList &filePaths, const AccountPtr &account, QObject *parent)
0047     : FileAbstractUploadJob(filePaths, account, parent)
0048     , d(new Private)
0049 {
0050 }
0051 
0052 FileCreateJob::FileCreateJob(const QMap<QString, FilePtr> &files, const AccountPtr &account, QObject *parent)
0053     : FileAbstractUploadJob(files, account, parent)
0054     , d(new Private)
0055 {
0056 }
0057 
0058 FileCreateJob::~FileCreateJob()
0059 {
0060     delete d;
0061 }
0062 
0063 QNetworkReply *FileCreateJob::dispatch(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data)
0064 {
0065     return accessManager->post(request, data);
0066 }
0067 
0068 QUrl FileCreateJob::createUrl(const QString &filePath, const FilePtr &metaData)
0069 {
0070     if (filePath.isEmpty() && !metaData.isNull()) {
0071         return DriveService::uploadMetadataFileUrl();
0072     } else if (metaData.isNull()) {
0073         return DriveService::uploadMediaFileUrl();
0074     } else {
0075         return DriveService::uploadMultipartFileUrl();
0076     }
0077 }
0078 
0079 #include "moc_filecreatejob.cpp"