File indexing completed on 2024-05-12 05:22:23
0001 /* 0002 * This file is part of LibKGAPI library 0003 * 0004 * SPDX-FileCopyrightText: 2019 David Barchiesi <david@barchie.si> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "teamdrivedeletejob.h" 0010 #include "driveservice.h" 0011 #include "teamdrive.h" 0012 0013 #include <QNetworkRequest> 0014 0015 using namespace KGAPI2; 0016 using namespace KGAPI2::Drive; 0017 0018 class Q_DECL_HIDDEN TeamdriveDeleteJob::Private 0019 { 0020 public: 0021 QStringList teamdrivesIds; 0022 }; 0023 0024 TeamdriveDeleteJob::TeamdriveDeleteJob(const QString &teamdriveId, const AccountPtr &account, QObject *parent) 0025 : DeleteJob(account, parent) 0026 , d(new Private) 0027 { 0028 d->teamdrivesIds << teamdriveId; 0029 } 0030 0031 TeamdriveDeleteJob::TeamdriveDeleteJob(const QStringList &teamdrivesIds, const AccountPtr &account, QObject *parent) 0032 : DeleteJob(account, parent) 0033 , d(new Private) 0034 { 0035 d->teamdrivesIds << teamdrivesIds; 0036 } 0037 0038 TeamdriveDeleteJob::TeamdriveDeleteJob(const TeamdrivePtr &teamdrive, const AccountPtr &account, QObject *parent) 0039 : DeleteJob(account, parent) 0040 , d(new Private) 0041 { 0042 d->teamdrivesIds << teamdrive->id(); 0043 } 0044 0045 TeamdriveDeleteJob::TeamdriveDeleteJob(const TeamdrivesList &teamdrives, const AccountPtr &account, QObject *parent) 0046 : DeleteJob(account, parent) 0047 , d(new Private) 0048 { 0049 for (const TeamdrivePtr &teamdrive : std::as_const(teamdrives)) { 0050 d->teamdrivesIds << teamdrive->id(); 0051 } 0052 } 0053 0054 TeamdriveDeleteJob::~TeamdriveDeleteJob() = default; 0055 0056 void TeamdriveDeleteJob::start() 0057 { 0058 if (d->teamdrivesIds.isEmpty()) { 0059 emitFinished(); 0060 return; 0061 } 0062 0063 const QString teamdriveId = d->teamdrivesIds.takeFirst(); 0064 const QUrl url = DriveService::fetchTeamdriveUrl(teamdriveId); 0065 0066 QNetworkRequest request(url); 0067 enqueueRequest(request); 0068 } 0069 0070 #include "moc_teamdrivedeletejob.cpp"