diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2015-11-28 23:49:17 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2015-11-28 23:49:17 +0100 |
| commit | 05011ecce5da659f36a0abea79f1a96d24703801 (patch) | |
| tree | fe1d26aa5b4be45d13b2db5259d52ad590cfaa6b /daemon/bundle.cpp | |
| parent | 625962e90a0646f48e13fff5e2f88f781c5dd9b5 (diff) | |
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
Diffstat (limited to 'daemon/bundle.cpp')
| -rw-r--r-- | daemon/bundle.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
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; } |
