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 <QSet> 0011 0012 #include <KGAPI/Account> 0013 #include <KIO/UDSEntry> 0014 0015 class AbstractAccountManager 0016 { 0017 public: 0018 virtual ~AbstractAccountManager(); 0019 0020 /** 0021 * @return Pointer to the account for @p accountName. 0022 * The account is valid only if @p accountName is in accounts(). 0023 * @see accounts() 0024 */ 0025 virtual KGAPI2::AccountPtr account(const QString &accountName) = 0; 0026 0027 /** 0028 * Creates a new account. 0029 * @return The new account if a new account has been created, an invalid account otherwise. 0030 */ 0031 virtual KGAPI2::AccountPtr createAccount() = 0; 0032 0033 virtual KGAPI2::AccountPtr refreshAccount(const KGAPI2::AccountPtr &account) = 0; 0034 0035 /** 0036 * Remove @p accountName from accounts(). 0037 * @see accounts() 0038 */ 0039 virtual void removeAccount(const QString &accountName) = 0; 0040 0041 /** 0042 * @return The gdrive accounts managed by this object. 0043 */ 0044 virtual QSet<QString> accounts() = 0; 0045 };