1 /* 2 * SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org> 3 * 4 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 5 */ 6 7 #pragma once 8 9 #include "accountstorage_p.h" 10 11 #include <QMap> 12 13 class FakeAccountStorage : public KGAPI2::AccountStorage 14 { 15 public: 16 explicit FakeAccountStorage(); 17 18 void open(const std::function<void (bool)> &callback) override; 19 bool opened() const override; 20 21 KGAPI2::AccountPtr getAccount(const QString &apiKey, const QString &accountName) override; 22 bool storeAccount(const QString &apiKey, const KGAPI2::AccountPtr &account) override; 23 void removeAccount(const QString &apiKey, const QString &accountName) override; 24 25 KGAPI2::AccountPtr generateAccount(const QString &apiKey, const QString &accountName, const QList<QUrl> &scopes); 26 27 public: 28 QMap<QString, KGAPI2::AccountPtr> mStore; 29 }; 30 31 32 class FakeAccountStorageFactory : public KGAPI2::AccountStorageFactory 33 { 34 public: 35 FakeAccountStorageFactory(); 36 ~FakeAccountStorageFactory() override; 37 38 KGAPI2::AccountStorage *create() const override; 39 FakeAccountStorage *fakeStore() const; 40 41 private: 42 FakeAccountStorage *mStore; 43 }; 44 45