public class AlarmTriggerInfo
{
- public uint id;
+ public zavai.log.Log log;
public string label;
public bool acked;
public bool canceled;
public AlarmTriggerInfo(string label)
{
- id = 0;
this.label = label;
acked = false;
canceled = false;
queue = new List<AlarmTriggerInfo>();
}
- public uint enqueue_trigger(AlarmTriggerInfo info)
+ public void enqueue_trigger(AlarmTriggerInfo info)
{
// Reuse IDs from the associated logger object
- info.id = zavai.log.log.start("alarm");
+ info.log = zavai.log.log.start("alarm", "Alarm " + info.label);
queue.append(info);
- if (queue.data.id == info.id)
+ if (queue.data == info)
triggered(queue.data);
- return info.id;
}
protected void done_with_first()
public void ack(AlarmTriggerInfo info)
{
- if (queue == null || info.id != queue.data.id) return;
+ if (queue == null || info != queue.data) return;
if (!info.acked && !info.canceled)
{
info.acked = true;
acked(info);
- zavai.log.log.add(info.id, "alarm acknowledged");
- zavai.log.log.end(info.id);
+ info.log.add("alarm acknowledged");
+ info.log.acked = true;
+ zavai.log.log.end(info.log);
}
done_with_first();
}
public void cancel(AlarmTriggerInfo info)
{
- if (queue == null || info.id != queue.data.id) return;
+ if (queue == null || info != queue.data) return;
if (!info.acked && !info.canceled)
{
info.canceled = true;
canceled(info);
- zavai.log.log.add(info.id, "alarm canceled");
- zavai.log.log.end(info.id);
+ info.log.add("alarm canceled");
+ zavai.log.log.end(info.log);
}
done_with_first();
}