From 02fb493f0903013e5258c2ff5e2cb27de873378a Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 12 十二月 2024 10:51:43 +0800
Subject: [PATCH] 1.警告性息弹窗; 2.警告性息列表;
---
SourceCode/Bond/BondEq/AlarmMonitor.cpp | 44 ++++++++++++++++++++++++++++++++++----------
1 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/SourceCode/Bond/BondEq/AlarmMonitor.cpp b/SourceCode/Bond/BondEq/AlarmMonitor.cpp
index 8d3c9f5..4e23b8d 100644
--- a/SourceCode/Bond/BondEq/AlarmMonitor.cpp
+++ b/SourceCode/Bond/BondEq/AlarmMonitor.cpp
@@ -95,13 +95,14 @@
for (auto iter = m_mapAlarming.begin(); iter != m_mapAlarming.end();/* iter++*/) {
if (!findAlarm(alarmIds, iter->first)) {
// 消除警告, 同时将信息发出,以使界面显示和历史记录保存
- iter->second->alarmOff();
- addAlarmToHistoryRecord(iter->second);
- LOGE("消除了警告:%s", iter->second->toString().c_str());
- SendBroadcast(&CIntent(BC_CODE_ALARM_OFF, "", iter->second));
-
- iter->second->release();
+ CAlarm* pAlarm = iter->second;
+ pAlarm->alarmOff();
+ addAlarmToHistoryRecord(pAlarm);
m_mapAlarming.erase(iter++);
+
+ LOGE("消除了警告:%s", pAlarm->toString().c_str());
+ SendBroadcast(&CIntent(BC_CODE_ALARM_OFF, "", pAlarm));
+ pAlarm->release();
}
else {
iter++;
@@ -190,11 +191,9 @@
}
}
-void CAlarmMonitor::getAlarmingMap(std::map<int, CAlarm*>& alarms)
+std::map<int, CAlarm*>& CAlarmMonitor::getAlarmingMap()
{
- Lock();
- alarms = m_mapAlarming;
- Unlock();
+ return m_mapAlarming;
}
BOOL CAlarmMonitor::isAlarming()
@@ -205,6 +204,31 @@
return bAlarming;
}
+CAlarm* CAlarmMonitor::getActiveAlarm()
+{
+ Lock();
+ if (m_mapAlarming.empty()) {
+ Unlock();
+ return nullptr;
+ }
+ auto iter = m_mapAlarming.begin();
+ Unlock();
+
+ return iter->second;
+}
+
+std::list< CAlarm*>& CAlarmMonitor::getAlarmRecords()
+{
+ return m_alarms;
+}
+
+void CAlarmMonitor::getAlarmRecords(std::list< CAlarm*>& list)
+{
+ Lock();
+ list = m_alarms;
+ Unlock();
+}
+
BOOL CAlarmMonitor::compareData(const char* pScrData, const char* pTarData, int len)
{
for (int i = 0; i < len; i++) {
--
Gitblit v1.9.3