From a2e191bbb115e18d7a73bef1df751b47743dde8f Mon Sep 17 00:00:00 2001
From: gscalamera <graziano.scalamera@elettra.eu>
Date: Thu, 15 Jul 2021 16:32:20 +0200
Subject: [PATCH] Use Tango library to check thresholds when pushing
 alarmAudible and alarm attributes

---
 src/AlarmHandler.cpp             | 2 +-
 src/AlarmHandler.xmi             | 8 ++++----
 src/AlarmHandlerClass.cpp        | 4 ++--
 src/AlarmHandlerDynAttrUtils.cpp | 4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/AlarmHandler.cpp b/src/AlarmHandler.cpp
index e3d7042..043a77d 100644
--- a/src/AlarmHandler.cpp
+++ b/src/AlarmHandler.cpp
@@ -754,7 +754,7 @@ void AlarmHandler::init_device()
 		}
 	}
 
-	set_change_event("alarm",true,false);
+	set_change_event("alarm",true,true);
 	/*
 	 * create alarm processing thread
 	 */
diff --git a/src/AlarmHandler.xmi b/src/AlarmHandler.xmi
index fe81afc..2440a1a 100644
--- a/src/AlarmHandler.xmi
+++ b/src/AlarmHandler.xmi
@@ -199,8 +199,8 @@
     </commands>
     <attributes name="alarmAudible" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
       <dataType xsi:type="pogoDsl:BooleanType"/>
-      <changeEvent fire="true" libCheckCriteria="false"/>
-      <archiveEvent fire="true" libCheckCriteria="false"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
       <dataReadyEvent fire="false" libCheckCriteria="true"/>
       <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
       <properties description="True if there is at least one alarm that needs audible indication on the GUI" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
@@ -342,8 +342,8 @@
     </dynamicAttributes>
     <dynamicAttributes name="AlarmFormula" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="true">
       <dataType xsi:type="pogoDsl:StringType"/>
-      <changeEvent fire="true" libCheckCriteria="false"/>
-      <archiveEvent fire="true" libCheckCriteria="false"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
       <dataReadyEvent fire="false" libCheckCriteria="true"/>
       <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
       <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
diff --git a/src/AlarmHandlerClass.cpp b/src/AlarmHandlerClass.cpp
index ff9ed45..7b66e94 100644
--- a/src/AlarmHandlerClass.cpp
+++ b/src/AlarmHandlerClass.cpp
@@ -852,8 +852,8 @@ void AlarmHandlerClass::attribute_factory(vector<Tango::Attr *> &att_list)
 	//	Not Polled
 	alarmaudible->set_disp_level(Tango::OPERATOR);
 	//	Not Memorized
-	alarmaudible->set_change_event(true, false);
-	alarmaudible->set_archive_event(true, false);
+	alarmaudible->set_change_event(true, true);
+	alarmaudible->set_archive_event(true, true);
 	att_list.push_back(alarmaudible);
 
 	//	Attribute : StatisticsResetTime
diff --git a/src/AlarmHandlerDynAttrUtils.cpp b/src/AlarmHandlerDynAttrUtils.cpp
index 591b147..d3cffa1 100644
--- a/src/AlarmHandlerDynAttrUtils.cpp
+++ b/src/AlarmHandlerDynAttrUtils.cpp
@@ -173,8 +173,8 @@ void AlarmHandler::add_AlarmFormula_dynamic_attribute(string attname)
 	//	Not Polled
 	alarmformula->set_disp_level(Tango::OPERATOR);
 	//	Not Memorized
-	alarmformula->set_change_event(true, false);
-	alarmformula->set_archive_event(true, false);
+	alarmformula->set_change_event(true, true);
+	alarmformula->set_archive_event(true, true);
 	char array[1];
 	array[0] = '\0';
 	AlarmFormula_data.insert(make_pair(attname, array));
-- 
GitLab