modernize: Use override instead of virtual
[quassel.git] / src / client / clientauthhandler.h
index 6683d1d..8cc07d1 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2014 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -18,9 +18,9 @@
  *   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 "coreaccount.h"
 
@@ -33,7 +33,15 @@ 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();
@@ -63,20 +71,20 @@ signals:
 #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);
 
 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 checkAndEnableSsl(bool coreSupportsSsl);
@@ -85,8 +93,8 @@ private:
 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
@@ -102,10 +110,9 @@ private:
     RemotePeer *_peer;
     bool _coreConfigured;
     QVariantList _backendInfo;
+    QVariantList _authenticatorInfo;
     CoreAccount _account;
     bool _probing;
     bool _legacy;
     quint8 _connectionFeatures;
 };
-
-#endif