summaryrefslogtreecommitdiff
path: root/daemon/appmanager.cpp
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-04 00:41:24 +0100
committerJavier <dev.git@javispedro.com>2014-12-04 00:41:24 +0100
commit1b920c3c0593f6810dd900c882e4760cbbbeeb56 (patch)
treebbe209ba5c88cbe2acdb981857a08e1106ecec7a /daemon/appmanager.cpp
parentddcc8ada42c186e980626ff617be038f45106145 (diff)
parse capabilities of installed apps
Diffstat (limited to 'daemon/appmanager.cpp')
-rw-r--r--daemon/appmanager.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/daemon/appmanager.cpp b/daemon/appmanager.cpp
index 867a15e..2520ba6 100644
--- a/daemon/appmanager.cpp
+++ b/daemon/appmanager.cpp
@@ -1,6 +1,7 @@
#include <QStandardPaths>
#include <QJsonDocument>
#include <QJsonObject>
+#include <QJsonArray>
#include <QDir>
#include "appmanager.h"
@@ -109,6 +110,15 @@ void AppManager::scanApp(const QString &path)
info.setWatchface(watchapp["watchface"].toBool());
info.setJSKit(appDir.exists("pebble-js-app.js"));
+ const QJsonArray capabilities = root["capabilities"].toArray();
+ AppInfo::Capabilities caps = 0;
+ for (QJsonArray::const_iterator it = capabilities.constBegin(); it != capabilities.constEnd(); ++it) {
+ QString cap = (*it).toString();
+ if (cap == "location") caps |= AppInfo::Location;
+ if (cap == "configurable") caps |= AppInfo::Configurable;
+ }
+ info.setCapabilities(caps);
+
const QJsonObject appkeys = root["appKeys"].toObject();
for (QJsonObject::const_iterator it = appkeys.constBegin(); it != appkeys.constEnd(); ++it) {
info.addAppKey(it.key(), it.value().toInt());