File indexing completed on 2024-05-12 05:22:15

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 "fetchjob.h"
0010 #include "debug.h"
0011 #include "object.h"
0012 
0013 #include <QNetworkAccessManager>
0014 #include <QNetworkRequest>
0015 
0016 using namespace KGAPI2;
0017 
0018 class Q_DECL_HIDDEN FetchJob::Private
0019 {
0020 public:
0021     ObjectsList items;
0022 };
0023 
0024 FetchJob::FetchJob(QObject *parent)
0025     : Job(parent)
0026     , d(new Private)
0027 {
0028 }
0029 
0030 FetchJob::FetchJob(const AccountPtr &account, QObject *parent)
0031     : Job(account, parent)
0032     , d(new Private)
0033 {
0034 }
0035 
0036 FetchJob::~FetchJob()
0037 {
0038     delete d;
0039 }
0040 
0041 ObjectsList FetchJob::items() const
0042 {
0043     if (isRunning()) {
0044         qCWarning(KGAPIDebug) << "Called items() on a running job, returning empty list.";
0045         return ObjectsList();
0046     }
0047 
0048     return d->items;
0049 }
0050 
0051 void FetchJob::dispatchRequest(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data, const QString &contentType)
0052 {
0053     Q_UNUSED(data)
0054     Q_UNUSED(contentType)
0055 
0056     accessManager->get(request);
0057 }
0058 
0059 void FetchJob::handleReply(const QNetworkReply *reply, const QByteArray &rawData)
0060 {
0061     d->items << handleReplyWithItems(reply, rawData);
0062 }
0063 
0064 void FetchJob::aboutToStart()
0065 {
0066     d->items.clear();
0067 
0068     Job::aboutToStart();
0069 }
0070 
0071 ObjectsList FetchJob::handleReplyWithItems(const QNetworkReply *reply, const QByteArray &rawData)
0072 {
0073     Q_UNUSED(reply)
0074     Q_UNUSED(rawData)
0075 
0076     return ObjectsList();
0077 }
0078 
0079 #include "moc_fetchjob.cpp"