/*! * * 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 messageinterpreter.h * date 12/11/2019 * author Behrouz NematiPour * */ #pragma once // Qt #include // Project #include "guiglobals.h" #include "messageglobals.h" #include "types.h" using namespace Gui; namespace Can { class MessageInterpreter : public QObject { Q_OBJECT QByteArray fromVariant(const QVariant &vData); bool interpretMessage_HD(const Message &vMessage, GuiActionType &vActionId, QVariantList &vData); bool interpretMessage_DG(const Message &vMessage, GuiActionType &vActionId, QVariantList &vData); bool getBloodFlowData (const Message &vMessage, types::I32 &vI32 , types::F32 &vF32_1, types::F32 &vF32_2, types::F32 &vF32_3, types::F32 &vF32_4, types::F32 &vF32_5 ); bool getPowerOffData (const Message &vMessage, quint8 &vShowHide); void printUnhandled (const Message &vMessage); public: explicit MessageInterpreter(QObject *parent = nullptr); // interpret the data into GUI understandable Actions/Data bool interpretMessage(const Can_Id vCan_Id, const Message &vMessage, GuiActionType &vActionId, QVariantList &vData); bool interpretMessage(const GuiActionType &vActionId, const QVariantList &vData, QByteArray &vPayload); signals: public slots: }; }