X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fauthhandler.h;h=a2c078a9cfb8fb963929eb6cf31b64f921e566ff;hp=4f068400d6089e76816ad905a27d31881ccd3359;hb=e38846f054ad1766f2e91992a57bbaffd33c7c06;hpb=baacb468d9e2da5ed57cd064045dd9ddf1f7fbc9 diff --git a/src/common/authhandler.h b/src/common/authhandler.h index 4f068400..a2c078a9 100644 --- a/src/common/authhandler.h +++ b/src/common/authhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 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 * @@ -18,8 +18,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef AUTHHANDLER_H -#define AUTHHANDLER_H +#pragma once + +#include "common-export.h" #include @@ -27,66 +28,52 @@ class Peer; -class AuthHandler : public QObject +class COMMON_EXPORT AuthHandler : public QObject { Q_OBJECT public: - enum State { - UnconnectedState, - HostLookupState, - ConnectingState, - ConnectedState, - RetryWithLegacyState, - AuthenticatingState, - AuthenticatedState, - ClosingState - }; - - AuthHandler(QObject *parent = 0); - - State state() const; - QTcpSocket *socket() 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(); } + AuthHandler(QObject* parent = nullptr); + + QTcpSocket* socket() const; + + 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(); } // fallback for unknown types, will trigger an error template - void handle(const T &) { invalidMessage(); } + void handle(const T&) + { + invalidMessage(); + } public slots: void close(); signals: - void stateChanged(State state); void disconnected(); - - void socketStateChanged(QAbstractSocket::SocketState state); - void socketError(QAbstractSocket::SocketError error, const QString &errorString); + void socketError(QAbstractSocket::SocketError error, const QString& errorString); protected: - void setSocket(QTcpSocket *socket); - void setState(State state); + void setSocket(QTcpSocket* socket); -private slots: - void onSocketError(QAbstractSocket::SocketError error); - void onSocketDisconnected(); +protected slots: + virtual void onSocketError(QAbstractSocket::SocketError error); + virtual void onSocketDisconnected(); private: void invalidMessage(); - State _state; - QTcpSocket *_socket; // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over - bool _disconnectedSent; + QTcpSocket* _socket{nullptr}; // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over + bool _disconnectedSent{false}; }; - -#endif