File indexing completed on 2025-03-09 04:52:25

0001 /*
0002  * This file is part of LibKGAPI library
0003  *
0004  * SPDX-FileCopyrightText: 2013 Daniel Vrátil <dvratil@redhat.com>
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 /**
0018  * @internal
0019  *
0020  * Exported, but not publicly available!
0021  */
0022 class KGAPICORE_EXPORT NewTokensFetchJob : public KGAPI2::Job
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     explicit NewTokensFetchJob(const QString &tmpToken, const QString &apiKey, const QString &secretKey, int localPort, QObject *parent = nullptr);
0028     ~NewTokensFetchJob() override;
0029 
0030     [[nodiscard]] QString accessToken() const;
0031     [[nodiscard]] QString refreshToken() const;
0032     [[nodiscard]] qulonglong expiresIn() const;
0033 
0034 protected:
0035     void start() override;
0036     void handleReply(const QNetworkReply *reply, const QByteArray &rawData) override;
0037     void dispatchRequest(QNetworkAccessManager *accessManager, const QNetworkRequest &request, const QByteArray &data, const QString &contentType) override;
0038 
0039 private:
0040     class Private;
0041     Private *const d;
0042     friend class Private;
0043 };
0044 
0045 } // namespace KGAPI2