Motorcortex Core  version: 2.7.6
sg_monitorbase.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2016 VECTIONEER.
4  */
5 
6 #ifndef SG_MONITORBASE_H
7 #define SG_MONITORBASE_H
8 
9 namespace mcx {
10 
11 namespace signal_monitor {
12 
13 enum MonitorAction {
14  ADD = 0,
15  ENABLE = 1,
16  DISABLE = 2,
17  RESET = 3,
18  NUMBER_OF_ACTIONS = 4
19 };
20 
21 enum TriggerType {
22  TRIGGER_ALWAYS,
23  TRIGGER_ONCE,
24  TRIGGER_TOGGLE,
25 };
26 
27 class SignalId;
28 
29 class SignalIdGroup;
30 
32 public:
33 
34  virtual void set(const SignalId& signal_id) = 0;
35 
36  virtual void reset(const SignalId& signal_id) = 0;
37 
38  virtual void enable(const SignalId& signal_id) = 0;
39 
40  virtual void disable(const SignalId& signal_id) = 0;
41 
42  virtual void set(const SignalIdGroup& signal_id_group) = 0;
43 
44  virtual void reset(const SignalIdGroup& signal_id_group) = 0;
45 
46  virtual void enable(const SignalIdGroup& signal_id_group) = 0;
47 
48  virtual void disable(const SignalIdGroup& signal_id_group) = 0;
49 
50  virtual void reset(void) = 0;
51 
52  virtual void enable(void) = 0;
53 
54  virtual void disable(void) = 0;
55 
56 };
57 
58 } // namespace signal_monitor
59 
60 } // namespace mcx
61 
62 #endif /* SG_MONITORBASE_H */
63 
mcx::signal_monitor::SignalMonitorBase
Definition: sg_monitorbase.h:31
mcx::signal_monitor::SignalId
Definition: sg_signalid.h:25
mcx::signal_monitor::SignalIdGroup
Definition: sg_signalidgroup.h:20