Warning, file /plasma/plasma-desktop/attica-kde/kdeplugin/kdeplatformdependent.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     This file is part of KDE.
0003 
0004     SPDX-FileCopyrightText: 2009 Eckhart Wörner <ewoerner@kde.org>
0005     SPDX-FileCopyrightText: 2010 Frederik Gladhorn <gladhorn@kde.org>
0006 
0007     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0008 
0009 */
0010 
0011 #pragma once
0012 
0013 #include <attica/platformdependent.h>
0014 
0015 #include <QHash>
0016 
0017 #include <KIO/AccessManager>
0018 #include <KSharedConfig>
0019 
0020 namespace Attica
0021 {
0022 class KdePlatformDependent : public QObject, public Attica::PlatformDependent
0023 {
0024     Q_OBJECT
0025     Q_INTERFACES(Attica::PlatformDependent)
0026     Q_PLUGIN_METADATA(IID "org.kde.attica-kde")
0027 
0028 public:
0029     KdePlatformDependent();
0030     ~KdePlatformDependent() override;
0031     QList<QUrl> getDefaultProviderFiles() const override;
0032     void addDefaultProviderFile(const QUrl &url) override;
0033     void removeDefaultProviderFile(const QUrl &url) override;
0034     void enableProvider(const QUrl &baseUrl, bool enabled) const override;
0035     bool isEnabled(const QUrl &baseUrl) const override;
0036 
0037     QNetworkReply *post(const QNetworkRequest &request, const QByteArray &data) override;
0038     QNetworkReply *post(const QNetworkRequest &request, QIODevice *data) override;
0039     QNetworkReply *get(const QNetworkRequest &request) override;
0040     bool saveCredentials(const QUrl &baseUrl, const QString &user, const QString &password) override;
0041     bool hasCredentials(const QUrl &baseUrl) const override;
0042     bool loadCredentials(const QUrl &baseUrl, QString &user, QString &password) override;
0043     bool askForCredentials(const QUrl &baseUrl, QString &user, QString &password) override;
0044     QNetworkAccessManager *nam() override;
0045 
0046 private:
0047     QNetworkRequest addOAuthToRequest(const QNetworkRequest &request);
0048     QNetworkRequest removeAuthFromRequest(const QNetworkRequest &request);
0049     QString getAccessToken(const QUrl &baseUrl) const;
0050 
0051     KSharedConfigPtr m_config;
0052     QNetworkAccessManager *m_accessManager{nullptr};
0053     QHash<QString, QPair<QString, QString>> m_passwords;
0054 };
0055 
0056 }