X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fauthhandler.h;h=0d30e6624f42faf0a74b20a765debbb5add88ef1;hp=6330fa992160ec7cc0b40f1b486ff2e77d36dc3c;hb=ed5b2ff32158ae72c011eb1228f373cec05cbfeb;hpb=64cf9f9b8a737dad5f29447805d4004cfd03c454 diff --git a/src/common/authhandler.h b/src/common/authhandler.h index 6330fa99..0d30e662 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-2018 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,27 +28,17 @@ 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; + 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(); } @@ -67,24 +58,19 @@ public slots: void close(); signals: - void stateChanged(State state); void disconnected(); - - void socketStateChanged(QAbstractSocket::SocketState state); void socketError(QAbstractSocket::SocketError error, const QString &errorString); protected: void setSocket(QTcpSocket *socket); - void setState(State state); -private slots: - void socketError(QAbstractSocket::SocketError error); +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 + QTcpSocket *_socket{nullptr}; // FIXME: should be a QSharedPointer? -> premature disconnect before the peer has taken over + bool _disconnectedSent{false}; }; - -#endif