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 
11 #include <Fw/Log/LogPacket.hpp>
13 #include <config/EventManagerCfg.hpp>
14 
15 namespace Svc {
16 
18  public:
19  EventManager(const char* compName);
20  virtual ~EventManager();
21 
22  private:
23  void LogRecv_handler(FwIndexType portNum,
24  FwEventIdType id,
25  Fw::Time& timeTag,
26  const Fw::LogSeverity& severity,
27  Fw::LogBuffer& args);
28 
29  void loqQueue_internalInterfaceHandler(FwEventIdType id,
30  const Fw::Time& timeTag,
31  const Fw::LogSeverity& severity,
32  const Fw::LogBuffer& args);
33 
34  void SET_EVENT_FILTER_cmdHandler(FwOpcodeType opCode,
35  U32 cmdSeq,
36  EventManager_FilterSeverity filterLevel,
37  EventManager_Enabled filterEnabled);
38 
39  void SET_ID_FILTER_cmdHandler(FwOpcodeType opCode,
40  U32 cmdSeq,
41  FwEventIdType ID,
42  EventManager_Enabled idFilterEnabled
43  );
44 
45  void DUMP_FILTER_STATE_cmdHandler(FwOpcodeType opCode,
46  U32 cmdSeq
47  );
48 
51  void pingIn_handler(const FwIndexType portNum,
52  U32 key
53  );
54 
55  // Filter state
56  struct t_filterState {
57  EventManager_Enabled enabled; //<! filter is enabled
59 
60  // Working members
61  Fw::LogPacket m_logPacket;
62  Fw::ComBuffer m_comBuffer;
63 
64  // array of filtered event IDs.
65  // value of 0 means no entry
66  FwEventIdType m_filteredIDs[TELEM_ID_FILTER_SIZE];
67 };
68 
69 } // namespace Svc
70 #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.
Size of telemetry ID filter.