X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fprotocol.h;h=053ab29b83c8b5779c6841c576ed0820c26b34a6;hp=80b00de032360ef7ce2419c372f4b5c009042ea2;hb=86597db6d33c40427dbc2bb4d1b781637e0c961c;hpb=121a7a9291abd0f49aab836a47c8afcae66da18e diff --git a/src/common/protocol.h b/src/common/protocol.h index 80b00de0..053ab29b 100644 --- a/src/common/protocol.h +++ b/src/common/protocol.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 * @@ -27,17 +27,27 @@ namespace Protocol { +const quint32 magic = 0x42b33f00; + enum Type { - LegacyProtocol = 1 + LegacyProtocol = 0x01, + DataStreamProtocol = 0x02 +}; + + +enum Feature { + Encryption = 0x01, + Compression = 0x02 }; + enum Handler { SignalProxy, AuthHandler }; -/*** Handshake, handled by AuthHandler ***/ +/*** Handshake, handled by AuthHandler ***/ struct HandshakeMessage { inline Handler handler() const { return AuthHandler; } @@ -46,11 +56,13 @@ struct HandshakeMessage { struct RegisterClient : public HandshakeMessage { - inline RegisterClient(const QString &clientVersion, bool sslSupported = false) + inline RegisterClient(const QString &clientVersion, const QString &buildDate, bool sslSupported = false) : clientVersion(clientVersion) + , buildDate(buildDate) , sslSupported(sslSupported) {} QString clientVersion; + QString buildDate; // this is only used by the LegacyProtocol in compat mode bool sslSupported;