qa: Avoid deprecation warnings for QList/QSet conversions
[quassel.git] / src / client / clientauthhandler.h
index 7d6c935..701bd7e 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2015 by the Quassel Project                        *
+ *   Copyright (C) 2005-2019 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef CLIENTAUTHHANDLER_H
-#define CLIENTAUTHHANDLER_H
+#pragma once
 
-#include "compressor.h"
 #include "authhandler.h"
+#include "compressor.h"
 #include "coreaccount.h"
 
 class QSslSocket;
@@ -34,60 +33,69 @@ class ClientAuthHandler : public AuthHandler
     Q_OBJECT
 
 public:
-    ClientAuthHandler(CoreAccount account, QObject *parent = 0);
+    enum DigestVersion
+    {
+        Md5,
+        Sha2_512,
+        Latest = Sha2_512
+    };
+
+    ClientAuthHandler(CoreAccount account, QObject* parent = nullptr);
+
+    Peer* peer() const;
 
 public slots:
     void connectToCore();
 
-    void login(const QString &previousError = QString());
-    void login(const QString &user, const QString &password, bool remember);
-    void setupCore(const Protocol::SetupData &setupData);
+    void login(const QStringpreviousError = QString());
+    void login(const QString& user, const QString& password, bool remember);
+    void setupCore(const Protocol::SetupDatasetupData);
 
 signals:
-    void statusMessage(const QString &message);
-    void errorMessage(const QString &message);
-    void errorPopup(const QString &message);
+    void statusMessage(const QStringmessage);
+    void errorMessage(const QStringmessage);
+    void errorPopup(const QStringmessage);
     void transferProgress(int current, int max);
 
-    void requestDisconnect(const QString &errorString = QString(), bool wantReconnect = false);
+    void requestDisconnect(const QStringerrorString = QString(), bool wantReconnect = false);
 
     void connectionReady();
-    void loginSuccessful(const CoreAccount &account);
-    void handshakeComplete(RemotePeer *peer, const Protocol::SessionState &sessionState);
+    void loginSuccessful(const CoreAccountaccount);
+    void handshakeComplete(RemotePeer* peer, const Protocol::SessionState& sessionState);
 
     // These signals MUST be handled synchronously!
-    void userAuthenticationRequired(CoreAccount *account, bool *valid, const QString &errorMessage = QString());
-    void handleNoSslInClient(bool *accepted);
-    void handleNoSslInCore(bool *accepted);
+    void userAuthenticationRequired(CoreAccount* account, bool* valid, const QString& errorMessage = QString());
+    void handleNoSslInClient(boolaccepted);
+    void handleNoSslInCore(boolaccepted);
 #ifdef HAVE_SSL
-    void handleSslErrors(const QSslSocket *socket, bool *accepted, bool *permanently);
+    void handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently);
 #endif
 
     void encrypted(bool isEncrypted = true);
-    void startCoreSetup(const QVariantList &backendInfo);
+    void startCoreSetup(const QVariantList& backendInfo, const QVariantList& authenticatorInfo);
     void coreSetupSuccessful();
-    void coreSetupFailed(const QString &error);
+    void coreSetupFailed(const QStringerror);
 
 private:
     using AuthHandler::handle;
 
-    void handle(const Protocol::ClientDenied &msg);
-    void handle(const Protocol::ClientRegistered &msg);
-    void handle(const Protocol::SetupFailed &msg);
-    void handle(const Protocol::SetupDone &msg);
-    void handle(const Protocol::LoginFailed &msg);
-    void handle(const Protocol::LoginSuccess &msg);
-    void handle(const Protocol::SessionState &msg);
+    void handle(const Protocol::ClientDenied& msg) override;
+    void handle(const Protocol::ClientRegistered& msg) override;
+    void handle(const Protocol::SetupFailed& msg) override;
+    void handle(const Protocol::SetupDone& msg) override;
+    void handle(const Protocol::LoginFailed& msg) override;
+    void handle(const Protocol::LoginSuccess& msg) override;
+    void handle(const Protocol::SessionState& msg) override;
 
-    void setPeer(RemotePeer *peer);
+    void setPeer(RemotePeerpeer);
     void checkAndEnableSsl(bool coreSupportsSsl);
     void startRegistration();
 
 private slots:
     void onSocketConnected();
     void onSocketStateChanged(QAbstractSocket::SocketState state);
-    void onSocketError(QAbstractSocket::SocketError);
-    void onSocketDisconnected();
+    void onSocketError(QAbstractSocket::SocketError) override;
+    void onSocketDisconnected() override;
     void onReadyRead();
 
 #ifdef HAVE_SSL
@@ -100,13 +108,12 @@ private slots:
     void onConnectionReady();
 
 private:
-    RemotePeer *_peer;
+    RemotePeer_peer;
     bool _coreConfigured;
     QVariantList _backendInfo;
+    QVariantList _authenticatorInfo;
     CoreAccount _account;
     bool _probing;
     bool _legacy;
     quint8 _connectionFeatures;
 };
-
-#endif