/***************************************************************************
- * Copyright (C) 2005-2013 by the Quassel Project *
+ * Copyright (C) 2005-2016 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
Q_OBJECT
public:
- enum State {
- UnconnectedState,
- HostLookupState,
- ConnectingState,
- ConnectedState,
- RetryWithLegacyState,
- AuthenticatingState,
- AuthenticatedState,
- ClosingState
- };
-
AuthHandler(QObject *parent = 0);
- State state() const;
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(); }
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
+ bool _disconnectedSent;
};
#endif