diff options
| author | Javier <dev.git@javispedro.com> | 2014-12-04 00:41:24 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-12-04 00:41:24 +0100 |
| commit | 1b920c3c0593f6810dd900c882e4760cbbbeeb56 (patch) | |
| tree | bbe209ba5c88cbe2acdb981857a08e1106ecec7a /daemon/appmanager.cpp | |
| parent | ddcc8ada42c186e980626ff617be038f45106145 (diff) | |
parse capabilities of installed apps
Diffstat (limited to 'daemon/appmanager.cpp')
| -rw-r--r-- | daemon/appmanager.cpp | 10 |
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()); |
