* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef PROTOCOL_H_
-#define PROTOCOL_H_
+#pragma once
#include <QByteArray>
#include <QDateTime>
#include <QVariantList>
+#include "quassel.h"
+
namespace Protocol {
const quint32 magic = 0x42b33f00;
struct RegisterClient : public HandshakeMessage
{
- inline RegisterClient(const QString &clientVersion, const QString &buildDate, bool sslSupported = false)
- : clientVersion(clientVersion)
- , buildDate(buildDate)
- , sslSupported(sslSupported) {}
+ 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;
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
};
-
-#endif