ssl: Use QSslSocket directly to avoid redundant qobject_casts
[quassel.git] / src / common / authhandler.h
index cc03588..a14b7e4 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2014 by the Quassel Project                        *
+ *   Copyright (C) 2005-2020 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 AUTHHANDLER_H
-#define AUTHHANDLER_H
+#pragma once
 
-#include <QTcpSocket>
+#include "common-export.h"
+
+#include <QSslSocket>
 
 #include "protocol.h"
 
 class Peer;
 
-class AuthHandler : public QObject
+class COMMON_EXPORT AuthHandler : public QObject
 {
     Q_OBJECT
 
 public:
-    AuthHandler(QObject *parent = 0);
+    AuthHandler(QObject* parent = nullptr);
 
-    QTcpSocket *socket() const;
+    QSslSocket* socket() const;
 
-    bool isLocal() const;
+    virtual bool isLocal() const;
 
-    virtual void handle(const Protocol::RegisterClient &) { invalidMessage(); }
-    virtual void handle(const Protocol::ClientDenied &) { invalidMessage(); }
-    virtual void handle(const Protocol::ClientRegistered &) { invalidMessage(); }
-    virtual void handle(const Protocol::SetupData &) { invalidMessage(); }
-    virtual void handle(const Protocol::SetupFailed &) { invalidMessage(); }
-    virtual void handle(const Protocol::SetupDone &) { invalidMessage(); }
-    virtual void handle(const Protocol::Login &) { invalidMessage(); }
-    virtual void handle(const Protocol::LoginFailed &) { invalidMessage(); }
-    virtual void handle(const Protocol::LoginSuccess &) { invalidMessage(); }
-    virtual void handle(const Protocol::SessionState &) { invalidMessage(); }
+    virtual void handle(const Protocol::RegisterClient&) { invalidMessage(); }
+    virtual void handle(const Protocol::ClientDenied&) { invalidMessage(); }
+    virtual void handle(const Protocol::ClientRegistered&) { invalidMessage(); }
+    virtual void handle(const Protocol::SetupData&) { invalidMessage(); }
+    virtual void handle(const Protocol::SetupFailed&) { invalidMessage(); }
+    virtual void handle(const Protocol::SetupDone&) { invalidMessage(); }
+    virtual void handle(const Protocol::Login&) { invalidMessage(); }
+    virtual void handle(const Protocol::LoginFailed&) { invalidMessage(); }
+    virtual void handle(const Protocol::LoginSuccess&) { invalidMessage(); }
+    virtual void handle(const Protocol::SessionState&) { invalidMessage(); }
 
     // fallback for unknown types, will trigger an error
     template<class T>
-    void handle(const T &) { invalidMessage(); }
+    void handle(const T&)
+    {
+        invalidMessage();
+    }
 
 public slots:
     void close();
 
 signals:
     void disconnected();
-    void socketError(QAbstractSocket::SocketError error, const QString &errorString);
+    void socketError(QAbstractSocket::SocketError error, const QStringerrorString);
 
 protected:
-    void setSocket(QTcpSocket *socket);
+    void setSocket(QSslSocket* socket);
 
 protected slots:
     virtual void onSocketError(QAbstractSocket::SocketError error);
@@ -70,8 +74,6 @@ protected slots:
 private:
     void invalidMessage();
 
-    QTcpSocket *_socket; // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over
-    bool _disconnectedSent;
+    QSslSocket* _socket{nullptr};  // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over
+    bool _disconnectedSent{false};
 };
-
-#endif