Index: sources/model/MModel.h =================================================================== diff -u -r5387db3e9735f3bbf768906858dbcd725cf23528 -r4d322070769e54c059b020f18215dca88c90acd7 --- sources/model/MModel.h (.../MModel.h) (revision 5387db3e9735f3bbf768906858dbcd725cf23528) +++ sources/model/MModel.h (.../MModel.h) (revision 4d322070769e54c059b020f18215dca88c90acd7) @@ -7,7 +7,7 @@ * * \file MModel.h * \author (last) Behrouz NematiPour - * \date (last) 20-Aug-2020 + * \date (last) 16-Oct-2020 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * @@ -21,6 +21,7 @@ #include "MAlarmStatusData.h" #include "MAlarmTriggered.h" #include "MAlarmCleared.h" +#include "MAlarmClearedCondition.h" #include "MTreatmentTimeData.h" #include "MTreatmentFlowsData.h" @@ -29,6 +30,7 @@ #include "MTreatmentRangesData.h" #include "MTreatmentStatesData.h" #include "MTreatmentSalineData.h" +#include "MTreatmentHeparinData.h" #include "MDGDrainPumpData.h" #include "MDGHeatersData.h" @@ -40,7 +42,6 @@ #include "MDGTemperaturesData.h" #include "MDGValvesStatesData.h" -#include "MTreatmentParameters.h" #include "MTreatmentParametersResp.h" #include "MHDDebugText.h" @@ -54,88 +55,150 @@ #include "MTreatmentAdjustUltrafiltrationEditResponse.h" #include "MTreatmentAdjustUltrafiltrationConfirmResponse.h" #include "MTreatmentAdjustSalineResponse.h" +#include "MTreatmentAdjustHeparinResponse.h" +#include "MTreatmentAdjustPressuresLimitsResponse.h" +#include "MPrimingData.h" +#include "MStartTreatmentResponse.h" +#include "MEndTreatmentResponse.h" /*! - * \brief Message interpretation instruction - * \details This comment explains how to add a Denali Message in Denali UI Application + * \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 * - * 1 - Look at the message structure in the "message list.xlsx" + * \note + * 00 - sort .pro file after all new files added. * - * 2 - MSG ID : - * Add an enum for the message in the guiglobals.h : GuiActionsType_Enum - * and assign a correct message value to it. - * example : MSG ID = 9 => - * \code{.cpp} - * PressureOcclusion = 0x0900, //(little endian) - * \endcode + * \details + * This comment explains how to add a Denali Message in Denali UI Application * - * 3 - MSG Payload Len : - * Add a line in the "messageglobals.h" in payloadLen hash table - * to define the required payload length of the message + * Model : * - * 4 - Model Implementation : - * Implement a model like MPressureOcclusion by copy/paste the closest model .h/.cpp file - * and adding it to project and modify to fit the new 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 * - * 5 - Register Model : - * Add the required lines like the other models in the mmodel.h file. + * 02 - MessageGlobals.h : add len + * \code{.cpp} + * {Gui::GuiActionType::ID_HDOperationModeData , 1 * 4 }, // 1 parameter each 4bytes + * \endcode * - * 6 - Populate/Interpret Model Data : - * Copy/Paste one of the other implementations of the Messages setter/getter. - * example : be careful about the type. - * in the header should be like: - * \code{.cpp} - * bool pressureOcclusionData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; - * \endcode - * in the implementation should be like: - * \code{.cpp} - * bool MessageInterpreter::pressureOcclusionData(const Message &vMessage, QVariantList &vData) - * { - * // TODO : review other methods - * bool ok = false; - * if ( ! isType (vMessage, Gui::GuiActionType::PressureOcclusion) ) return ok; - * if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::PressureOcclusion) ) return ok; + * 03 - Implement the model by copy/paste of the closest model, fit to your need. + * \sa MHDOperationMode + * \sa MHDOperationModeData.h + * \sa MHDOperationModeData.cpp * - * Model::MPressureOcclusion mData; - * ok = mData.fromByteArray(vMessage.data); - * LOG_DATUM("HD," + mData.toString()); + * 04 - Added #include in MModel.h for the implemented model + * \code{.cpp} + * #include "MHDOperationModeData.h" + * \endcode * - * mData.toVariantList(vData); - * emit didActionReceive(mData.data()); + * 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 * - * return ok; - * } - * \endcode + * 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 * - * Add a case in MessageInterpreter::interpretMessage_HD for that message id Enum - * with lines like : - * \code{.cpp} - * case Gui::GuiActionType::PressureOcclusion: - * ok = pressureOcclusionData (vMessage, vData); - * break; - * \endcode + * 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( AlarmStatusData ) \ - REGISTER_METATYPE( AlarmStatusFlag ) \ REGISTER_METATYPE( PowerOffData ) \ REGISTER_METATYPE( TreatmentRangesData ) \ - REGISTER_METATYPE( AlarmTriggeredData ) \ - REGISTER_METATYPE( AlarmClearedData ) \ REGISTER_METATYPE( TreatmentStatesData ) \ REGISTER_METATYPE( TreatmentSalineData ) \ + REGISTER_METATYPE( TreatmentHeparinData ) \ 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 ) \ @@ -148,38 +211,75 @@ \ 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( AdjustUltrafiltrationStateRequestData ) \ REGISTER_METATYPE( AdjustUltrafiltrationEditRequestData ) \ REGISTER_METATYPE( AdjustUltrafiltrationConfirmRequestData ) \ REGISTER_METATYPE( AdjustSalineRequestData ) \ + REGISTER_METATYPE( AdjustHeparinRequestData ) \ + REGISTER_METATYPE( AdjustPressuresLimitsRequestData ) \ REGISTER_METATYPE( AdjustTreatmentParametersRequestData ) \ - /* Response */ \ + /* Response */ \ + REGISTER_METATYPE( StartTreatmentResponseData ) \ + REGISTER_METATYPE( EndTreatmentResponseData ) \ + \ REGISTER_METATYPE( AdjustBloodDialysateResponseData ) \ REGISTER_METATYPE( AdjustDurationResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationStateResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationEditResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationConfirmResponseData ) \ - REGISTER_METATYPE( AdjustSalineResponseData ) + REGISTER_METATYPE( AdjustSalineResponseData ) \ + REGISTER_METATYPE( AdjustHeparinResponseData ) \ + 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, AlarmStatusData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PowerOffData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRangesData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmTriggeredData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentStatesData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentSalineData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentHeparinData ) \ 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 ) \ @@ -192,37 +292,79 @@ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDDebugTextData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDebugTextData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PrimingData ) \ /* Response */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDurationResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSalineResponseData ) + 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, 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, AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSalineRequestData ) + 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, 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( AlarmStatusData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( PowerOffData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRangesData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmTriggeredData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentStatesData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentSalineData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentHeparinData ) \ 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 ) \ @@ -235,53 +377,103 @@ \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDDebugTextData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGDebugTextData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( PrimingData ) \ /* Response */ \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDurationResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmResponseData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSalineResponseData ) -// /* Request */ ---------------------------------------------------------// + ACTION_RECEIVE_BRIDGE_DEFINITION( StartTreatmentResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( EndTreatmentResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSalineResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustHeparinResponseData ) \ + 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( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSalineRequestData ) -// /* Request */ ----------------------- NoEmit --------------------------// + 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( 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( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSalineRequestData ) -// /* Request */ ----------------------- public --------------------------// + 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( 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( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustPressuresLimitsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustHeparinRequestData ) \ + 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( AlarmStatusData ) \ ACTION_RECEIVE_SIGNAL( PowerOffData ) \ ACTION_RECEIVE_SIGNAL( TreatmentRangesData ) \ - ACTION_RECEIVE_SIGNAL( AlarmTriggeredData ) \ - ACTION_RECEIVE_SIGNAL( AlarmClearedData ) \ ACTION_RECEIVE_SIGNAL( TreatmentStatesData ) \ ACTION_RECEIVE_SIGNAL( TreatmentSalineData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentHeparinData ) \ 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 ) \ @@ -294,13 +486,20 @@ \ ACTION_RECEIVE_SIGNAL( HDDebugTextData ) \ ACTION_RECEIVE_SIGNAL( DGDebugTextData ) \ - /* Response */ \ + ACTION_RECEIVE_SIGNAL( PrimingData ) \ + /* Response */ \ + ACTION_RECEIVE_SIGNAL( StartTreatmentResponseData ) \ + ACTION_RECEIVE_SIGNAL( EndTreatmentResponseData ) \ + \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDurationResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationConfirmResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustTreatmentParametersResponseData ) \ - ACTION_RECEIVE_SIGNAL( AdjustSalineResponseData ) + ACTION_RECEIVE_SIGNAL( AdjustSalineResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustHeparinResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustPressuresLimitsResponseData ) \ + //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------//