X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fprotocol.h;h=9b1a45a488561d2aa76c0b5830dac015715b9aa7;hp=89ef40731840fb2535fdabf09a9dd8b026eff7ef;hb=2e9855c688c827b2159fbb548bf816de360e3ae3;hpb=02bebb4c8f1c45397c55f1660176bfa0c303e703 diff --git a/src/common/protocol.h b/src/common/protocol.h index 89ef4073..9b1a45a4 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; } @@ -141,6 +151,7 @@ struct LoginSuccess : public HandshakeMessage // TODO: more generic format struct SessionState : public HandshakeMessage { + inline SessionState() {} // needed for QMetaType (for the mono client) inline SessionState(const QVariantList &identities, const QVariantList &bufferInfos, const QVariantList &networkIds) : identities(identities), bufferInfos(bufferInfos), networkIds(networkIds) {} @@ -149,7 +160,6 @@ struct SessionState : public HandshakeMessage QVariantList networkIds; }; - /*** handled by SignalProxy ***/ struct SignalProxyMessage