- inline QByteArray className() const { return _className; }
- inline QString objectName() const { return _objectName; }
- inline QByteArray slotName() const { return _slotName; }
+struct ClientDenied : public HandshakeMessage
+{
+ inline ClientDenied(const QString &errorString)
+ : errorString(errorString) {}
+
+ QString errorString;
+};
+
+
+struct ClientRegistered : public HandshakeMessage
+{
+ 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)
+ {}
+
+ Quassel::Features features;
+ bool coreConfigured;
+ QVariantList backendInfo; // TODO: abstract this better
+
+ // The authenticatorInfo should be optional!
+ QVariantList authenticatorInfo;
+
+ // this is only used by the LegacyProtocol in compat mode
+ bool sslSupported;
+};