File indexing completed on 2024-05-12 16:25:39

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "downloadappslanguagesjob.h"
0008 #include "ruqola_debug.h"
0009 
0010 #include "restapiutil.h"
0011 #include <QNetworkAccessManager>
0012 #include <QNetworkReply>
0013 #include <QNetworkRequest>
0014 #include <QUrl>
0015 
0016 DownloadAppsLanguagesJob::DownloadAppsLanguagesJob(QObject *parent)
0017     : QObject(parent)
0018     , mNetworkAccessManager(new QNetworkAccessManager(this))
0019 {
0020     connect(mNetworkAccessManager, &QNetworkAccessManager::finished, this, &DownloadAppsLanguagesJob::slotFileDownloaded);
0021     connect(mNetworkAccessManager, &QNetworkAccessManager::sslErrors, this, &DownloadAppsLanguagesJob::slotSslErrors);
0022 }
0023 
0024 DownloadAppsLanguagesJob::~DownloadAppsLanguagesJob() = default;
0025 
0026 void DownloadAppsLanguagesJob::slotSslErrors(QNetworkReply *reply, const QList<QSslError> &error)
0027 {
0028     reply->ignoreSslErrors(error);
0029 }
0030 
0031 void DownloadAppsLanguagesJob::slotFileDownloaded(QNetworkReply *reply)
0032 {
0033     const QByteArray data = reply->readAll();
0034     reply->deleteLater();
0035     Q_EMIT fileDownloaded(data);
0036     deleteLater();
0037 }
0038 
0039 bool DownloadAppsLanguagesJob::canStart() const
0040 {
0041     return !mServerUrl.isEmpty();
0042 }
0043 
0044 void DownloadAppsLanguagesJob::start()
0045 {
0046     if (!canStart()) {
0047         qCWarning(RUQOLA_LOG) << " FileName is empty";
0048         deleteLater();
0049         return;
0050     }
0051     const QString urlStr = RestApiUtil::adaptUrl(mServerUrl) + QStringLiteral("/api/apps/languages");
0052     const QUrl url(urlStr);
0053     QNetworkRequest request(url);
0054     mNetworkAccessManager->get(request);
0055 }
0056 
0057 QString DownloadAppsLanguagesJob::serverUrl() const
0058 {
0059     return mServerUrl;
0060 }
0061 
0062 void DownloadAppsLanguagesJob::setServerUrl(const QString &serverUrl)
0063 {
0064     mServerUrl = serverUrl;
0065 }
0066 
0067 #include "moc_downloadappslanguagesjob.cpp"