Index: sources/view/valarmstatus.cpp =================================================================== diff -u -r11909fd034451197eeb590176e4a8c52657cdab8 -r11a0a0a9bb67cc3afbf75426cc6b3ca97365a7ea --- sources/view/valarmstatus.cpp (.../valarmstatus.cpp) (revision 11909fd034451197eeb590176e4a8c52657cdab8) +++ sources/view/valarmstatus.cpp (.../valarmstatus.cpp) (revision 11a0a0a9bb67cc3afbf75426cc6b3ca97365a7ea) @@ -1,30 +1,47 @@ /*! * * 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. + * \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 valarmstatus.cpp - * date 3/6/2020 - * author Behrouz NematiPour + * \file valarmstatus.cpp + * \author (last) Peter Lucia + * \date (last) 29-Jun-2020 + * \author (original) Behrouz NematiPour + * \date (original) 10-Mar-2020 * */ #include "valarmstatus.h" -// Qt +using namespace Gui; +using namespace View; -// Project -#include "guicontroller.h" -#include "format.h" +VAlarmStatus::VAlarmStatus(QObject *parent) +{ + Q_UNUSED(parent); -VIEW_DEF(VAlarmStatus, AlarmStatusData) + connect(&_GuiController, SIGNAL(didActionReceive(AlarmStatusData)), + this , SLOT(onActionReceive(AlarmStatusData))); -using namespace Gui; + connect(this, SIGNAL(requestActionTransmit(GuiActionType,QVariantList)), + &_GuiController, SLOT(doActionTransmit(GuiActionType,QVariantList))); +} void VAlarmStatus::onActionReceive(const AlarmStatusData &vData) { + GuiAlarmID alarmID = static_cast(vData.mTop); + + if (gDisableTimeout && alarmID == GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT) { + LOG_EVENT(tr("Suppressing HD communication timeout.")); + return; + } + + if (vData.mTop == GuiAlarmID::ALARM_ID_NO_ALARM) { + emit noAlarm(); + return; + } + alarm_Priority (vData.mState ); alarm_AlarmID (vData.mTop ); alarm_EscalateIn (vData.mMuteTimeout ); @@ -39,6 +56,10 @@ alarm_Flag_bypassDialyzer (vData.mFlags.at(AlarmStatusFlag::eFlag_bypassDialyzer )); alarm_Flag_alarmsToEscalate (vData.mFlags.at(AlarmStatusFlag::eFlag_alarmsToEscalate)); alarm_Flag_alarmsSilenced (vData.mFlags.at(AlarmStatusFlag::eFlag_alarmsSilenced )); + + emit raiseAlarm(); + + } /*! @@ -66,42 +87,52 @@ /*! * \brief VAlarmStatus::alarmIDText - * \details this code is the place holder for the alarms description mapping - * since it is another feature - * it returns the enum name for now + * \details Looks up the alarm text from the alarm ID * \param vEnum - The Alarm ID - * \return String representation of the Alarm Id Enum name + * \return The alarm text (QString) */ QString VAlarmStatus::alarmIDText(GuiAlarmID vEnum) { - // TEST : this code is the place holder for the alarms description mapping - // since it is another feature - // it returns the enum name for now - const QMetaObject *mo = qt_getEnumMetaObject(vEnum); - int enumIdx = mo->indexOfEnumerator(qt_getEnumName(vEnum)); - const char *key = mo->enumerator(enumIdx).valueToKey(vEnum); - if (key) - return qPrintable(key); - else - return QString("ALARM_ID_UNDEFINED [%1]").arg(vEnum); + return Model::MAlarmStatus::toText(vEnum); } -QString View::VAlarmStatus::text() +/*! + * \brief VAlarmStatus::text + * \return Gets the alarm text from the alarm ID and returns it as a QString + */ +QString VAlarmStatus::text() { - QString text; - if (alarm_AlarmID() != GuiAlarmID::ALARM_ID_NO_ALARM) - text = alarmIDText (static_cast(alarm_AlarmID())) + " , " + - FSN(alarm_EscalateIn ()) + " , " + - FSN(alarm_MuteTimeout ()) + " ["+ - (alarm_Flag_systemFault () ? "1" : "0" ) + " " + - (alarm_Flag_stop () ? "1" : "0" ) + " " + - (alarm_Flag_noClear () ? "1" : "0" ) + " " + - (alarm_Flag_noResume () ? "1" : "0" ) + " " + - (alarm_Flag_noRinseback () ? "1" : "0" ) + " " + - (alarm_Flag_noEndTreatment () ? "1" : "0" ) + " " + - (alarm_Flag_noNewTreatment () ? "1" : "0" ) + " " + - (alarm_Flag_bypassDialyzer () ? "1" : "0" ) + " " + - (alarm_Flag_alarmsToEscalate() ? "1" : "0" ) + " " + - (alarm_Flag_alarmsSilenced () ? "1" : "0" ) + "]" ; - return text; + return alarmIDText(static_cast(alarm_AlarmID())); } + +/*! + * \brief VAlarmStatus::id + * \return Gets the id of the alarm and returns the ID number as a QString + */ +QString VAlarmStatus::id() +{ + // coco begin validated: Has been validated manually + return QString("%0").arg(static_cast(alarm_AlarmID())); + // coco end +} + +/*! + * \brief VAlarmStatus::requestOkay + * Send out a request to acknowledge alarms. + */ +void VAlarmStatus::requestOkay(GuiAlarmID alarmID) +{ + // This will need to go to the HD + qDebug() << __FUNCTION__ << "alarmID: " << alarmID; +} + +/*! + * \brief VAlarmStatus::requestSilence + * Send out a request to silence alarms. + */ +void VAlarmStatus::requestSilence() +{ + QVariantList messageData = {1}; + GuiActionType messageAction = GuiActions::ID_AlarmSilenceReq; + emit requestActionTransmit(messageAction, messageData); +}