LAPTOP-SNT8I5JK\Boounion
2024-12-12 02fb493f0903013e5258c2ff5e2cb27de873378a
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++) {