1 /* 2 SPDX-FileCopyrightText: 2016 Daniel Vrátil <dvratil@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include "passwordrequesterinterface.h" 10 11 #include <QPointer> 12 13 class ImapResourceBase; 14 15 namespace KGAPI2 16 { 17 class AccountPromise; 18 } 19 20 class GmailPasswordRequester : public PasswordRequesterInterface 21 { 22 Q_OBJECT 23 public: 24 explicit GmailPasswordRequester(ImapResourceBase *resource, QObject *parent = nullptr); 25 ~GmailPasswordRequester() override; 26 27 void requestPassword(RequestType request, const QString &serverError) override; 28 void cancelPasswordRequests() override; 29 30 private Q_SLOTS: 31 void onTokenRequestFinished(KGAPI2::AccountPromise *promise); 32 33 private: 34 ImapResourceBase *const mResource; 35 QPointer<KGAPI2::AccountPromise> mPendingPromise; 36 }; 37 38