From 05011ecce5da659f36a0abea79f1a96d24703801 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Sat, 28 Nov 2015 23:49:17 +0100 Subject: Support Pebble apps with workers Separate upload for 'worker' binaries. Split binary upload type into firmware, application and worker, as the 'type' field states 'worker' for applications with worker binaries. Fixes #34 --- daemon/bundle.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'daemon/bundle.cpp') diff --git a/daemon/bundle.cpp b/daemon/bundle.cpp index 63400b5..2b8de11 100644 --- a/daemon/bundle.cpp +++ b/daemon/bundle.cpp @@ -93,8 +93,14 @@ QIODevice *Bundle::openFile(enum Bundle::File file, QIODevice::OpenMode mode) co case Bundle::APPJS: fileName = "pebble-js-app.js"; break; - case Bundle::BINARY: - fileName = b->manifest.value(type()).toObject().value("name").toString(); + case Bundle::FIRMWARE: + fileName = b->manifest.value("firmware").toObject().value("name").toString(); + break; + case Bundle::APPLICATION: + fileName = b->manifest.value("application").toObject().value("name").toString(); + break; + case Bundle::WORKER: + fileName = b->manifest.value("worker").toObject().value("name").toString(); break; case Bundle::RESOURCES: fileName = b->manifest.value("resources").toObject().value("name").toString(); @@ -133,12 +139,18 @@ quint32 Bundle::crcFile(enum Bundle::File file) const quint32 ret = 0; switch (file) { - case Bundle::BINARY: - ret = b->manifest.value(type()).toObject().value("crc").toDouble(); + case Bundle::FIRMWARE: + ret = b->manifest.value("firmware").toObject().value("crc").toDouble(); break; case Bundle::RESOURCES: ret = b->manifest.value("resources").toObject().value("crc").toDouble(); break; + case Bundle::APPLICATION: + ret = b->manifest.value("application").toObject().value("crc").toDouble(); + break; + case Bundle::WORKER: + ret = b->manifest.value("worker").toObject().value("crc").toDouble(); + break; default: qCWarning(l) << "Unsupported CRC for" << file; } -- cgit v1.2.3