Avoid race conditions in the build system
[quassel.git] / src / common / protocol.h
index d1154db..053ab29 100644 (file)
 
 namespace Protocol {
 
+const quint32 magic = 0x42b33f00;
+
 enum Type {
-    LegacyProtocol = 1
+    LegacyProtocol = 0x01,
+    DataStreamProtocol = 0x02
+};
+
+
+enum Feature {
+    Encryption = 0x01,
+    Compression = 0x02
 };
 
+
 enum Handler {
     SignalProxy,
     AuthHandler
 };
 
-/*** Handshake, handled by AuthHandler ***/
 
+/*** Handshake, handled by AuthHandler ***/
 
 struct HandshakeMessage {
     inline Handler handler() const { return AuthHandler; }
@@ -46,11 +56,13 @@ struct HandshakeMessage {
 
 struct RegisterClient : public HandshakeMessage
 {
-    inline RegisterClient(const QString &clientVersion, bool sslSupported = false)
+    inline RegisterClient(const QString &clientVersion, const QString &buildDate, bool sslSupported = false)
     : clientVersion(clientVersion)
+    , buildDate(buildDate)
     , sslSupported(sslSupported) {}
 
     QString clientVersion;
+    QString buildDate;
 
     // this is only used by the LegacyProtocol in compat mode
     bool sslSupported;