File indexing completed on 2024-05-19 05:00:39

0001 /*
0002  * SPDX-FileCopyrightText: 2017 Elvis Angelaccio <elvis.angelaccio@kde.org>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  *
0006  */
0007 
0008 #pragma once
0009 
0010 #include "abstractaccountmanager.h"
0011 
0012 #include <QMap>
0013 
0014 #include <Accounts/Account>
0015 
0016 class KAccountsManager : public AbstractAccountManager
0017 {
0018 public:
0019     KAccountsManager();
0020     ~KAccountsManager() override;
0021 
0022     KGAPI2::AccountPtr account(const QString &accountName) override;
0023     KGAPI2::AccountPtr createAccount() override;
0024     KGAPI2::AccountPtr refreshAccount(const KGAPI2::AccountPtr &account) override;
0025     void removeAccount(const QString &accountName) override;
0026     QSet<QString> accounts() override;
0027 
0028 private:
0029     void loadAccounts();
0030 
0031     KGAPI2::AccountPtr getAccountCredentials(Accounts::AccountId id, const QString &displayName);
0032 
0033     QMap<Accounts::AccountId, KGAPI2::AccountPtr> m_accounts;
0034 };