/*! * * 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 VDisinfectStatesData.cpp * \author (last) Behrouz NematiPour * \date (last) 21-Apr-2021 * \author (original) Behrouz NematiPour * \date (original) 21-Apr-2021 * */ #include "VDisinfectStatesData.h" // Project #include "GuiController.h" VIEW_DEF(VDisinfectStates, DisinfectStatesData) /*! * \brief VHDTreatmentStates::onActionReceive * \details sets the properties for the received data of Treatment States * \param vData - Treatment States data */ void VDisinfectStates::onActionReceive(const DisinfectStatesData &vData) { subMode ( vData.mSubMode ); flushState ( vData.mFlushStates ); heatState ( vData.mHeatStates ); chemicalState ( vData.mChemicalStates ); // Flush Mode bool mFlush = vData.mSubMode == GuiDisinfectDGStates ::DG_DISINFECT_STATE_FLUSH ; if ( mFlush ) { flushNotRunning ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_NOT_RUNNING ); flushDrainBeforeFlush ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_DRAIN_DEVICE ); flushFlushReservoirs ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_FLUSH_RESERVOIRS ); flushDrainReservoirs ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_DRAIN_RESERVOIRS ); flushRecirculatePath ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_FLUSH_RECIRCULATION_PATH ); flushCancel ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_CANCEL_FLUSH ); flushComplete ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_COMPLETE ); } flush( mFlush ); // Heat Mode bool mHeat = vData.mSubMode == GuiDisinfectDGStates ::DG_DISINFECT_STATE_HEAT ; if ( mHeat ) { heatNotRunning ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_NOT_RUNNING ); heatFlushBeforeDisinfect ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT ); heatWaterHeatUp ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_HEAT_UP_WATER ); heatDisinfect ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_DISINFECT_DEVICE ); heatDeviceCoolDown ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_COOL_DOWN_DEVICE ); heatFlushAfterDisinfect ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT ); heatCancel ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_CANCEL_DISINFECT ); heatComplete ( vData.mHeatStates == GuiDisinfectDGHeatStates ::HEAT_DISINFECT_UI_STATE_COMPLETE ); } heat( mHeat ); // Chemical Mode bool mChemical = vData.mSubMode == GuiDisinfectDGStates ::DG_DISINFECT_STATE_CHEM ; if ( mChemical ) { chemicalNotRunning ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_NOT_RUNNING ); chemicalFlushBeforeDisinfect ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT ); chemicalMixWaterAndAcid ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_MIX_WATER_AND_ACID ); chemicalRemoveAcid ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_REMOVE_ACID ); chemicalDisinfect ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_DISINFECT_DEVICE ); chemicalFlushAfterDisinfect ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT ); chemicalCancel ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_CANCEL_DISINFECT ); chemicalComplete ( vData.mChemicalStates == GuiDisinfectDGChemicalStates ::CHEM_DISINFECT_UI_STATE_COMPLETE ); } chemical( mChemical ); // *** Only for test *** // Be careful it is always triggered on each message. state(true); }