File indexing completed on 2024-05-12 05:10:43

0001 /*
0002   SPDX-FileCopyrightText: 2010 Bertjan Broeksema <broeksema@kde.org>
0003   SPDX-FileCopyrightText: 2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
0004 
0005   SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "freebusydownloadjob_p.h"
0009 
0010 #include <KIO/Job>
0011 #include <KIO/TransferJob>
0012 #include <KJobWidgets>
0013 
0014 using namespace Akonadi;
0015 
0016 FreeBusyDownloadJob::FreeBusyDownloadJob(const QUrl &url, QWidget *parentWidget)
0017     : mUrl(url)
0018     , mParent(parentWidget)
0019 {
0020     setObjectName(QLatin1StringView("FreeBusyDownloadJob"));
0021 }
0022 
0023 FreeBusyDownloadJob::~FreeBusyDownloadJob() = default;
0024 
0025 void FreeBusyDownloadJob::start()
0026 {
0027     KIO::TransferJob *job = KIO::get(mUrl, KIO::NoReload, KIO::HideProgressInfo);
0028     KJobWidgets::setWindow(job, mParent);
0029     connect(job, &KIO::TransferJob::result, this, &FreeBusyDownloadJob::slotResult);
0030     connect(job, &KIO::TransferJob::data, this, &FreeBusyDownloadJob::slotData);
0031 }
0032 
0033 QByteArray FreeBusyDownloadJob::rawFreeBusyData() const
0034 {
0035     return mFreeBusyData;
0036 }
0037 
0038 QUrl FreeBusyDownloadJob::url() const
0039 {
0040     return mUrl;
0041 }
0042 
0043 void FreeBusyDownloadJob::slotData(KIO::Job *, const QByteArray &data)
0044 {
0045     mFreeBusyData += data;
0046 }
0047 
0048 void FreeBusyDownloadJob::slotResult(KJob *job)
0049 {
0050     if (job->error()) {
0051         setErrorText(job->errorText());
0052     }
0053 
0054     emitResult();
0055 }
0056 
0057 #include "moc_freebusydownloadjob_p.cpp"