/*! * * 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 MModel.h * \author (last) Behrouz NematiPour * \date (last) 16-Oct-2020 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * */ #pragma once #include "main.h" // models #include "MPowerOff.h" #include "MAlarmStatusData.h" #include "MAlarmTriggered.h" #include "MAlarmCleared.h" #include "MAlarmClearedCondition.h" #include "MTreatmentTimeData.h" #include "MTreatmentFlowsData.h" #include "MTreatmentOutletFlowData.h" #include "MTreatmentPressureOcclusionData.h" #include "MTreatmentRangesData.h" #include "MTreatmentStatesData.h" #include "MTreatmentSalineData.h" #include "MTreatmentHeparinData.h" #include "MTreatmentRinsebackData.h" #include "MTreatmentRecirculateData.h" #include "MTreatmentBloodPrimeData.h" #include "MDGDrainPumpData.h" #include "MDGHeatersData.h" #include "MDGLoadCellReadingsData.h" #include "MDGOperationModeData.h" #include "MDGPressuresData.h" #include "MDGReservoirData.h" #include "MDGROPumpData.h" #include "MDGTemperaturesData.h" #include "MDGValvesStatesData.h" #include "MTreatmentParametersResp.h" #include "MHDDebugText.h" #include "MDGDebugText.h" #include "MHDOperationModeData.h" #include "MTreatmentAdjustRequests.h" #include "MTreatmentAdjustDurationResponse.h" #include "MTreatmentAdjustBloodDialysateResponse.h" #include "MTreatmentAdjustUltrafiltrationInitResponse.h" #include "MTreatmentAdjustUltrafiltrationStateResponse.h" #include "MTreatmentAdjustUltrafiltrationEditResponse.h" #include "MTreatmentAdjustUltrafiltrationConfirmResponse.h" #include "MTreatmentAdjustSalineResponse.h" #include "MTreatmentAdjustHeparinResponse.h" #include "MTreatmentAdjustRinsebackResponse.h" #include "MTreatmentAdjustRecirculateResponse.h" #include "MTreatmentAdjustPressuresLimitsResponse.h" #include "MPrimingData.h" #include "MStartTreatmentResponse.h" #include "MEndTreatmentResponse.h" /*! * \page MessageFlow Message interpretation Flow * \dot * digraph callgraph { * node [shape=ellipse, fontname=Arial, fontsize=11]; * user [shape=box ]; * QML [URL="\ref application/sources/gui" ]; * GuiView [URL="\ref Gui::GuiView" ]; * View [URL="\ref application/sources/view" ]; * GuiController [URL="\ref Gui::GuiController" ]; * ApplicationController [URL="\ref ApplicationController" ]; * FrameInterface [URL="\ref Can::FrameInterface" ]; * CanInterface [URL="\ref Can::CanInterface" ]; * CANBus [shape=box ]; * subgraph MessageDispatcher { * node [shape=ellipse, fontname=Arial, fontsize=11, URL="\ref Can::MessageDispatcher"]; * label = "Message_Dispatcher"; * MessageAcknow [URL="\ref Can::MessageAcknowModel" ]; * MessageInterpreter [URL="\ref Can::MessageInterpreter" ]; * MessageBuilder [URL="\ref Can::MessageBuilder" ]; * MessageDispatcher -> MessageInterpreter [dir="both" ]; * MessageDispatcher -> MessageAcknow [dir="both" ]; * MessageInterpreter -> MessageBuilder [dir="both" ]; * } * user -> QML [dir="both" ]; * QML -> { GuiView } [dir="both" ]; * { GuiView, } -> GuiController [dir="both" ]; * GuiController -> ApplicationController [dir="both" ]; * ApplicationController -> MessageDispatcher [dir="both" ]; * MessageDispatcher -> FrameInterface [dir="both" ]; * FrameInterface -> CanInterface [dir="both" ]; * CanInterface -> CANBus [dir="both" ]; * } * \enddot * * \note * 00 - sort .pro file after all new files added. * * \details * This comment explains how to add a Denali Message in Denali UI Application * * Model : * * 01 - Look at the message structure in the "message list.xlsx" and in GuiGlobals.h define enum ID_ * Add an enum for the message in the guiglobals.h : GuiActionsType_Enum * and assign a correct message value to it. * Note that it needs to be in little endian so if you have a message Id of 37 your enum should have a value of 0x2500 in hex. * \code{.cpp} * ID_HDOperationModeData = 0x2500, // 37 // little endian * \endcode * * 02 - MessageGlobals.h : add len * \code{.cpp} * {Gui::GuiActionType::ID_HDOperationModeData , 1 * 4 }, // 1 parameter each 4bytes * \endcode * * 03 - Implement the model by copy/paste of the closest model, fit to your need. * \sa MHDOperationMode * \sa MHDOperationModeData.h * \sa MHDOperationModeData.cpp * * 04 - Added #include in MModel.h for the implemented model * \code{.cpp} * #include "MHDOperationModeData.h" * \endcode * * 05 - Register the model in MModel.h by adding it to the macro lists : * - \ref REGISTER_MODEL_METATYPES * - \ref ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS * - \ref ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS * - \ref ACTION_RECEIVE_SIGNALS * * 06 - In the MessageInterpreter add a line of handler in interpretMessage_ method * and put the enum and model. * \sa MessageInterpreter::interpretMessage_HD * \sa MessageInterpreter::interpretMessage_DG * \sa MessageInterpreter.cpp * * View : * 07 - Implement the view by copy/paste of the closest view, fit to your need. * \sa VHDOperationMode * \sa VHDOperationModeData.h * \sa VHDOperationModeData.cpp * * 08 - Register the view in VView.h in macro list * \sa REGISTER_VIEW_TYPES * \sa VView.h * * 09 - Include the view header in the GuiGlobals.cpp * \code{.cpp} * #include "VHDOperationModeData.h" * \endcode * \sa GuiGlobals.cpp * * QML : * 10 - Import the registered view * \code{.js} * import VHDOperationMode 0.1; * \endcode * \sa main.qml * * 11 - Create an object * \code{.js} * VHDOperationMode { id: vHDOperationMode } * \endcode * \sa main.qml * * 12 - Use it. */ //--------------------------------------------------------------------------------// //-------- Please add the model type to the lists below to register them ---------// //--------------------------------------------------------------------------------// /*! \def REGISTER_MODEL_METATYPES \details Registers the models in the Qt MetaType so it can be used in signal/slots between threads. */ #define REGISTER_MODEL_METATYPES \ \ REGISTER_METATYPE( BloodFlowData ) \ REGISTER_METATYPE( DialysateFlowData ) \ REGISTER_METATYPE( OutletFlowData ) \ REGISTER_METATYPE( TreatmentTimeData ) \ REGISTER_METATYPE( PressureOcclusionData ) \ REGISTER_METATYPE( PowerOffData ) \ REGISTER_METATYPE( TreatmentRangesData ) \ REGISTER_METATYPE( TreatmentStatesData ) \ REGISTER_METATYPE( TreatmentSalineData ) \ REGISTER_METATYPE( TreatmentHeparinData ) \ REGISTER_METATYPE( TreatmentRinsebackData ) \ REGISTER_METATYPE( TreatmentRecirculateData ) \ REGISTER_METATYPE( TreatmentBloodPrimeData ) \ REGISTER_METATYPE( HDOperationModeData ) \ \ REGISTER_METATYPE( AlarmStatusData ) \ REGISTER_METATYPE( AlarmTriggeredData ) \ REGISTER_METATYPE( AlarmClearedData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. REGISTER_METATYPE( AlarmClearedConditionData ) \ coco end */ \ REGISTER_METATYPE( DGROPumpData ) \ REGISTER_METATYPE( DGPressuresData ) \ REGISTER_METATYPE( DGDrainPumpData ) \ REGISTER_METATYPE( DGOperationModeData ) \ REGISTER_METATYPE( DGReservoirData ) \ REGISTER_METATYPE( DGValvesStatesData ) \ REGISTER_METATYPE( DGHeatersData ) \ REGISTER_METATYPE( DGLoadCellReadingsData ) \ REGISTER_METATYPE( DGTemperaturesData ) \ \ REGISTER_METATYPE( HDDebugTextData ) \ REGISTER_METATYPE( DGDebugTextData ) \ REGISTER_METATYPE( PrimingData ) \ \ /* Request */ \ REGISTER_METATYPE( StartTreatmentRequestData ) \ REGISTER_METATYPE( ConfirmTreatmentRequestData ) \ REGISTER_METATYPE( EndTreatmentRequestData ) \ \ REGISTER_METATYPE( AlarmSilenceRequestData ) \ REGISTER_METATYPE( AlarmUserActionRequestData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. REGISTER_METATYPE( AlarmClearedConditionRequestData ) \ coco end*/ \ REGISTER_METATYPE( AdjustBloodDialysateRequestData ) \ REGISTER_METATYPE( AdjustDurationRequestData ) \ REGISTER_METATYPE( AdjustUltrafiltrationInitRequestData ) \ REGISTER_METATYPE( AdjustUltrafiltrationStateRequestData ) \ REGISTER_METATYPE( AdjustUltrafiltrationEditRequestData ) \ REGISTER_METATYPE( AdjustUltrafiltrationConfirmRequestData ) \ REGISTER_METATYPE( AdjustSalineRequestData ) \ REGISTER_METATYPE( AdjustHeparinRequestData ) \ REGISTER_METATYPE( AdjustRinsebackRequestData ) \ REGISTER_METATYPE( AdjustRecirculateRequestData ) \ REGISTER_METATYPE( AdjustPressuresLimitsRequestData ) \ REGISTER_METATYPE( AdjustTreatmentParametersRequestData ) \ /* Response */ \ REGISTER_METATYPE( StartTreatmentResponseData ) \ REGISTER_METATYPE( EndTreatmentResponseData ) \ \ REGISTER_METATYPE( AdjustBloodDialysateResponseData ) \ REGISTER_METATYPE( AdjustDurationResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationInitResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationStateResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationEditResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationConfirmResponseData ) \ REGISTER_METATYPE( AdjustSalineResponseData ) \ REGISTER_METATYPE( AdjustHeparinResponseData ) \ REGISTER_METATYPE( AdjustRinsebackResponseData ) \ REGISTER_METATYPE( AdjustRecirculateResponseData ) \ REGISTER_METATYPE( AdjustPressuresLimitsResponseData ) \ REGISTER_METATYPE( AdjustTreatmentParametersResponseData ) \ //===============================================================================// /*! \def ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS \details This macro connects the source object vSource to the models defined in the list for received messages. It connects source didActionReceive() signal to the this pointer of the class object onActionReceive(). The code below is implemented for each model : \code {.cpp} connect(&vSOURCE, SIGNAL(didActionReceive(const vTYPE &)), this , SLOT( onActionReceive(const vTYPE &))); \endcode This macro should be used in the cpp file of the class. This macro should be used with its counterpart macro \ref ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS */ #define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, BloodFlowData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DialysateFlowData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, OutletFlowData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentTimeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PressureOcclusionData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PowerOffData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRangesData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentStatesData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentSalineData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentHeparinData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRinsebackData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRecirculateData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentBloodPrimeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDOperationModeData ) \ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmStatusData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmTriggeredData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedConditionData ) \ coco end */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGROPumpData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPressuresData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDrainPumpData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGOperationModeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGReservoirData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGValvesStatesData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGHeatersData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGLoadCellReadingsData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGTemperaturesData ) \ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDDebugTextData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDebugTextData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PrimingData ) \ /* Response */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDurationResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationInitResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, StartTreatmentResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, EndTreatmentResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSalineResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustRinsebackResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustRecirculateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersResponseData ) \ // /* Request */ ---------------------------------------------------------// #define ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDurationRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationInitRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustRecirculateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersRequestData ) \ \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmSilenceRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmUserActionRequestData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmClearedConditionRequestData ) \ coco end */ \ //===============================================================================// /*! \def ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS \details This macro defines the signal/slot of the source object vSource to the models listed in its definition for received messages. The code below will be implemented for each model : \code {.cpp} private slots: void onActionReceive (const vTYPE &vData) { emit didActionReceive(vData); } signals: void didActionReceive (const vTYPE &vData); \endcode This macro should be used in the header file of the class. This macro should be used with its counterpart macro \ref ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS */ #define ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( BloodFlowData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DialysateFlowData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( OutletFlowData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentTimeData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( PressureOcclusionData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( PowerOffData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRangesData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentStatesData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentSalineData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentHeparinData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRinsebackData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRecirculateData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentBloodPrimeData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDOperationModeData ) \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmStatusData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmTriggeredData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedConditionData ) \ coco end */ \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGROPumpData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGPressuresData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGDrainPumpData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGOperationModeData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGReservoirData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGValvesStatesData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGHeatersData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGLoadCellReadingsData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGTemperaturesData ) \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDDebugTextData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGDebugTextData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( PrimingData ) \ /* Response */ \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDurationResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationInitResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( StartTreatmentResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( EndTreatmentResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSalineResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustHeparinResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustRinsebackResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustRecirculateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustPressuresLimitsResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustTreatmentParametersResponseData ) \ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS \ /* Request --------------------------------------------------------- */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustBloodDialysateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDurationRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationInitRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustRecirculateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustTreatmentParametersRequestData ) \ \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmSilenceRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmUserActionRequestData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmClearedConditionRequestData ) \ coco end */ \ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT \ /* Request ----------------------- NoEmit -------------------------- */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustBloodDialysateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDurationRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationInitRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustRecirculateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustTreatmentParametersRequestData ) \ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmSilenceRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmUserActionRequestData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmClearedConditionRequestData ) \ coco end */ \ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_PUBLIC \ /* Request ----------------------- public -------------------------- */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustBloodDialysateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDurationRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationInitRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustRecirculateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentParametersRequestData ) \ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmSilenceRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmUserActionRequestData ) \ /* coco begin validated: Manually tested. This model class is a placeholder and there is no use case for this now. ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmClearedConditionRequestData ) \ coco end */ \ //===============================================================================// #define ACTION_RECEIVE_SIGNALS \ /* Received signals */ \ /* NO RESPONSE message model here */ \ ACTION_RECEIVE_SIGNAL( BloodFlowData ) \ ACTION_RECEIVE_SIGNAL( DialysateFlowData ) \ ACTION_RECEIVE_SIGNAL( OutletFlowData ) \ ACTION_RECEIVE_SIGNAL( TreatmentTimeData ) \ ACTION_RECEIVE_SIGNAL( PressureOcclusionData ) \ ACTION_RECEIVE_SIGNAL( PowerOffData ) \ ACTION_RECEIVE_SIGNAL( TreatmentRangesData ) \ ACTION_RECEIVE_SIGNAL( TreatmentStatesData ) \ ACTION_RECEIVE_SIGNAL( TreatmentSalineData ) \ ACTION_RECEIVE_SIGNAL( TreatmentHeparinData ) \ ACTION_RECEIVE_SIGNAL( TreatmentRinsebackData ) \ ACTION_RECEIVE_SIGNAL( TreatmentRecirculateData ) \ ACTION_RECEIVE_SIGNAL( TreatmentBloodPrimeData ) \ ACTION_RECEIVE_SIGNAL( HDOperationModeData ) \ \ ACTION_RECEIVE_SIGNAL( AlarmStatusData ) \ ACTION_RECEIVE_SIGNAL( AlarmTriggeredData ) \ ACTION_RECEIVE_SIGNAL( AlarmClearedData ) \ ACTION_RECEIVE_SIGNAL( AlarmClearedConditionData ) \ ACTION_RECEIVE_SIGNAL( DGROPumpData ) \ ACTION_RECEIVE_SIGNAL( DGPressuresData ) \ ACTION_RECEIVE_SIGNAL( DGDrainPumpData ) \ ACTION_RECEIVE_SIGNAL( DGOperationModeData ) \ ACTION_RECEIVE_SIGNAL( DGReservoirData ) \ ACTION_RECEIVE_SIGNAL( DGValvesStatesData ) \ ACTION_RECEIVE_SIGNAL( DGHeatersData ) \ ACTION_RECEIVE_SIGNAL( DGLoadCellReadingsData ) \ ACTION_RECEIVE_SIGNAL( DGTemperaturesData ) \ \ ACTION_RECEIVE_SIGNAL( HDDebugTextData ) \ ACTION_RECEIVE_SIGNAL( DGDebugTextData ) \ ACTION_RECEIVE_SIGNAL( PrimingData ) \ /* Response */ \ ACTION_RECEIVE_SIGNAL( StartTreatmentResponseData ) \ ACTION_RECEIVE_SIGNAL( EndTreatmentResponseData ) \ \ ACTION_RECEIVE_SIGNAL( AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDurationResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationInitResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationConfirmResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustTreatmentParametersResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustSalineResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustHeparinResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustRinsebackResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustRecirculateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustPressuresLimitsResponseData ) \ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------//