File indexing completed on 2024-04-28 05:19:53
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org> 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 "accountstorage_p.h" 0010 0011 #include <QMap> 0012 0013 class FakeAccountStorage : public KGAPI2::AccountStorage 0014 { 0015 public: 0016 explicit FakeAccountStorage(); 0017 0018 void open(const std::function<void(bool)> &callback) override; 0019 bool opened() const override; 0020 0021 KGAPI2::AccountPtr getAccount(const QString &apiKey, const QString &accountName) override; 0022 bool storeAccount(const QString &apiKey, const KGAPI2::AccountPtr &account) override; 0023 void removeAccount(const QString &apiKey, const QString &accountName) override; 0024 0025 KGAPI2::AccountPtr generateAccount(const QString &apiKey, const QString &accountName, const QList<QUrl> &scopes); 0026 0027 public: 0028 QMap<QString, KGAPI2::AccountPtr> mStore; 0029 }; 0030 0031 class FakeAccountStorageFactory : public KGAPI2::AccountStorageFactory 0032 { 0033 public: 0034 FakeAccountStorageFactory(); 0035 ~FakeAccountStorageFactory() override; 0036 0037 KGAPI2::AccountStorage *create() const override; 0038 FakeAccountStorage *fakeStore() const; 0039 0040 private: 0041 FakeAccountStorage *mStore; 0042 };