X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fprotocol.h;h=499d36e3f5747f8189bea8021db29727c8d176e3;hp=e626686277245eade9606b7aef6c35ef6845837a;hb=68878dc8366f2f4a0afe132847aad9a51a80cdbf;hpb=f353beded3963b67da6ac0878700dee8e61abfc4 diff --git a/src/common/protocol.h b/src/common/protocol.h index e6266862..499d36e3 100644 --- a/src/common/protocol.h +++ b/src/common/protocol.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,6 +24,8 @@ #include #include +#include "quassel.h" + namespace Protocol { const quint32 magic = 0x42b33f00; @@ -56,18 +58,19 @@ struct HandshakeMessage { struct RegisterClient : public HandshakeMessage { - inline RegisterClient(const QString &clientVersion, const QString &buildDate, bool sslSupported = false, quint32 features = 0) - : clientVersion(clientVersion) - , buildDate(buildDate) - , sslSupported(sslSupported) - , clientFeatures(features) {} + inline RegisterClient(Quassel::Features clientFeatures, const QString &clientVersion, const QString &buildDate, bool sslSupported = false) + : features(std::move(clientFeatures)) + , clientVersion(clientVersion) + , buildDate(buildDate) + , sslSupported(sslSupported) + {} + Quassel::Features features; QString clientVersion; QString buildDate; // this is only used by the LegacyProtocol in compat mode bool sslSupported; - quint32 clientFeatures; }; @@ -82,19 +85,19 @@ struct ClientDenied : public HandshakeMessage struct ClientRegistered : public HandshakeMessage { - inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, bool sslSupported, const QVariantList &authenticatorInfo) - : coreFeatures(coreFeatures) - , coreConfigured(coreConfigured) - , backendInfo(backendInfo) - , authenticatorInfo(authenticatorInfo) - , sslSupported(sslSupported) + inline ClientRegistered(Quassel::Features coreFeatures, bool coreConfigured, const QVariantList &backendInfo, const QVariantList &authenticatorInfo, bool sslSupported) + : features(std::move(coreFeatures)) + , coreConfigured(coreConfigured) + , backendInfo(backendInfo) + , authenticatorInfo(authenticatorInfo) + , sslSupported(sslSupported) {} - quint32 coreFeatures; + Quassel::Features features; bool coreConfigured; + QVariantList backendInfo; // TODO: abstract this better // The authenticatorInfo should be optional! - QVariantList backendInfo; // TODO: abstract this better QVariantList authenticatorInfo; // this is only used by the LegacyProtocol in compat mode