Move all socket handling into RemotePeer
[quassel.git] / src / common / authhandler.h
index 6330fa9..cfed51e 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2013 by the Quassel Project                        *
+ *   Copyright (C) 2005-2014 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -32,20 +32,8 @@ class 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(); }
@@ -67,24 +55,21 @@ 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
+    bool _disconnectedSent;
 };
 
 #endif