X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fprotocol.h;h=e626686277245eade9606b7aef6c35ef6845837a;hb=9f5158eab420977b42d8fc6b98d2eb0de66cbaa4;hp=f3c18e4c828a60ab9f89dcf4c27d1546ef637ebe;hpb=258d157a228d2b2b46b01d3b33ab932b9979436a;p=quassel.git diff --git a/src/common/protocol.h b/src/common/protocol.h index f3c18e4c..e6266862 100644 --- a/src/common/protocol.h +++ b/src/common/protocol.h @@ -18,8 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef PROTOCOL_H_ -#define PROTOCOL_H_ +#pragma once #include #include @@ -42,7 +41,7 @@ enum Feature { }; -enum Handler { +enum class Handler { SignalProxy, AuthHandler }; @@ -51,22 +50,24 @@ enum Handler { /*** Handshake, handled by AuthHandler ***/ struct HandshakeMessage { - inline Handler handler() const { return AuthHandler; } + inline Handler handler() const { return Handler::AuthHandler; } }; struct RegisterClient : public HandshakeMessage { - inline RegisterClient(const QString &clientVersion, const QString &buildDate, bool sslSupported = false) + inline RegisterClient(const QString &clientVersion, const QString &buildDate, bool sslSupported = false, quint32 features = 0) : clientVersion(clientVersion) , buildDate(buildDate) - , sslSupported(sslSupported) {} + , sslSupported(sslSupported) + , clientFeatures(features) {} QString clientVersion; QString buildDate; // this is only used by the LegacyProtocol in compat mode bool sslSupported; + quint32 clientFeatures; }; @@ -179,7 +180,7 @@ struct SessionState : public HandshakeMessage struct SignalProxyMessage { - inline Handler handler() const { return SignalProxy; } + inline Handler handler() const { return Handler::SignalProxy; } }; @@ -245,5 +246,3 @@ struct HeartBeatReply }; - -#endif