File indexing completed on 2024-06-09 05:16:51
0001 /* 0002 * This file is part of LibKGAPI 0003 * 0004 * SPDX-FileCopyrightText: 2020 Daniel Vrátil <dvratil@kde.org> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #pragma once 0010 0011 #include "job.h" 0012 #include "kgapicore_export.h" 0013 0014 namespace KGAPI2 0015 { 0016 0017 class KGAPICORE_EXPORT FullAuthenticationJob : public KGAPI2::Job 0018 { 0019 Q_OBJECT 0020 public: 0021 explicit FullAuthenticationJob(const AccountPtr &account, const QString &apiKey, const QString &secretKey, QObject *parent = nullptr); 0022 0023 ~FullAuthenticationJob() override; 0024 0025 AccountPtr account() const; 0026 0027 /** For testing purposes only */ 0028 void setServerPort(uint16_t port); 0029 0030 void setUsername(const QString &username); 0031 0032 protected: 0033 void handleReply(const QNetworkReply *reply, const QByteArray &rawData) override; 0034 void dispatchRequest(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data, const QString &contentType) override; 0035 void start() override; 0036 0037 private: 0038 class Private; 0039 const QScopedPointer<Private> d; 0040 friend class Private; 0041 }; 0042 0043 } // namespace KGAPI2