]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/clock.vala
Merge branch 'master' into gregoa
[gregoa/zavai.git] / src / clock.vala
index 374e9d8d16d9824e55852001cf7b1b12c81fa372..d08717bcd9ad82e9e5562c4d8e49ec38a4d6bd1a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * clock - clock resource for zavai
  *
- * Copyright (C) 2009  Enrico Zini <enrico@enricozini.org>
+ * Copyright (C) 2009--2010  Enrico Zini <enrico@enricozini.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -155,7 +155,6 @@ public class AlarmTriggerInfo
 public class AlarmTriggerQueue : zavai.Service
 {
     protected List<AlarmTriggerInfo> queue;
-    protected int seq;
 
     public signal void triggered(AlarmTriggerInfo info);
     public signal void acked(AlarmTriggerInfo info);
@@ -164,14 +163,12 @@ public class AlarmTriggerQueue : zavai.Service
     public AlarmTriggerQueue()
     {
         queue = new List<AlarmTriggerInfo>();
-        seq = 0;
     }
 
     public uint enqueue_trigger(AlarmTriggerInfo info)
     {
-        // Generate a new sequence number
-        if (++seq == 0) ++seq;
-        info.id = seq;
+        // Reuse IDs from the associated logger object
+        info.id = zavai.log.log.start("alarm", "Alarm " + info.label);
         queue.append(info);
         if (queue.data.id == info.id)
             triggered(queue.data);
@@ -193,6 +190,8 @@ public class AlarmTriggerQueue : zavai.Service
         {
             info.acked = true;
             acked(info);
+            zavai.log.log.add(info.id, "alarm acknowledged");
+            zavai.log.log.end(info.id);
         }
         done_with_first();
     }
@@ -204,6 +203,8 @@ public class AlarmTriggerQueue : zavai.Service
         {
             info.canceled = true;
             canceled(info);
+            zavai.log.log.add(info.id, "alarm canceled");
+            zavai.log.log.end(info.id);
         }
         done_with_first();
     }