Index: denali.pro =================================================================== diff -u -rb2ebb6f71cf9b0c2ba68a47776e5b220b165b21c -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- denali.pro (.../denali.pro) (revision b2ebb6f71cf9b0c2ba68a47776e5b220b165b21c) +++ denali.pro (.../denali.pro) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -26,9 +26,9 @@ sources/canbus/messagedispatcher.h \ sources/canbus/messageglobals.h \ sources/canbus/messagehandler.h \ + sources/canbus/messageinterface.h \ sources/configuration/display.h \ sources/configuration/sound.h \ - sources/gui/guiactions.h \ sources/gui/guiglobals.h \ sources/gui/guiview.h \ sources/gui/guicontroller.h \ @@ -46,9 +46,9 @@ sources/canbus/messagebuilder.cpp \ sources/canbus/messagedispatcher.cpp \ sources/canbus/messagehandler.cpp \ + sources/canbus/messageinterface.cpp \ sources/configuration/display.cpp \ sources/configuration/sound.cpp \ - sources/gui/guiactions.cpp \ sources/gui/guiglobals.cpp \ sources/gui/guiview.cpp \ sources/gui/guicontroller.cpp \ Index: main.cpp =================================================================== diff -u -rf623529d6ec25b555f3ac2248d71fc2b5e7063d6 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- main.cpp (.../main.cpp) (revision f623529d6ec25b555f3ac2248d71fc2b5e7063d6) +++ main.cpp (.../main.cpp) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -31,7 +31,6 @@ #include "caninterface.h" #include "messagehandler.h" #include "applicationcontroller.h" -#include "guiglobals.h" #include "guicontroller.h" #ifdef UNIT_TEST Index: sources/applicationcontroller.cpp =================================================================== diff -u -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) +++ sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -51,19 +51,19 @@ void ApplicationController::initConnections() { // From GUI - connect(_GuiController , SIGNAL(didActionTransmit(GuiActionType, const QByteArray &)), - this , SLOT( onActionTransmit(GuiActionType, const QByteArray &))); + connect(_GuiController , SIGNAL(didActionTransmit(GuiActionType, const QVariantList &)), + this , SLOT( onActionTransmit(GuiActionType, const QVariantList &))); // From HD/DG - connect(_MessageHandler, SIGNAL(didActionReceive (GuiActionType, GuiActionData)), - this , SLOT( onActionReceive (GuiActionType, GuiActionData))); + connect(_MessageHandler, SIGNAL(didActionReceive (GuiActionType, const QVariantList &)), + this , SLOT( onActionReceive (GuiActionType, const QVariantList &))); } /*! * \brief Process the requested action * \details Processes the requested action * \param vAction - User requested Action */ -void ApplicationController::onActionTransmit(GuiActionType vAction, const QByteArray &vData) +void ApplicationController::onActionTransmit(GuiActionType vAction, const QVariantList &vData) { emit didActionTransmit(vAction, vData); } @@ -75,7 +75,7 @@ * \param vAction * \param vData */ -void ApplicationController::onActionReceive (GuiActionType vAction, GuiActionData vData) +void ApplicationController::onActionReceive (GuiActionType vAction, const QVariantList &vData) { emit didActionReceive (vAction, vData); } Index: sources/applicationcontroller.h =================================================================== diff -u -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/applicationcontroller.h (.../applicationcontroller.h) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) +++ sources/applicationcontroller.h (.../applicationcontroller.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -19,7 +19,7 @@ // Project #include "main.h" -#include "guiactions.h" +#include "guiglobals.h" #include "filehandler.h" #include "applicationpost.h" #include "canbus/caninterface.h" @@ -48,12 +48,12 @@ void initConnections(); private slots: // Should be private for thread safety and is connected internally. - void onActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG - void onActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void onActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG + void onActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG signals: - void didActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG - void didActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void didActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG + void didActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG void quit(int retcode=0); Index: sources/canbus/messagebuilder.h =================================================================== diff -u -rb2ebb6f71cf9b0c2ba68a47776e5b220b165b21c -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/canbus/messagebuilder.h (.../messagebuilder.h) (revision b2ebb6f71cf9b0c2ba68a47776e5b220b165b21c) +++ sources/canbus/messagebuilder.h (.../messagebuilder.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -18,7 +18,7 @@ #include // Project -#include "guiactions.h" +#include "guiglobals.h" #include "messageglobals.h" using namespace Gui; Index: sources/canbus/messageglobals.h =================================================================== diff -u -rb2ebb6f71cf9b0c2ba68a47776e5b220b165b21c -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/canbus/messageglobals.h (.../messageglobals.h) (revision b2ebb6f71cf9b0c2ba68a47776e5b220b165b21c) +++ sources/canbus/messageglobals.h (.../messageglobals.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -17,7 +17,7 @@ #include // Project -#include "guiactions.h" +#include "guiglobals.h" namespace Can { Index: sources/canbus/messagehandler.cpp =================================================================== diff -u -rb2ebb6f71cf9b0c2ba68a47776e5b220b165b21c -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/canbus/messagehandler.cpp (.../messagehandler.cpp) (revision b2ebb6f71cf9b0c2ba68a47776e5b220b165b21c) +++ sources/canbus/messagehandler.cpp (.../messagehandler.cpp) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -24,6 +24,7 @@ // Project #include "maintimer.h" #include "applicationcontroller.h" +#include "guiglobals.h" // namespace using namespace Can; @@ -53,8 +54,8 @@ void MessageHandler::initConnections() { // From GUI - connect(_ApplicationController, SIGNAL(didActionTransmit(GuiActionType, const QByteArray &)), - this , SLOT( onActionTransmit(GuiActionType, const QByteArray &))); + connect(_ApplicationController, SIGNAL(didActionTransmit(GuiActionType, const QVariantList &)), + this , SLOT( onActionTransmit(GuiActionType, const QVariantList &))); // From HD/DG connect(_CanInterface , SIGNAL( didRead(QCanBusFrame)), @@ -99,21 +100,26 @@ return false; } - -bool MessageHandler::interpretData(const Message &vMessage, GuiActionType &vActionId, GuiActionData &vData) +bool MessageHandler::interpretData(const Message &vMessage, GuiActionType &vActionId, QVariantList &vData) { quint8 tmp; + quint8 l = vMessage.data.length(); + quint8 i = 0; vActionId = vMessage.actionId; + vData.clear(); switch (vActionId) { // notice we are in receive mode - case GuiActionType::PowerOff: - tmp = vMessage.data[0]; - vData = static_cast(tmp); - //TODO: (MessageInterpreter) There should be an easy way to check if a correct data has been provided. + case GuiActionType::PowerOff: + i = GuiActions::PowerOff_Show; + if (l >= i + 1) { + tmp = vMessage.data[GuiActions::PowerOff_Show]; + vData += static_cast(tmp); + } + //TODO: (MessageInterpreter) There should be an easy way to check if a correct data has been provided. break; case GuiActionType::BloodFlow: break; - default: - vData = GuiActionData::Command; + default: + vData += GuiActionData::Command; break; } return true; @@ -124,10 +130,14 @@ * \details Processes the requested action * \param vAction - User requested Action */ -void MessageHandler::onActionTransmit(GuiActionType vAction, const QByteArray &vData) +void MessageHandler::onActionTransmit(GuiActionType vAction, const QVariantList &vData) { qDebug() << vData; - transmitFrame(eChlid_UI, vAction, vData); + QByteArray mData; + for (auto data: vData) { + mData += fromVariant(data); + } + transmitFrame(eChlid_UI, vAction, mData); } /*! @@ -147,7 +157,7 @@ // FIXME: Needs MessageInterpreter class for data in each action [Sprint 8] GuiActionType mActionId; - GuiActionData mData; + QVariantList mData; if (! interpretData(mMessage, mActionId, mData)) { return; } Index: sources/canbus/messagehandler.h =================================================================== diff -u -rb2ebb6f71cf9b0c2ba68a47776e5b220b165b21c -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/canbus/messagehandler.h (.../messagehandler.h) (revision b2ebb6f71cf9b0c2ba68a47776e5b220b165b21c) +++ sources/canbus/messagehandler.h (.../messagehandler.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -24,7 +24,7 @@ // Project #include "main.h" -#include "guiactions.h" +#include "guiglobals.h" #include "messagebuilder.h" // Define @@ -37,9 +37,6 @@ using namespace Gui; namespace Can { -#define CAN_FRAME_LENGTH 8 -#define MAX_PAYLOAD_IN_HEADER_FRAME 3 - class MessageHandler : public QObject { Q_OBJECT @@ -62,18 +59,17 @@ bool ignoreChannel(const QCanBusFrame &vFrame); - // interpret the data into GUI understandable Actions/Data - bool interpretData(const Message &vMessage, GuiActionType &vActionId, GuiActionData &vData); + bool interpretData(const Message &vMessage, GuiActionType &vActionId, QVariantList &vData); private slots: // Should be private for thread safety and is connected internally. - void onActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void onActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG void onFrameReceive (const QCanBusFrame &vFrame ); // UI <= HD/DG void onMainTimerTimeout(); signals: - void didActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG + void didActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG void didFrameTransmit (const QCanBusFrame &vFrame ); // UI => HD/DG }; } Index: sources/canbus/messageinterface.cpp =================================================================== diff -u --- sources/canbus/messageinterface.cpp (revision 0) +++ sources/canbus/messageinterface.cpp (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -0,0 +1,21 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, + * IN PART OR IN WHOLE, + * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * file messageinterface.cpp + * date 12/9/2019 + * author Behrouz NematiPour + * + */ +#include "messageinterface.h" + +using namespace Can; + +MessageInterface::MessageInterface(QObject *parent) : QObject(parent) +{ + +} Index: sources/canbus/messageinterface.h =================================================================== diff -u --- sources/canbus/messageinterface.h (revision 0) +++ sources/canbus/messageinterface.h (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -0,0 +1,37 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, + * IN PART OR IN WHOLE, + * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * file messageinterface.h + * date 12/9/2019 + * author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project + +namespace Can { + +class MessageInterface : public QObject +{ + Q_OBJECT +public: + explicit MessageInterface(QObject *parent = nullptr); + +signals: + void powerOffDialog(bool vShow); + +public slots: + void checkIn() {} + +}; + +} Fisheye: Tag 272bb81655222b2bf0c3c7099523c0b658eb9cb8 refers to a dead (removed) revision in file `sources/gui/guiactions.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 272bb81655222b2bf0c3c7099523c0b658eb9cb8 refers to a dead (removed) revision in file `sources/gui/guiactions.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/guicontroller.cpp =================================================================== diff -u -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/guicontroller.cpp (.../guicontroller.cpp) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) +++ sources/gui/guicontroller.cpp (.../guicontroller.cpp) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -37,8 +37,8 @@ void GuiController::initConnections() { // From HD/DG - connect(_ApplicationController, SIGNAL(didActionReceive (GuiActionType, GuiActionData)), - this , SLOT( onActionReceive (GuiActionType, GuiActionData))); + connect(_ApplicationController, SIGNAL(didActionReceive (GuiActionType, const QVariantList &)), + this , SLOT( onActionReceive (GuiActionType, const QVariantList &))); } /*! @@ -58,14 +58,14 @@ * Sometimes GuiController requires to investigate with the ApplicationController to get approval from HD device.\n * \param vAction - User requested Action */ -void GuiController::doActionTransmit(GuiActionType vAction, const QByteArray &vData) +void GuiController::doActionTransmit(GuiActionType vAction, const QVariantList &vData) { if (! handleTransmit(vAction, vData)) { emit didActionTransmit(vAction, vData); } } -bool GuiController::handleTransmit(GuiActionType, const QByteArray &) +bool GuiController::handleTransmit(GuiActionType, const QVariantList &) { // This is an example implementation of how to handle // which does not require HD approval in GuiController @@ -97,7 +97,7 @@ * Gui requires to be notified to perform the action. * \param vAction */ -void GuiController::onActionReceive (GuiActionType vAction, GuiActionData vData) +void GuiController::onActionReceive (GuiActionType vAction, const QVariantList &vData) { // Process the command and notify GuiView // Process ... Index: sources/gui/guicontroller.h =================================================================== diff -u -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/guicontroller.h (.../guicontroller.h) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) +++ sources/gui/guicontroller.h (.../guicontroller.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -18,7 +18,7 @@ // Project #include "main.h" -#include "guiactions.h" +#include "guiglobals.h" // define #define _GuiController GuiController::I() @@ -37,17 +37,17 @@ private: void initConnections(); - bool handleTransmit(GuiActionType vAction, const QByteArray &vData); + bool handleTransmit(GuiActionType vAction, const QVariantList &vData); public slots: - void doActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void doActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG private slots: // Should be private for thread safety and is connected internally. - void onActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG + void onActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG signals: - void didActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG - void didActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void didActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG + void didActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG }; } Index: sources/gui/guiglobals.cpp =================================================================== diff -u -rd6c7d6c382fe56e19d132f6ba0bcbbc1e6b2060f -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/guiglobals.cpp (.../guiglobals.cpp) (revision d6c7d6c382fe56e19d132f6ba0bcbbc1e6b2060f) +++ sources/gui/guiglobals.cpp (.../guiglobals.cpp) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -17,12 +17,23 @@ #include // Project -#include "guiactions.h" #include "guiview.h" namespace Gui { QQuickView *_viewer = nullptr; + + QByteArray fromVariant(const QVariant &vData) + { + QByteArray mData; + if(vData.type() == QVariant::String) { + mData += vData.toByteArray(); + } else { + mData += vData.toUInt(); + } + return mData; + } + /*! * \brief registerTypes * \details registering meta types @@ -31,6 +42,7 @@ { qRegisterMetaType ("GuiActionType"); qRegisterMetaType ("GuiActionData"); + qRegisterMetaType ("GuiActionIndx"); } /*! @@ -40,7 +52,7 @@ void registerQmlTypes() { qmlRegisterType ("Gui.View", 0, 1, "GuiView"); - qmlRegisterUncreatableType ("Gui.Actions", 0, 1, "GuiActions",QStringLiteral("Used only for enumerations no need to have an object")); + qmlRegisterUncreatableType ("Gui.Actions", 0, 1, "GuiActions", QStringLiteral("Used only for enumerations no need to have an object")); } /*! Index: sources/gui/guiglobals.h =================================================================== diff -u -rf623529d6ec25b555f3ac2248d71fc2b5e7063d6 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/guiglobals.h (.../guiglobals.h) (revision f623529d6ec25b555f3ac2248d71fc2b5e7063d6) +++ sources/gui/guiglobals.h (.../guiglobals.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -22,7 +22,51 @@ namespace Gui { extern QQuickView *_viewer; + class GuiActions + { + Q_GADGET + explicit GuiActions(); + public: + enum GuiActionsType_Enum /*: quint16 QML doesn't support*/ { + Unknown = 0x0000, + PowerOff = 0x0100, + Check_In = 0x0700, + BloodFlow = 0x0500, + }; + + enum GuiActionsIndx_Enum { + PowerOff_Show = 0, + }; + + enum GuiActionsData_Enum /*: quint8 QML doesn't support*/ { + NoData = 0x00, + + Command = 0x00, // HD=>UI : should be handled in receive + Request = 0x00, // UI=>HD : should be handled in transmit + + // Power-Off Data // UI=>HD : should be handled in transmit + Accepted = 0x01, + Rejected = 0x02, + + // Power-Off Data // HD=>UI : should be handled in receive + Timeout = 0x01, + }; + + Q_ENUM(GuiActionsType_Enum) + Q_ENUM(GuiActionsData_Enum) + Q_ENUM(GuiActionsIndx_Enum) + + }; + + // to be able to use the enum as signal/slot parameter + typedef GuiActions::GuiActionsType_Enum GuiActionType; + typedef GuiActions::GuiActionsData_Enum GuiActionData; + typedef GuiActions::GuiActionsIndx_Enum GuiActionIndx; + + QByteArray fromVariant(const QVariant &vData); + void registerTypes(); void registerQmlTypes(); + void startGui(); } Index: sources/gui/guiview.cpp =================================================================== diff -u -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/guiview.cpp (.../guiview.cpp) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) +++ sources/gui/guiview.cpp (.../guiview.cpp) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -15,6 +15,7 @@ // Project #include "guicontroller.h" +#include "guiglobals.h" // namespace using namespace Gui; @@ -31,46 +32,32 @@ void GuiView::initConnections() { - connect(_GuiController, SIGNAL(didActionReceive (GuiActionType, GuiActionData)), - this , SLOT( onActionReceive (GuiActionType, GuiActionData))); + connect(_GuiController, SIGNAL(didActionReceive (GuiActionType, const QVariantList &)), + this , SLOT( onActionReceive (GuiActionType, const QVariantList &))); // since we don't have access to GuiView object because it is created in Qml. // Connection to the GuiController made here // It should be defined in the class which wants to connect to signal. - connect(this , SIGNAL(didActionTransmit(GuiActionType,const QByteArray &)), - _GuiController, SLOT( doActionTransmit(GuiActionType,const QByteArray &))); + connect(this , SIGNAL(didActionTransmit(GuiActionType,const QVariantList &)), + _GuiController, SLOT( doActionTransmit(GuiActionType,const QVariantList &))); } -QByteArray GuiView::fromVariant(const QVariant &vData) +void GuiView::onActionReceive (GuiActionType vAction, const QVariantList &vData) { - QByteArray mData; - if(vData.type() == QVariant::String) { - mData += vData.toByteArray(); - } else { - mData += vData.toUInt(); - } - return mData; -} - -void GuiView::onActionReceive (GuiActionType vAction, GuiActionData vData) -{ // process the evaluation and notify GUI // process ... emit didActionReceive (vAction, vData); } void GuiView::doActionTransmit(GuiActionType vAction, const QVariantList &vData) { - QByteArray mData; - for (auto data: vData) { - mData += fromVariant(data); - } - emit didActionTransmit(vAction, mData); + emit didActionTransmit(vAction, vData); } void GuiView::doActionTransmit(GuiActionType vAction, const QVariant &vData) { - QByteArray mData = fromVariant(vData); + QVariantList mData; + mData += vData; emit didActionTransmit(vAction, mData); } Index: sources/gui/guiview.h =================================================================== diff -u -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/guiview.h (.../guiview.h) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) +++ sources/gui/guiview.h (.../guiview.h) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -17,7 +17,7 @@ #include // Project -#include "guiactions.h" +#include "guiglobals.h" // define // ... @@ -34,18 +34,17 @@ private: void initConnections(); - QByteArray fromVariant(const QVariant &vData); private slots: - void onActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG + void onActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG public slots: // is public since will be used in the UI and is in the same thread. void doActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG void doActionTransmit(GuiActionType vAction, const QVariant &vData); // UI => HD/DG signals: - void didActionReceive (GuiActionType vAction, GuiActionData vData); // UI <= HD/DG - void didActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void didActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG + void didActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG }; } Index: sources/gui/qml/main.qml =================================================================== diff -u -rf36dd9c29f633b54bf7f0232093ecaefa5452ca8 -r272bb81655222b2bf0c3c7099523c0b658eb9cb8 --- sources/gui/qml/main.qml (.../main.qml) (revision f36dd9c29f633b54bf7f0232093ecaefa5452ca8) +++ sources/gui/qml/main.qml (.../main.qml) (revision 272bb81655222b2bf0c3c7099523c0b658eb9cb8) @@ -39,9 +39,9 @@ onDidActionReceive: { switch(vAction) { case GuiActions.PowerOff: - if (vData === GuiActions.Command) + if (vData[GuiActions.PowerOff_Show] === GuiActions.Command) _powerOffDialog.open() - if (vData === GuiActions.Timeout) + if (vData[GuiActions.PowerOff_Show] === GuiActions.Timeout) _powerOffDialog.close() break; }