/***************************************************************************
- * Copyright (C) 2005-2018 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 *
#include "common-export.h"
-#include <QTcpSocket>
+#include <QSslSocket>
#include "protocol.h"
Q_OBJECT
public:
- AuthHandler(QObject *parent = nullptr);
+ 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 QString& errorString);
protected:
- void setSocket(QTcpSocket *socket);
+ void setSocket(QSslSocket* socket);
protected slots:
virtual void onSocketError(QAbstractSocket::SocketError error);
private:
void invalidMessage();
- QTcpSocket *_socket{nullptr}; // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over
+ QSslSocket* _socket{nullptr}; // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over
bool _disconnectedSent{false};
};