summaryrefslogtreecommitdiff
path: root/daemon/packer.cpp
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-06 21:14:24 +0100
committerJavier <dev.git@javispedro.com>2014-12-06 21:14:24 +0100
commit3785de21ec2e466535a45183b6f9082b5dfba976 (patch)
treedeb5087ad98aca7491f1ac37560bd8c7aa96c8c4 /daemon/packer.cpp
parent0a92face6b035a26aad3d4d7ffa5a72b463e4c2a (diff)
add a polyfill for typed arrays, and many other compat changes
Diffstat (limited to 'daemon/packer.cpp')
-rw-r--r--daemon/packer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/daemon/packer.cpp b/daemon/packer.cpp
index 569f7a8..4dabf96 100644
--- a/daemon/packer.cpp
+++ b/daemon/packer.cpp
@@ -74,6 +74,22 @@ void Packer::writeDict(const QMap<int, QVariant> &d)
break;
}
+ case QMetaType::QVariantList: {
+ // Generally a JS array, which we marshal as a byte array.
+ QVariantList list = it.value().toList();
+ QByteArray ba;
+ ba.reserve(list.size());
+
+ Q_FOREACH (const QVariant &v, list) {
+ ba.append(v.toInt());
+ }
+
+ writeLE<quint8>(WatchConnector::typeBYTES);
+ writeLE<quint16>(ba.size());
+ _buf->append(ba);
+ break;
+ }
+
default:
logger()->warn() << "Unknown dict item type:" << it.value().typeName();
/* Fallthrough */