/*! * * Copyright (c) 2021-2024 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 VPreTreatmentDisposablesPrimeData.cpp * \author (last) Behrouz NematiPour * \date (last) 11-Apr-2021 * \author (original) Behrouz NematiPour * \date (original) 11-Apr-2021 * */ #include "VPreTreatmentDisposablesPrimeData.h" // Project #include "GuiController.h" //ENUM Checks //TODO: ---------- Improve me ---------- // This part of the code is a WIP example to fail the build if the enum is changed but UI doesn't aware. #define ENUM_PRINT( vTYPE ) {} // qDebug() << v##vTYPE #define ENUM_CHECK_O( vTYPE, vVALUE ) vTYPE v##vTYPE = static_cast(vVALUE); switch(v##vTYPE) #define ENUM_CHECK( vTYPE, vENUM ) case vTYPE::vENUM : { if ( vTYPE::vENUM == v##vTYPE) ENUM_PRINT(vTYPE); } break; #define ENUM_CHECK_C( vTYPE, vENUM ) case vTYPE::vENUM : break; #define ENUM_READ( vTYPE, vENUM, vSTATE ) vSTATE( vTYPE::vENUM == v##vTYPE); VIEW_DEF(VPreTreatmentDisposablesPrime, PreTreatmentDisposablesPrimeData) void VPreTreatmentDisposablesPrime::onActionReceive(const PreTreatmentDisposablesPrimeData &vData) { state (vData.mPrimeState ); total (vData.mTotalDuration ); countDown (vData.mCountDown ); pauseCountDown (vData.mPauseCountdown ); elapsed (vData.mTotalDuration - vData.mCountDown ); primeBloodCircuit ( vData.mPrimeState >= GuiPreTreatmentPrimeStates::PRIME_BC_INITIAL_REVERSE_STATE && vData.mPrimeState < GuiPreTreatmentPrimeStates::PRIME_WAIT_FOR_DIALYSATE_READY_STATE ); primeDialysateCircuit ( vData.mPrimeState >= GuiPreTreatmentPrimeStates::PRIME_WAIT_FOR_DIALYSATE_READY_STATE && vData.mPrimeState < GuiPreTreatmentPrimeStates::PRIME_WAIT_FOR_AIR_TRAP_FILL_STATE ); primeDialysatePurge ( vData.mPrimeState >= GuiPreTreatmentPrimeStates::PRIME_WAIT_FOR_AIR_TRAP_FILL_STATE && vData.mPrimeState < GuiPreTreatmentPrimeStates::PRIME_DC_DISCARD_AND_REVERSE_PRIME_STATE ); primePrimingFluidDiscard( vData.mPrimeState >= GuiPreTreatmentPrimeStates::PRIME_DC_DISCARD_AND_REVERSE_PRIME_STATE && vData.mPrimeState < GuiPreTreatmentPrimeStates::PRIME_COMPLETE_STATE ); primeComplete ( vData.mPrimeState >= GuiPreTreatmentPrimeStates::PRIME_COMPLETE_STATE ); }