File indexing completed on 2024-05-12 05:22:11
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Daniel Vrátil <dvratil@redhat.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #pragma once 0008 0009 #include "kgapiblogger_export.h" 0010 #include "object.h" 0011 0012 #include <QDateTime> 0013 0014 namespace KGAPI2 0015 { 0016 namespace Blogger 0017 { 0018 0019 class KGAPIBLOGGER_EXPORT Page : public KGAPI2::Object 0020 { 0021 public: 0022 enum Status { UnknownStatus, Draft, Live, Imported }; 0023 explicit Page(); 0024 ~Page() override; 0025 0026 QString id() const; 0027 void setId(const QString &id); 0028 0029 QString blogId() const; 0030 void setBlogId(const QString &blogId); 0031 0032 QDateTime published() const; 0033 void setPublished(const QDateTime &published); 0034 0035 QDateTime updated() const; 0036 void setUpdated(const QDateTime &updated); 0037 0038 QUrl url() const; 0039 void setUrl(const QUrl &url); 0040 0041 QString title() const; 0042 void setTitle(const QString &title); 0043 0044 QString content() const; 0045 void setContent(const QString &content); 0046 0047 QString authorId() const; 0048 QString authorName() const; 0049 QUrl authorUrl() const; 0050 QUrl authorImageUrl() const; 0051 0052 Status status() const; 0053 void setStatus(Status status); 0054 0055 static PagePtr fromJSON(const QByteArray &rawData); 0056 static ObjectsList fromJSONFeed(const QByteArray &rawData); 0057 static QByteArray toJSON(const PagePtr &page); 0058 0059 private: 0060 Q_DISABLE_COPY(Page) 0061 0062 class Private; 0063 Private *const d; 0064 friend class Private; 0065 }; 0066 } 0067 }