DataStreamPeer: Send QDateTime instead of QTime in heartbeat messages
[quassel.git] / src / common / protocols / datastream / datastreampeer.cpp
index df87b13..a14af64 100644 (file)
@@ -321,7 +321,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc)
                 return;
             }
             QByteArray className = params.takeFirst().toByteArray();
                 return;
             }
             QByteArray className = params.takeFirst().toByteArray();
-            QString objectName = params.takeFirst().toString();
+            QString objectName = QString::fromUtf8(params.takeFirst().toByteArray());
             QByteArray slotName = params.takeFirst().toByteArray();
             handle(Protocol::SyncMessage(className, objectName, slotName, params));
             break;
             QByteArray slotName = params.takeFirst().toByteArray();
             handle(Protocol::SyncMessage(className, objectName, slotName, params));
             break;
@@ -341,7 +341,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc)
                 return;
             }
             QByteArray className = params[0].toByteArray();
                 return;
             }
             QByteArray className = params[0].toByteArray();
-            QString objectName = params[1].toString();
+            QString objectName = QString::fromUtf8(params[1].toByteArray());
             handle(Protocol::InitRequest(className, objectName));
             break;
         }
             handle(Protocol::InitRequest(className, objectName));
             break;
         }
@@ -351,7 +351,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc)
                 return;
             }
             QByteArray className = params[0].toByteArray();
                 return;
             }
             QByteArray className = params[0].toByteArray();
-            QString objectName = params[1].toString();
+            QString objectName = QString::fromUtf8(params[1].toByteArray());
             QVariantMap initData = params[2].toMap();
             handle(Protocol::InitData(className, objectName, initData));
             break;
             QVariantMap initData = params[2].toMap();
             handle(Protocol::InitData(className, objectName, initData));
             break;
@@ -361,11 +361,8 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc)
                 qWarning() << Q_FUNC_INFO << "Received invalid HeartBeat:" << params;
                 return;
             }
                 qWarning() << Q_FUNC_INFO << "Received invalid HeartBeat:" << params;
                 return;
             }
-            // The legacy protocol would only send a QTime, no QDateTime
-            // so we assume it's sent today, which works in exactly the same cases as it did in the old implementation
-            QDateTime dateTime = QDateTime::currentDateTime().toUTC();
-            dateTime.setTime(params[0].toTime());
-            handle(Protocol::HeartBeat(dateTime));
+            // Note: QDateTime instead of QTime as in the legacy protocol!
+            handle(Protocol::HeartBeat(params[0].toDateTime()));
             break;
         }
         case HeartBeatReply: {
             break;
         }
         case HeartBeatReply: {
@@ -373,11 +370,8 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc)
                 qWarning() << Q_FUNC_INFO << "Received invalid HeartBeat:" << params;
                 return;
             }
                 qWarning() << Q_FUNC_INFO << "Received invalid HeartBeat:" << params;
                 return;
             }
-            // The legacy protocol would only send a QTime, no QDateTime
-            // so we assume it's sent today, which works in exactly the same cases as it did in the old implementation
-            QDateTime dateTime = QDateTime::currentDateTime().toUTC();
-            dateTime.setTime(params[0].toTime());
-            handle(Protocol::HeartBeatReply(dateTime));
+            // Note: QDateTime instead of QTime as in the legacy protocol!
+            handle(Protocol::HeartBeatReply(params[0].toDateTime()));
             break;
         }
 
             break;
         }
 
@@ -387,7 +381,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc)
 
 void DataStreamPeer::dispatch(const Protocol::SyncMessage &msg)
 {
 
 void DataStreamPeer::dispatch(const Protocol::SyncMessage &msg)
 {
-    dispatchPackedFunc(QVariantList() << (qint16)Sync << msg.className << msg.objectName << msg.slotName << msg.params);
+    dispatchPackedFunc(QVariantList() << (qint16)Sync << msg.className << msg.objectName.toUtf8() << msg.slotName << msg.params);
 }
 
 
 }
 
 
@@ -399,25 +393,25 @@ void DataStreamPeer::dispatch(const Protocol::RpcCall &msg)
 
 void DataStreamPeer::dispatch(const Protocol::InitRequest &msg)
 {
 
 void DataStreamPeer::dispatch(const Protocol::InitRequest &msg)
 {
-    dispatchPackedFunc(QVariantList() << (qint16)InitRequest << msg.className << msg.objectName);
+    dispatchPackedFunc(QVariantList() << (qint16)InitRequest << msg.className << msg.objectName.toUtf8());
 }
 
 
 void DataStreamPeer::dispatch(const Protocol::InitData &msg)
 {
 }
 
 
 void DataStreamPeer::dispatch(const Protocol::InitData &msg)
 {
-    dispatchPackedFunc(QVariantList() << (qint16)InitData << msg.className << msg.objectName << msg.initData);
+    dispatchPackedFunc(QVariantList() << (qint16)InitData << msg.className << msg.objectName.toUtf8() << msg.initData);
 }
 
 
 void DataStreamPeer::dispatch(const Protocol::HeartBeat &msg)
 {
 }
 
 
 void DataStreamPeer::dispatch(const Protocol::HeartBeat &msg)
 {
-    dispatchPackedFunc(QVariantList() << (qint16)HeartBeat << msg.timestamp.time());
+    dispatchPackedFunc(QVariantList() << (qint16)HeartBeat << msg.timestamp);
 }
 
 
 void DataStreamPeer::dispatch(const Protocol::HeartBeatReply &msg)
 {
 }
 
 
 void DataStreamPeer::dispatch(const Protocol::HeartBeatReply &msg)
 {
-    dispatchPackedFunc(QVariantList() << (qint16)HeartBeatReply << msg.timestamp.time());
+    dispatchPackedFunc(QVariantList() << (qint16)HeartBeatReply << msg.timestamp);
 }
 
 
 }