X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fprotocol.h;h=b219e018942d4c923ae24729d7b92a75626f33fb;hb=755e966f66d2c05970e831088dea4df92c8787a5;hp=d1154db8d19529f8bd828969bc36b6584538f81d;hpb=9d54503555534a2c554f09a33df6afa33d6308ec;p=quassel.git diff --git a/src/common/protocol.h b/src/common/protocol.h index d1154db8..b219e018 100644 --- a/src/common/protocol.h +++ b/src/common/protocol.h @@ -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; @@ -68,12 +80,12 @@ struct ClientDenied : public HandshakeMessage struct ClientRegistered : public HandshakeMessage { - inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, bool sslSupported, const QDateTime &coreStartTime) + inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, bool sslSupported, const QString &coreInfo) : coreFeatures(coreFeatures) , coreConfigured(coreConfigured) , backendInfo(backendInfo) , sslSupported(sslSupported) - , coreStartTime(coreStartTime) + , coreInfo(coreInfo) {} quint32 coreFeatures; @@ -82,7 +94,7 @@ struct ClientRegistered : public HandshakeMessage // this is only used by the LegacyProtocol in compat mode bool sslSupported; - QDateTime coreStartTime; + QString coreInfo; };