File indexing completed on 2025-02-16 04:50:19

0001 /*
0002     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
0003     SPDX-FileContributor: Kevin Ottens <kevin@kdab.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <QObject>
0011 
0012 class PasswordRequesterInterface : public QObject
0013 {
0014     Q_OBJECT
0015     Q_ENUMS(ResultType RequestType)
0016 
0017 public:
0018     enum ResultType {
0019         PasswordRetrieved,
0020         ReconnectNeeded,
0021         UserRejected,
0022         EmptyPasswordEntered,
0023     };
0024 
0025     enum RequestType {
0026         StandardRequest,
0027         WrongPasswordRequest,
0028     };
0029 
0030 protected:
0031     explicit PasswordRequesterInterface(QObject *parent = nullptr);
0032 
0033 public:
0034     virtual void requestPassword(RequestType request = StandardRequest, const QString &serverError = QString()) = 0;
0035     virtual void cancelPasswordRequests();
0036 
0037 Q_SIGNALS:
0038     void done(int resultType, const QString &password = QString());
0039 };