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

0001 /*
0002  * <one line to give the library's name and an idea of what it does.>
0003  * SPDX-FileCopyrightText: 2014 Daniel Vrátil <dvratil@redhat.com>
0004  *
0005  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006  */
0007 
0008 #pragma once
0009 
0010 #include "fetchjob.h"
0011 #include "kgapiblogger_export.h"
0012 #include "page.h"
0013 
0014 namespace KGAPI2
0015 {
0016 namespace Blogger
0017 {
0018 
0019 class KGAPIBLOGGER_EXPORT PageFetchJob : public KGAPI2::FetchJob
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     enum StatusFilter {
0025         Draft = 1,
0026         Live = 2,
0027         Imported = 4,
0028 
0029         All = Draft | Live | Imported
0030     };
0031     Q_DECLARE_FLAGS(StatusFilters, StatusFilter)
0032 
0033     explicit PageFetchJob(const QString &blogId, const AccountPtr &account = AccountPtr(), QObject *parent = nullptr);
0034     explicit PageFetchJob(const QString &blogId, const QString &pageId, const AccountPtr &account = AccountPtr(), QObject *parent = nullptr);
0035     ~PageFetchJob() override;
0036 
0037     bool fetchContent() const;
0038     void setFetchContent(bool fetchContent);
0039 
0040     StatusFilters statusFilter() const;
0041     void setStatusFilter(StatusFilters status);
0042 
0043 protected:
0044     void start() override;
0045     ObjectsList handleReplyWithItems(const QNetworkReply *reply, const QByteArray &rawData) override;
0046 
0047 private:
0048     class Private;
0049     Private *const d;
0050     friend class Private;
0051 };
0052 }
0053 }