From 6adde7e8374b349297d92518bea38b9fe8f64d2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr>
Date: Thu, 4 Jun 2020 09:28:23 +0200
Subject: [PATCH] [server] kernel.properties array: new columns for alarms.

---
 src/plugins/server/kernel_properties.ml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/plugins/server/kernel_properties.ml b/src/plugins/server/kernel_properties.ml
index 9d6e9e55ed9..6c43073e963 100644
--- a/src/plugins/server/kernel_properties.ml
+++ b/src/plugins/server/kernel_properties.ml
@@ -215,6 +215,10 @@ end
 (* --- Property Model                                                     --- *)
 (* -------------------------------------------------------------------------- *)
 
+let find_alarm = function
+  | Property.IPCodeAnnot annot -> Alarms.find annot.ica_ca
+  | _ -> None
+
 let model = States.model ()
 
 let () = States.column ~model ~name:"descr"
@@ -250,6 +254,16 @@ let () = States.column ~model ~name:"source"
     ~data:(module LogSource)
     ~get:(fun ip -> Property.location ip |> fst) ()
 
+let () = States.column ~model ~name:"alarm"
+    ~descr:(Md.plain "Alarm name (if the property is an alarm)")
+    ~data:(module Jstring.Joption)
+    ~get:(fun ip -> Extlib.opt_map Alarms.get_short_name (find_alarm ip)) ()
+
+let () = States.column ~model ~name:"alarm_descr"
+    ~descr:(Md.plain "Alarm description (if the property is an alarm)")
+    ~data:(module Jstring.Joption)
+    ~get:(fun ip -> Extlib.opt_map Alarms.get_description (find_alarm ip)) ()
+
 let is_relevant ip =
   match Property.get_kf ip with
   | None -> true
-- 
GitLab