File indexing completed on 2024-05-12 05:22:12
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 "job.h" 0010 #include "kgapiblogger_export.h" 0011 0012 #include <QDateTime> 0013 0014 namespace KGAPI2 0015 { 0016 namespace Blogger 0017 { 0018 0019 class KGAPIBLOGGER_EXPORT PostPublishJob : public KGAPI2::Job 0020 { 0021 Q_OBJECT 0022 public: 0023 enum PublishAction { Publish, Unpublish }; 0024 0025 explicit PostPublishJob(const QString &blogId, const QString &postId, PublishAction action, const AccountPtr &account, QObject *parent = nullptr); 0026 explicit PostPublishJob(const PostPtr &post, PublishAction action, const AccountPtr &account, QObject *parent = nullptr); 0027 explicit PostPublishJob(const QString &blogId, const QString &postId, const QDateTime &publishDate, const AccountPtr &account, QObject *parent = nullptr); 0028 explicit PostPublishJob(const PostPtr &post, const QDateTime &publishDate, const AccountPtr &account, QObject *parent = nullptr); 0029 ~PostPublishJob() override; 0030 0031 ObjectPtr item() const; 0032 0033 protected: 0034 void start() override; 0035 void handleReply(const QNetworkReply *reply, const QByteArray &rawData) override; 0036 void dispatchRequest(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data, const QString &contentType) override; 0037 0038 private: 0039 class Private; 0040 Private *const d; 0041 friend class Private; 0042 }; 0043 } 0044 }