From 9cfa2f0581867a51f00b0ea471b9fdae8a12c12e Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sun, 21 Jul 2019 01:29:44 +0200 Subject: [PATCH] Update naviationpad interface --- libnymea/devices/pluginmetadata.cpp | 6 ++++ .../interfaces/extendednavigationpad.json | 22 ++++++++++--- libnymea/interfaces/navigationpad.json | 31 +++++++++---------- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/libnymea/devices/pluginmetadata.cpp b/libnymea/devices/pluginmetadata.cpp index eb7ccceb..491acc3b 100644 --- a/libnymea/devices/pluginmetadata.cpp +++ b/libnymea/devices/pluginmetadata.cpp @@ -527,6 +527,12 @@ void PluginMetadata::parse(const QJsonObject &jsonObject) qCWarning(dcPluginMetadata()) << "DeviceClass" << deviceClass.name() << "claims to implement interface" << value.toString() << "but param" << paramType.name() << "is of wrong type:" << QVariant::typeToName(paramType.type()) << "expected:" << QVariant::typeToName(ifaceActionParamType.type()); hasError = true; } + foreach (const QVariant &allowedValue, ifaceActionParamType.allowedValues()) { + if (!paramType.allowedValues().contains(allowedValue)) { + qCWarning(dcPluginMetadata()) << "DeviceClass" << deviceClass.name() << "claims to implement interface" << value.toString() << "but param" << paramType.name() << "is missing allowed value" << allowedValue; + hasError = true; + } + } } } } diff --git a/libnymea/interfaces/extendednavigationpad.json b/libnymea/interfaces/extendednavigationpad.json index c6576edd..80332508 100644 --- a/libnymea/interfaces/extendednavigationpad.json +++ b/libnymea/interfaces/extendednavigationpad.json @@ -3,10 +3,24 @@ "extends": "navigationpad", "actions": [ { - "name": "navigateMenu" - }, - { - "name": "navigateInfo" + "name": "navigate", + "params": [ + { + "name": "to", + "type": "QString", + "allowedValues": [ + "up", + "down", + "left", + "right", + "enter", + "back", + "menu", + "info", + "home" + ] + } + ] } ] } diff --git a/libnymea/interfaces/navigationpad.json b/libnymea/interfaces/navigationpad.json index a7056bdf..71aa0cb9 100644 --- a/libnymea/interfaces/navigationpad.json +++ b/libnymea/interfaces/navigationpad.json @@ -3,22 +3,21 @@ "extends": "media", "actions": [ { - "name": "navigateUp" - }, - { - "name": "navigateDown" - }, - { - "name": "navigateLeft" - }, - { - "name": "navigateRight" - }, - { - "name": "navigateOk" - }, - { - "name": "navigateBack" + "name": "navigate", + "params": [ + { + "name": "to", + "type": "QString", + "allowedValues": [ + "up", + "down", + "left", + "right", + "enter", + "back" + ] + } + ] } ] }