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