Replace Protocol::Handler enum with enum class
[quassel.git] / src / common / protocol.h
index b686a51..bf6c401 100644 (file)
@@ -42,7 +42,7 @@ enum Feature {
 };
 
 
-enum Handler {
+enum class Handler {
     SignalProxy,
     AuthHandler
 };
@@ -51,7 +51,7 @@ enum Handler {
 /*** Handshake, handled by AuthHandler ***/
 
 struct HandshakeMessage {
-    inline Handler handler() const { return AuthHandler; }
+    inline Handler handler() const { return Handler::AuthHandler; }
 };
 
 
@@ -81,21 +81,21 @@ struct ClientDenied : public HandshakeMessage
 
 struct ClientRegistered : public HandshakeMessage
 {
-    inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, const QVariantList &authBackendInfo, bool sslSupported)
+    inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, bool sslSupported, const QVariantList &authenticatorInfo)
     : coreFeatures(coreFeatures)
     , coreConfigured(coreConfigured)
     , backendInfo(backendInfo)
-    , authBackendInfo(authBackendInfo)
+    , authenticatorInfo(authenticatorInfo)
     , sslSupported(sslSupported)
     {}
 
     quint32 coreFeatures;
     bool coreConfigured;
-    
-    // The authBackendInfo should be optional!
+
+    // The authenticatorInfo should be optional!
     QVariantList backendInfo; // TODO: abstract this better
-    QVariantList authBackendInfo;
-    
+    QVariantList authenticatorInfo;
+
     // this is only used by the LegacyProtocol in compat mode
     bool sslSupported;
 };
@@ -103,15 +103,23 @@ struct ClientRegistered : public HandshakeMessage
 
 struct SetupData : public HandshakeMessage
 {
-    inline SetupData(const QString &adminUser, const QString &adminPassword, const QString &backend, const QString &authenticator, const QVariantMap &setupData, const QVariantMap &authSetupData)
-    : adminUser(adminUser), adminPassword(adminPassword), backend(backend), authenticator(authenticator), setupData(setupData), authSetupData(authSetupData) {}
+    inline SetupData(const QString &adminUser, const QString &adminPassword, const QString &backend,
+                     const QVariantMap &setupData, const QString &authenticator = QString(),
+                     const QVariantMap &authSetupData = QVariantMap())
+    : adminUser(adminUser)
+    , adminPassword(adminPassword)
+    , backend(backend)
+    , setupData(setupData)
+    , authenticator(authenticator)
+    , authSetupData(authSetupData)
+    {}
 
     QString adminUser;
     QString adminPassword;
     QString backend;
-       QString authenticator;
     QVariantMap setupData;
-       QVariantMap authSetupData;
+    QString authenticator;
+    QVariantMap authSetupData;
 };
 
 
@@ -171,7 +179,7 @@ struct SessionState : public HandshakeMessage
 
 struct SignalProxyMessage
 {
-    inline Handler handler() const { return SignalProxy; }
+    inline Handler handler() const { return Handler::SignalProxy; }
 };