X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fprotocols%2Flegacy%2Flegacypeer.h;h=3bc93d31b50d396529fb669ab0fd2a26301386c6;hp=a3aa178b8b8f99e8986e9aee562e09781d2f2112;hb=6f82edb27a2ed2c77b36591e492d8aa2671344ef;hpb=04315f46a16fc3627218377071e008b6b9744992 diff --git a/src/common/protocols/legacy/legacypeer.h b/src/common/protocols/legacy/legacypeer.h index a3aa178b..3bc93d31 100644 --- a/src/common/protocols/legacy/legacypeer.h +++ b/src/common/protocols/legacy/legacypeer.h @@ -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 * @@ -41,11 +41,23 @@ public: HeartBeatReply }; - LegacyPeer(QTcpSocket *socket, QObject *parent = 0); - ~LegacyPeer() {} + LegacyPeer(AuthHandler *authHandler, QTcpSocket *socket, QObject *parent = 0); + + Protocol::Type protocol() const { return Protocol::LegacyProtocol; } void setSignalProxy(SignalProxy *proxy); + void dispatch(const Protocol::RegisterClient &msg); + void dispatch(const Protocol::ClientDenied &msg); + void dispatch(const Protocol::ClientRegistered &msg); + void dispatch(const Protocol::SetupData &msg); + void dispatch(const Protocol::SetupFailed &msg); + void dispatch(const Protocol::SetupDone &msg); + void dispatch(const Protocol::Login &msg); + void dispatch(const Protocol::LoginFailed &msg); + void dispatch(const Protocol::LoginSuccess &msg); + void dispatch(const Protocol::SessionState &msg); + void dispatch(const Protocol::SyncMessage &msg); void dispatch(const Protocol::RpcCall &msg); void dispatch(const Protocol::InitRequest &msg); @@ -54,19 +66,24 @@ public: void dispatch(const Protocol::HeartBeat &msg); void dispatch(const Protocol::HeartBeatReply &msg); - // FIXME: this is only used for the auth phase and should be replaced by something more generic - void writeSocketData(const QVariant &item); +signals: + void protocolError(const QString &errorString); -private slots: - void socketDataAvailable(); + // only used in compat mode + void protocolVersionMismatch(int actual, int expected); + +protected slots: + void onSocketDataAvailable(); private: bool readSocketData(QVariant &item); + void writeSocketData(const QVariant &item); + void handleHandshakeMessage(const QVariant &msg); void handlePackedFunc(const QVariant &packedFunc); void dispatchPackedFunc(const QVariantList &packedFunc); QDataStream _stream; - qint32 _blockSize; + quint32 _blockSize; bool _useCompression; };