F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
EventManagerComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title EventManagerComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for EventManager component base class
5 // ======================================================================
6 
7 #ifndef Svc_EventManagerComponentAc_HPP
8 #define Svc_EventManagerComponentAc_HPP
9 
10 #include <atomic>
11 
12 #include "Fw/Cmd/CmdPortAc.hpp"
13 #include "Fw/Cmd/CmdRegPortAc.hpp"
15 #include "Fw/Cmd/CmdString.hpp"
16 #include "Fw/Com/ComPortAc.hpp"
18 #include "Fw/FPrimeBasicTypes.hpp"
19 #include "Fw/Log/LogBuffer.hpp"
20 #include "Fw/Log/LogPortAc.hpp"
22 #include "Fw/Log/LogString.hpp"
23 #include "Fw/Log/LogTextPortAc.hpp"
24 #if !FW_DIRECT_PORT_CALLS
26 #endif
27 #if !FW_DIRECT_PORT_CALLS
29 #endif
30 #include "Fw/Time/Time.hpp"
31 #include "Fw/Time/TimePortAc.hpp"
32 #include "Fw/Tlm/TlmPortAc.hpp"
33 #include "Fw/Tlm/TlmString.hpp"
38 #include "Svc/Ping/PingPortAc.hpp"
42 
43 namespace Svc {
44 
51  {
52 
53  // ----------------------------------------------------------------------
54  // Friend classes
55  // ----------------------------------------------------------------------
56 
58  friend class EventManagerTesterBase;
60  friend class EventManagerTester;
61 
62  protected:
63 
64  // ----------------------------------------------------------------------
65  // Constants
66  // ----------------------------------------------------------------------
67 
69  enum {
71  };
72 
74  enum {
78  };
79 
81  enum {
88  };
89 
91  enum {
95  };
96 
98  enum {
102  };
103 
105  enum {
111  };
112 
114  enum {
116  };
117 
118  public:
119 
120  // ----------------------------------------------------------------------
121  // Component initialization
122  // ----------------------------------------------------------------------
123 
125  void init(
126  FwSizeType queueDepth,
127  FwEnumStoreType instance = 0
128  );
129 
130 #if !FW_DIRECT_PORT_CALLS
131 
132  public:
133 
134  // ----------------------------------------------------------------------
135  // Getters for special input ports
136  // ----------------------------------------------------------------------
137 
142  FwIndexType portNum
143  );
144 
145 #endif
146 
147 #if !FW_DIRECT_PORT_CALLS
148 
149  public:
150 
151  // ----------------------------------------------------------------------
152  // Getters for typed input ports
153  // ----------------------------------------------------------------------
154 
159  FwIndexType portNum
160  );
161 
166  FwIndexType portNum
167  );
168 
173  FwIndexType portNum
174  );
175 
176 #endif
177 
178 #if !FW_DIRECT_PORT_CALLS
179 
180  public:
181 
182  // ----------------------------------------------------------------------
183  // Connect input ports to special output ports
184  // ----------------------------------------------------------------------
185 
188  FwIndexType portNum,
189  Fw::InputCmdRegPort* port
190  );
191 
194  FwIndexType portNum,
196  );
197 
199  void set_Log_OutputPort(
200  FwIndexType portNum,
201  Fw::InputLogPort* port
202  );
203 
204 #if FW_ENABLE_TEXT_LOGGING == 1
205 
207  void set_LogText_OutputPort(
208  FwIndexType portNum,
209  Fw::InputLogTextPort* port
210  );
211 
212 #endif
213 
215  void set_Time_OutputPort(
216  FwIndexType portNum,
217  Fw::InputTimePort* port
218  );
219 
221  void set_Tlm_OutputPort(
222  FwIndexType portNum,
223  Fw::InputTlmPort* port
224  );
225 
226 #endif
227 
228 #if !FW_DIRECT_PORT_CALLS
229 
230  public:
231 
232  // ----------------------------------------------------------------------
233  // Connect typed input ports to typed output ports
234  // ----------------------------------------------------------------------
235 
238  FwIndexType portNum,
240  );
241 
244  FwIndexType portNum,
245  Fw::InputComPort* port
246  );
247 
250  FwIndexType portNum,
251  Svc::InputPingPort* port
252  );
253 
254 #endif
255 
256 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
257 
258  public:
259 
260  // ----------------------------------------------------------------------
261  // Connect serial input ports to special output ports
262  // ----------------------------------------------------------------------
263 
266  FwIndexType portNum,
267  Fw::InputSerializePort* port
268  );
269 
272  FwIndexType portNum,
273  Fw::InputSerializePort* port
274  );
275 
277  void set_Log_OutputPort(
278  FwIndexType portNum,
279  Fw::InputSerializePort* port
280  );
281 
282 #if FW_ENABLE_TEXT_LOGGING == 1
283 
285  void set_LogText_OutputPort(
286  FwIndexType portNum,
287  Fw::InputSerializePort* port
288  );
289 
290 #endif
291 
293  void set_Time_OutputPort(
294  FwIndexType portNum,
295  Fw::InputSerializePort* port
296  );
297 
299  void set_Tlm_OutputPort(
300  FwIndexType portNum,
301  Fw::InputSerializePort* port
302  );
303 
304 #endif
305 
306 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
307 
308  public:
309 
310  // ----------------------------------------------------------------------
311  // Connect serial input ports to typed output ports
312  // ----------------------------------------------------------------------
313 
316  FwIndexType portNum,
317  Fw::InputSerializePort* port
318  );
319 
322  FwIndexType portNum,
323  Fw::InputSerializePort* port
324  );
325 
328  FwIndexType portNum,
329  Fw::InputSerializePort* port
330  );
331 
332 #endif
333 
334  public:
335 
336  // ----------------------------------------------------------------------
337  // Command registration
338  // ----------------------------------------------------------------------
339 
343  void regCommands();
344 
345  protected:
346 
347  // ----------------------------------------------------------------------
348  // Component construction and destruction
349  // ----------------------------------------------------------------------
350 
353  const char* compName = ""
354  );
355 
357  virtual ~EventManagerComponentBase();
358 
359  protected:
360 
361  // ----------------------------------------------------------------------
362  // Getters for numbers of special input ports
363  // ----------------------------------------------------------------------
364 
370  }
371 
372  protected:
373 
374  // ----------------------------------------------------------------------
375  // Getters for numbers of typed input ports
376  // ----------------------------------------------------------------------
377 
383  }
384 
389  return NUM_PINGIN_INPUT_PORTS;
390  }
391 
395  static constexpr FwIndexType getNum_run_InputPorts() {
396  return NUM_RUN_INPUT_PORTS;
397  }
398 
399  protected:
400 
401  // ----------------------------------------------------------------------
402  // Getters for numbers of special output ports
403  // ----------------------------------------------------------------------
404 
410  }
411 
417  }
418 
422  static constexpr FwIndexType getNum_Log_OutputPorts() {
423  return NUM_LOG_OUTPUT_PORTS;
424  }
425 
426 #if FW_ENABLE_TEXT_LOGGING == 1
427 
431  static constexpr FwIndexType getNum_LogText_OutputPorts() {
433  }
434 
435 #endif
436 
441  return NUM_TIME_OUTPUT_PORTS;
442  }
443 
447  static constexpr FwIndexType getNum_Tlm_OutputPorts() {
448  return NUM_TLM_OUTPUT_PORTS;
449  }
450 
451  protected:
452 
453  // ----------------------------------------------------------------------
454  // Getters for numbers of typed output ports
455  // ----------------------------------------------------------------------
456 
462  }
463 
469  }
470 
476  }
477 
478  protected:
479 
480  // ----------------------------------------------------------------------
481  // Connection status queries for special output ports
482  // ----------------------------------------------------------------------
483 
488  FwIndexType portNum
489  ) const;
490 
495  FwIndexType portNum
496  ) const;
497 
502  FwIndexType portNum
503  ) const;
504 
505 #if FW_ENABLE_TEXT_LOGGING == 1
506 
510  bool isConnected_LogText_OutputPort(
511  FwIndexType portNum
512  ) const;
513 
514 #endif
515 
520  FwIndexType portNum
521  ) const;
522 
527  FwIndexType portNum
528  ) const;
529 
530  protected:
531 
532  // ----------------------------------------------------------------------
533  // Connection status queries for typed output ports
534  // ----------------------------------------------------------------------
535 
540  FwIndexType portNum
541  ) const;
542 
547  FwIndexType portNum
548  ) const;
549 
554  FwIndexType portNum
555  ) const;
556 
557 #if FW_DIRECT_PORT_CALLS
558  public:
559 #else
560  protected:
561 #endif
562 
563  // ----------------------------------------------------------------------
564  // Port handler base-class functions for special input ports
565  //
566  // Call these functions directly to bypass the corresponding ports
567  // ----------------------------------------------------------------------
568 
570  void CmdDisp_handlerBase(
571  FwIndexType portNum,
572  FwOpcodeType opCode,
573  U32 cmdSeq,
574  Fw::CmdArgBuffer& args
575  );
576 
577  protected:
578 
579  // ----------------------------------------------------------------------
580  // Handlers to implement for typed input ports
581  // ----------------------------------------------------------------------
582 
584  virtual void LogRecv_handler(
585  FwIndexType portNum,
586  FwEventIdType id,
587  Fw::Time& timeTag,
588  const Fw::LogSeverity& severity,
589  Fw::LogBuffer& args
590  ) = 0;
591 
593  virtual void pingIn_handler(
594  FwIndexType portNum,
595  U32 key
596  ) = 0;
597 
599  virtual void run_handler(
600  FwIndexType portNum,
601  U32 context
602  ) = 0;
603 
604 #if FW_DIRECT_PORT_CALLS
605  public:
606 #else
607  protected:
608 #endif
609 
610  // ----------------------------------------------------------------------
611  // Port handler base-class functions for typed input ports
612  //
613  // Call these functions directly to bypass the corresponding ports
614  // ----------------------------------------------------------------------
615 
617  void LogRecv_handlerBase(
618  FwIndexType portNum,
619  FwEventIdType id,
620  Fw::Time& timeTag,
621  const Fw::LogSeverity& severity,
622  Fw::LogBuffer& args
623  );
624 
626  void pingIn_handlerBase(
627  FwIndexType portNum,
628  U32 key
629  );
630 
632  void run_handlerBase(
633  FwIndexType portNum,
634  U32 context
635  );
636 
637  protected:
638 
639  // ----------------------------------------------------------------------
640  // Pre-message hooks for typed async input ports
641  //
642  // Each of these functions is invoked just before processing a message
643  // on the corresponding port. By default, they do nothing. You can
644  // override them to provide specific pre-message behavior.
645  // ----------------------------------------------------------------------
646 
648  virtual void pingIn_preMsgHook(
649  FwIndexType portNum,
650  U32 key
651  );
652 
653  protected:
654 
655  // ----------------------------------------------------------------------
656  // Invocation functions for typed output ports
657  // ----------------------------------------------------------------------
658 
660  void FatalAnnounce_out(
661  FwIndexType portNum,
662  FwEventIdType Id
663  ) const;
664 
666  void PktSend_out(
667  FwIndexType portNum,
668  Fw::ComBuffer& data,
669  U32 context
670  ) const;
671 
673  void pingOut_out(
674  FwIndexType portNum,
675  U32 key
676  ) const;
677 
678  protected:
679 
680  // ----------------------------------------------------------------------
681  // Hooks for internal ports
682  //
683  // Each of these functions is invoked just before dropping a message
684  // on the corresponding internal port. You should override them to provide
685  // specific drop behavior.
686  // ----------------------------------------------------------------------
687 
689  virtual void runInternal_overflowHook() = 0;
690 
691  protected:
692 
693  // ----------------------------------------------------------------------
694  // Internal interface handlers
695  // ----------------------------------------------------------------------
696 
699  FwEventIdType id,
700  const Fw::Time& timeTag,
701  const Fw::LogSeverity& severity,
702  const Fw::LogBuffer& args
703  ) = 0;
704 
706  virtual void runInternal_internalInterfaceHandler() = 0;
707 
708  protected:
709 
710  // ----------------------------------------------------------------------
711  // Internal interface base-class functions
712  // ----------------------------------------------------------------------
713 
716  FwEventIdType id,
717  const Fw::Time& timeTag,
718  const Fw::LogSeverity& severity,
719  const Fw::LogBuffer& args
720  );
721 
724 
725  protected:
726 
727  // ----------------------------------------------------------------------
728  // Command response
729  // ----------------------------------------------------------------------
730 
732  void cmdResponse_out(
733  FwOpcodeType opCode,
734  U32 cmdSeq,
735  Fw::CmdResponse response
736  );
737 
738  protected:
739 
740  // ----------------------------------------------------------------------
741  // Command handlers to implement
742  // ----------------------------------------------------------------------
743 
747  virtual void SET_EVENT_FILTER_cmdHandler(
748  FwOpcodeType opCode,
749  U32 cmdSeq,
750  const Svc::EventManager_FilterSeverity& filterLevel,
751  const Svc::EventManager_Enabled& filterEnabled
752  ) = 0;
753 
757  virtual void SET_ID_FILTER_cmdHandler(
758  FwOpcodeType opCode,
759  U32 cmdSeq,
760  FwEventIdType ID,
761  const Svc::EventManager_Enabled& idFilterEnabled
762  ) = 0;
763 
767  virtual void DUMP_FILTER_STATE_cmdHandler(
768  FwOpcodeType opCode,
769  U32 cmdSeq
770  ) = 0;
771 
772  protected:
773 
774  // ----------------------------------------------------------------------
775  // Command handler base-class functions
776  //
777  // Call these functions directly to bypass the command input port
778  // ----------------------------------------------------------------------
779 
784  FwOpcodeType opCode,
785  U32 cmdSeq,
786  Fw::CmdArgBuffer& args
787  );
788 
793  FwOpcodeType opCode,
794  U32 cmdSeq,
795  Fw::CmdArgBuffer& args
796  );
797 
802  FwOpcodeType opCode,
803  U32 cmdSeq,
804  Fw::CmdArgBuffer& args
805  );
806 
807  protected:
808 
809  // ----------------------------------------------------------------------
810  // Pre-message hooks for async commands
811  //
812  // Each of these functions is invoked just before processing the
813  // corresponding command. By default they do nothing. You can
814  // override them to provide specific pre-command behavior.
815  // ----------------------------------------------------------------------
816 
818  virtual void SET_ID_FILTER_preMsgHook(
819  FwOpcodeType opCode,
820  U32 cmdSeq
821  );
822 
824  virtual void DUMP_FILTER_STATE_preMsgHook(
825  FwOpcodeType opCode,
826  U32 cmdSeq
827  );
828 
829  protected:
830 
831  // ----------------------------------------------------------------------
832  // Event logging functions
833  // ----------------------------------------------------------------------
834 
839  const Svc::EventManager_FilterSeverity& severity,
840  bool enabled
841  ) const;
842 
847  FwEventIdType ID
848  ) const;
849 
854  FwEventIdType ID
855  ) const;
856 
861  FwEventIdType ID
862  ) const;
863 
868  FwEventIdType ID
869  ) const;
870 
871  protected:
872 
873  // ----------------------------------------------------------------------
874  // Telemetry serialized write
875  // ----------------------------------------------------------------------
876 
881  void tlmWrite(
882  FwChanIdType id,
883  Fw::TlmBuffer& _tlmBuff,
884  Fw::Time _tlmTime = Fw::Time()
885  ) const;
886 
887  protected:
888 
889  // ----------------------------------------------------------------------
890  // Telemetry write functions
891  // ----------------------------------------------------------------------
892 
897  FwSizeType arg,
898  Fw::Time _tlmTime = Fw::Time()
899  );
900 
901  protected:
902 
903  // ----------------------------------------------------------------------
904  // Time
905  // ----------------------------------------------------------------------
906 
910  Fw::Time getTime() const;
911 
912  private:
913 
914  // ----------------------------------------------------------------------
915  // Message dispatch functions
916  // ----------------------------------------------------------------------
917 
919  virtual MsgDispatchStatus doDispatch();
920 
921  private:
922 
923  // ----------------------------------------------------------------------
924  // Calls for messages received on special input ports
925  // ----------------------------------------------------------------------
926 
928  static void m_p_CmdDisp_in(
929  Fw::PassiveComponentBase* callComp,
930  FwIndexType portNum,
931  FwOpcodeType opCode,
932  U32 cmdSeq,
933  Fw::CmdArgBuffer& args
934  );
935 
936  private:
937 
938  // ----------------------------------------------------------------------
939  // Calls for messages received on typed input ports
940  // ----------------------------------------------------------------------
941 
943  static void m_p_LogRecv_in(
944  Fw::PassiveComponentBase* callComp,
945  FwIndexType portNum,
946  FwEventIdType id,
947  Fw::Time& timeTag,
948  const Fw::LogSeverity& severity,
949  Fw::LogBuffer& args
950  );
951 
953  static void m_p_pingIn_in(
954  Fw::PassiveComponentBase* callComp,
955  FwIndexType portNum,
956  U32 key
957  );
958 
960  static void m_p_run_in(
961  Fw::PassiveComponentBase* callComp,
962  FwIndexType portNum,
963  U32 context
964  );
965 
966  private:
967 
968  // ----------------------------------------------------------------------
969  // Invocation functions for special output ports
970  // ----------------------------------------------------------------------
971 
973  void CmdReg_out(
974  FwIndexType portNum,
975  FwOpcodeType opCode
976  ) const;
977 
979  void CmdStatus_out(
980  FwIndexType portNum,
981  FwOpcodeType opCode,
982  U32 cmdSeq,
983  const Fw::CmdResponse& response
984  ) const;
985 
987  void Log_out(
988  FwIndexType portNum,
989  FwEventIdType id,
990  Fw::Time& timeTag,
991  const Fw::LogSeverity& severity,
992  Fw::LogBuffer& args
993  ) const;
994 
995 #if FW_ENABLE_TEXT_LOGGING
996 
998  void LogText_out(
999  FwIndexType portNum,
1000  FwEventIdType id,
1001  Fw::Time& timeTag,
1002  const Fw::LogSeverity& severity,
1003  Fw::TextLogString& text
1004  ) const;
1005 
1006 #endif
1007 
1009  void Time_out(
1010  FwIndexType portNum,
1011  Fw::Time& time
1012  ) const;
1013 
1015  void Tlm_out(
1016  FwIndexType portNum,
1017  FwChanIdType id,
1018  Fw::Time& timeTag,
1019  Fw::TlmBuffer& val
1020  ) const;
1021 
1022 #if !FW_DIRECT_PORT_CALLS
1023 
1024  private:
1025 
1026  // ----------------------------------------------------------------------
1027  // Special input ports
1028  // ----------------------------------------------------------------------
1029 
1031  Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS];
1032 
1033 #endif
1034 
1035 #if !FW_DIRECT_PORT_CALLS
1036 
1037  private:
1038 
1039  // ----------------------------------------------------------------------
1040  // Typed input ports
1041  // ----------------------------------------------------------------------
1042 
1044  Fw::InputLogPort m_LogRecv_InputPort[NUM_LOGRECV_INPUT_PORTS];
1045 
1047  Svc::InputPingPort m_pingIn_InputPort[NUM_PINGIN_INPUT_PORTS];
1048 
1050  Svc::InputSchedPort m_run_InputPort[NUM_RUN_INPUT_PORTS];
1051 
1052 #endif
1053 
1054 #if !FW_DIRECT_PORT_CALLS
1055 
1056  private:
1057 
1058  // ----------------------------------------------------------------------
1059  // Special output ports
1060  // ----------------------------------------------------------------------
1061 
1063  Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS];
1064 
1066  Fw::OutputCmdResponsePort m_CmdStatus_OutputPort[NUM_CMDSTATUS_OUTPUT_PORTS];
1067 
1069  Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS];
1070 
1071 #if FW_ENABLE_TEXT_LOGGING == 1
1072 
1074  Fw::OutputLogTextPort m_LogText_OutputPort[NUM_LOGTEXT_OUTPUT_PORTS];
1075 
1076 #endif
1077 
1079  Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS];
1080 
1082  Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS];
1083 
1084 #endif
1085 
1086 #if !FW_DIRECT_PORT_CALLS
1087 
1088  private:
1089 
1090  // ----------------------------------------------------------------------
1091  // Typed output ports
1092  // ----------------------------------------------------------------------
1093 
1095  Svc::OutputFatalEventPort m_FatalAnnounce_OutputPort[NUM_FATALANNOUNCE_OUTPUT_PORTS];
1096 
1098  Fw::OutputComPort m_PktSend_OutputPort[NUM_PKTSEND_OUTPUT_PORTS];
1099 
1101  Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS];
1102 
1103 #endif
1104 
1105  private:
1106 
1107  // ----------------------------------------------------------------------
1108  // First update flags for telemetry channels
1109  // ----------------------------------------------------------------------
1110 
1112  bool m_first_update_EventsDropped = true;
1113 
1114  private:
1115 
1116  // ----------------------------------------------------------------------
1117  // Last value storage for telemetry channels
1118  // ----------------------------------------------------------------------
1119 
1121  FwSizeType m_last_EventsDropped = {};
1122 
1123  };
1124 
1125 }
1126 
1127 #endif
friend class EventManagerTesterBase
Friend class tester to support autocoded test harness.
void run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port run.
void log_ACTIVITY_LO_SEVERITY_FILTER_STATE(const Svc::EventManager_FilterSeverity &severity, bool enabled) const
static constexpr FwIndexType getNum_Tlm_OutputPorts()
void tlmWrite_EventsDropped(FwSizeType arg, Fw::Time _tlmTime=Fw::Time())
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
virtual void SET_EVENT_FILTER_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::EventManager_FilterSeverity &filterLevel, const Svc::EventManager_Enabled &filterEnabled)=0
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
Enabled and disabled state.
void LogRecv_handlerBase(FwIndexType portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)
Handler base-class function for input port LogRecv.
FwIdType FwOpcodeType
The type of a command opcode.
PlatformSizeType FwSizeType
I32 FwEnumStoreType
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum) const
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
bool isConnected_PktSend_OutputPort(FwIndexType portNum) const
bool isConnected_FatalAnnounce_OutputPort(FwIndexType portNum) const
bool isConnected_Tlm_OutputPort(FwIndexType portNum) const
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
static constexpr FwIndexType getNum_CmdReg_OutputPorts()
void CmdDisp_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port CmdDisp.
static constexpr FwIndexType getNum_LogRecv_InputPorts()
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
Enum representing a command response.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
void set_PktSend_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to PktSend[portNum].
Svc::InputSchedPort * get_run_InputPort(FwIndexType portNum)
virtual void runInternal_internalInterfaceHandler()=0
Internal interface handler for runInternal.
void init()
Object initializer.
Definition: ObjBase.cpp:24
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
void regCommands()
Register commands with the Command Dispatcher.
virtual void runInternal_overflowHook()=0
Overflow hook for async input port runInternal.
static constexpr FwIndexType getNum_pingIn_InputPorts()
FwIdType FwEventIdType
The type of an event identifier.
void SET_EVENT_FILTER_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_ACTIVITY_HI_ID_FILTER_ENABLED(FwEventIdType ID) const
virtual void SET_ID_FILTER_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SET_ID_FILTER.
virtual void DUMP_FILTER_STATE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command DUMP_FILTER_STATE.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
void log_WARNING_LO_ID_FILTER_LIST_FULL(FwEventIdType ID) const
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_Log_OutputPort(FwIndexType portNum) const
friend class EventManagerTester
Friend class tester implementation to support white-box testing.
static constexpr FwIndexType getNum_FatalAnnounce_OutputPorts()
static constexpr FwIndexType getNum_PktSend_OutputPorts()
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
static constexpr FwIndexType getNum_run_InputPorts()
void FatalAnnounce_out(FwIndexType portNum, FwEventIdType Id) const
Invoke output port FatalAnnounce.
Auto-generated base for EventManager component.
void runInternal_internalInterfaceInvoke()
Internal interface base-class function for runInternal.
Enum representing event severity.
bool isConnected_Time_OutputPort(FwIndexType portNum) const
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
void log_WARNING_LO_ID_FILTER_NOT_FOUND(FwEventIdType ID) const
bool isConnected_CmdReg_OutputPort(FwIndexType portNum) const
void loqQueue_internalInterfaceInvoke(FwEventIdType id, const Fw::Time &timeTag, const Fw::LogSeverity &severity, const Fw::LogBuffer &args)
Internal interface base-class function for loqQueue.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
virtual void run_handler(FwIndexType portNum, U32 context)=0
Handler for input port run.
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
void SET_ID_FILTER_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual void LogRecv_handler(FwIndexType portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)=0
Handler for input port LogRecv.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
PlatformIndexType FwIndexType
void DUMP_FILTER_STATE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Set filter for reporting events. Events are not stored in component.
virtual void DUMP_FILTER_STATE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_Time_OutputPorts()
static constexpr FwIndexType getNum_CmdDisp_InputPorts()
virtual void loqQueue_internalInterfaceHandler(FwEventIdType id, const Fw::Time &timeTag, const Fw::LogSeverity &severity, const Fw::LogBuffer &args)=0
Internal interface handler for loqQueue.
RateGroupDivider component implementation.
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_Log_OutputPorts()
void PktSend_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context) const
Invoke output port PktSend.
virtual ~EventManagerComponentBase()
Destroy EventManagerComponentBase object.
EventManagerComponentBase(const char *compName="")
Construct EventManagerComponentBase object.
void set_FatalAnnounce_OutputPort(FwIndexType portNum, Svc::InputFatalEventPort *port)
Connect port to FatalAnnounce[portNum].
Fw::InputLogPort * get_LogRecv_InputPort(FwIndexType portNum)
void log_ACTIVITY_HI_ID_FILTER_REMOVED(FwEventIdType ID) const
virtual void SET_ID_FILTER_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, FwEventIdType ID, const Svc::EventManager_Enabled &idFilterEnabled)=0