F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
EventManager.hpp
Go to the documentation of this file.
1 /*
2  * EventManager.hpp
3  *
4  * Created on: Mar 28, 2014
5  * Author: tcanham
6  */
7 
8 #ifndef Svc_EventManager_HPP_
9 #define Svc_EventManager_HPP_
10 
12 #include <Fw/Log/LogPacket.hpp>
14 #include <config/EventManagerCfg.hpp>
15 
16 namespace Svc {
17 
19  public:
20  EventManager(const char* compName);
21  virtual ~EventManager();
22 
23  private:
24  void LogRecv_handler(FwIndexType portNum,
25  FwEventIdType id,
26  Fw::Time& timeTag,
27  const Fw::LogSeverity& severity,
28  Fw::LogBuffer& args);
29 
30  void loqQueue_internalInterfaceHandler(FwEventIdType id,
31  const Fw::Time& timeTag,
32  const Fw::LogSeverity& severity,
33  const Fw::LogBuffer& args);
34 
35  void SET_EVENT_FILTER_cmdHandler(FwOpcodeType opCode,
36  U32 cmdSeq,
37  const EventManager_FilterSeverity& filterLevel,
38  const EventManager_Enabled& filterEnabled);
39 
40  void SET_ID_FILTER_cmdHandler(FwOpcodeType opCode,
41  U32 cmdSeq,
42  FwEventIdType ID,
43  const EventManager_Enabled& idFilterEnabled
44  );
45 
46  void DUMP_FILTER_STATE_cmdHandler(FwOpcodeType opCode,
47  U32 cmdSeq
48  );
49 
51  void run_handler(FwIndexType portNum, U32 context);
52 
55  void pingIn_handler(const FwIndexType portNum,
56  U32 key
57  );
58 
59  // Filter state
60  struct t_filterState {
61  EventManager_Enabled enabled; //<! filter is enabled
63 
64  // Working members
65  Fw::LogPacket m_logPacket;
66  Fw::ComBuffer m_comBuffer;
67 
68  // Set of filtered event IDs.
70 };
71 
72 } // namespace Svc
73 #endif /* Svc_EventManager_HPP_ */
Enabled and disabled state.
FwIdType FwOpcodeType
The type of a command opcode.
EventManager(const char *compName)
constructor
FwIdType FwEventIdType
The type of an event identifier.
Auto-generated base for EventManager component.
Enum representing event severity.
virtual ~EventManager()
destructor
PlatformIndexType FwIndexType
RateGroupDivider component implementation.