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 }