Index: sources/view/valarmstatus.cpp =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -r11a0a0a9bb67cc3afbf75426cc6b3ca97365a7ea --- sources/view/valarmstatus.cpp (.../valarmstatus.cpp) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/view/valarmstatus.cpp (.../valarmstatus.cpp) (revision 11a0a0a9bb67cc3afbf75426cc6b3ca97365a7ea) @@ -1,25 +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" -// Project -#include "guicontroller.h" +using namespace Gui; +using namespace View; -VIEW_DEF(VAlarmStatus, AlarmStatusData) +VAlarmStatus::VAlarmStatus(QObject *parent) +{ + Q_UNUSED(parent); + connect(&_GuiController, SIGNAL(didActionReceive(AlarmStatusData)), + this , SLOT(onActionReceive(AlarmStatusData))); + + 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 ); @@ -34,4 +56,83 @@ 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(); + + } + +/*! + * \brief VAlarmStatus::alarmPriorityText + * \details this code is the place holder for the alarms description mapping + * since it is another feature + * it returns the enum name for now + * \param vEnum - The Alarm priority + * \return String representation of the Alarm priority Enum name + */ +QString VAlarmStatus::alarmPriorityText(GuiAlarmPriority vEnum) +{ + // coco begin validated: 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_PRIORITY_UNDEFINED [%1]").arg(vEnum); +} +// coco end + +/*! + * \brief VAlarmStatus::alarmIDText + * \details Looks up the alarm text from the alarm ID + * \param vEnum - The Alarm ID + * \return The alarm text (QString) + */ +QString VAlarmStatus::alarmIDText(GuiAlarmID vEnum) +{ + return Model::MAlarmStatus::toText(vEnum); +} + +/*! + * \brief VAlarmStatus::text + * \return Gets the alarm text from the alarm ID and returns it as a QString + */ +QString VAlarmStatus::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); +}