File indexing completed on 2024-05-12 05:22:22
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 "revisiondeletejob.h" 0010 #include "driveservice.h" 0011 #include "revision.h" 0012 0013 #include <QNetworkRequest> 0014 0015 using namespace KGAPI2; 0016 using namespace KGAPI2::Drive; 0017 0018 class Q_DECL_HIDDEN RevisionDeleteJob::Private 0019 { 0020 public: 0021 QString fileId; 0022 QStringList revisionsIds; 0023 }; 0024 0025 RevisionDeleteJob::RevisionDeleteJob(const QString &fileId, const QString &revisionId, const AccountPtr &account, QObject *parent) 0026 : DeleteJob(account, parent) 0027 , d(new Private) 0028 { 0029 d->fileId = fileId; 0030 d->revisionsIds << revisionId; 0031 } 0032 0033 RevisionDeleteJob::RevisionDeleteJob(const QString &fileId, const QStringList &revisionsIds, const AccountPtr &account, QObject *parent) 0034 : DeleteJob(account, parent) 0035 , d(new Private) 0036 { 0037 d->fileId = fileId; 0038 d->revisionsIds << revisionsIds; 0039 } 0040 0041 RevisionDeleteJob::RevisionDeleteJob(const QString &fileId, const RevisionPtr &revision, const AccountPtr &account, QObject *parent) 0042 : DeleteJob(account, parent) 0043 , d(new Private) 0044 { 0045 d->fileId = fileId; 0046 d->revisionsIds << revision->id(); 0047 } 0048 0049 RevisionDeleteJob::RevisionDeleteJob(const QString &fileId, const RevisionsList &revisions, const AccountPtr &account, QObject *parent) 0050 : DeleteJob(account, parent) 0051 , d(new Private) 0052 { 0053 d->fileId = fileId; 0054 for (const RevisionPtr &revision : std::as_const(revisions)) { 0055 d->revisionsIds << revision->id(); 0056 } 0057 } 0058 0059 RevisionDeleteJob::~RevisionDeleteJob() 0060 { 0061 delete d; 0062 } 0063 0064 void RevisionDeleteJob::start() 0065 { 0066 if (d->revisionsIds.isEmpty()) { 0067 emitFinished(); 0068 return; 0069 } 0070 0071 const QString revisionId = d->revisionsIds.takeFirst(); 0072 const QUrl url = DriveService::deleteRevisionUrl(d->fileId, revisionId); 0073 0074 QNetworkRequest request(url); 0075 enqueueRequest(request); 0076 } 0077 0078 #include "moc_revisiondeletejob.cpp"