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 
654  virtual void run_preMsgHook(
655  FwIndexType portNum,
656  U32 context
657  );
658 
659  protected:
660 
661  // ----------------------------------------------------------------------
662  // Invocation functions for typed output ports
663  // ----------------------------------------------------------------------
664 
666  void FatalAnnounce_out(
667  FwIndexType portNum,
668  FwEventIdType Id
669  ) const;
670 
672  void PktSend_out(
673  FwIndexType portNum,
674  Fw::ComBuffer& data,
675  U32 context
676  ) const;
677 
679  void pingOut_out(
680  FwIndexType portNum,
681  U32 key
682  ) const;
683 
684  protected:
685 
686  // ----------------------------------------------------------------------
687  // Internal interface handlers
688  // ----------------------------------------------------------------------
689 
692  FwEventIdType id,
693  const Fw::Time& timeTag,
694  const Fw::LogSeverity& severity,
695  const Fw::LogBuffer& args
696  ) = 0;
697 
698  protected:
699 
700  // ----------------------------------------------------------------------
701  // Internal interface base-class functions
702  // ----------------------------------------------------------------------
703 
706  FwEventIdType id,
707  const Fw::Time& timeTag,
708  const Fw::LogSeverity& severity,
709  const Fw::LogBuffer& args
710  );
711 
712  protected:
713 
714  // ----------------------------------------------------------------------
715  // Command response
716  // ----------------------------------------------------------------------
717 
719  void cmdResponse_out(
720  FwOpcodeType opCode,
721  U32 cmdSeq,
722  Fw::CmdResponse response
723  );
724 
725  protected:
726 
727  // ----------------------------------------------------------------------
728  // Command handlers to implement
729  // ----------------------------------------------------------------------
730 
734  virtual void SET_EVENT_FILTER_cmdHandler(
735  FwOpcodeType opCode,
736  U32 cmdSeq,
737  const Svc::EventManager_FilterSeverity& filterLevel,
738  const Svc::EventManager_Enabled& filterEnabled
739  ) = 0;
740 
744  virtual void SET_ID_FILTER_cmdHandler(
745  FwOpcodeType opCode,
746  U32 cmdSeq,
747  FwEventIdType ID,
748  const Svc::EventManager_Enabled& idFilterEnabled
749  ) = 0;
750 
754  virtual void DUMP_FILTER_STATE_cmdHandler(
755  FwOpcodeType opCode,
756  U32 cmdSeq
757  ) = 0;
758 
759  protected:
760 
761  // ----------------------------------------------------------------------
762  // Command handler base-class functions
763  //
764  // Call these functions directly to bypass the command input port
765  // ----------------------------------------------------------------------
766 
771  FwOpcodeType opCode,
772  U32 cmdSeq,
773  Fw::CmdArgBuffer& args
774  );
775 
780  FwOpcodeType opCode,
781  U32 cmdSeq,
782  Fw::CmdArgBuffer& args
783  );
784 
789  FwOpcodeType opCode,
790  U32 cmdSeq,
791  Fw::CmdArgBuffer& args
792  );
793 
794  protected:
795 
796  // ----------------------------------------------------------------------
797  // Pre-message hooks for async commands
798  //
799  // Each of these functions is invoked just before processing the
800  // corresponding command. By default they do nothing. You can
801  // override them to provide specific pre-command behavior.
802  // ----------------------------------------------------------------------
803 
805  virtual void SET_ID_FILTER_preMsgHook(
806  FwOpcodeType opCode,
807  U32 cmdSeq
808  );
809 
811  virtual void DUMP_FILTER_STATE_preMsgHook(
812  FwOpcodeType opCode,
813  U32 cmdSeq
814  );
815 
816  protected:
817 
818  // ----------------------------------------------------------------------
819  // Event logging functions
820  // ----------------------------------------------------------------------
821 
826  const Svc::EventManager_FilterSeverity& severity,
827  bool enabled
828  ) const;
829 
834  FwEventIdType ID
835  ) const;
836 
841  FwEventIdType ID
842  ) const;
843 
848  FwEventIdType ID
849  ) const;
850 
855  FwEventIdType ID
856  ) const;
857 
858  protected:
859 
860  // ----------------------------------------------------------------------
861  // Telemetry serialized write
862  // ----------------------------------------------------------------------
863 
868  void tlmWrite(
869  FwChanIdType id,
870  Fw::TlmBuffer& _tlmBuff,
871  Fw::Time _tlmTime = Fw::Time()
872  ) const;
873 
874  protected:
875 
876  // ----------------------------------------------------------------------
877  // Telemetry write functions
878  // ----------------------------------------------------------------------
879 
884  FwSizeType arg,
885  Fw::Time _tlmTime = Fw::Time()
886  );
887 
888  protected:
889 
890  // ----------------------------------------------------------------------
891  // Time
892  // ----------------------------------------------------------------------
893 
897  Fw::Time getTime() const;
898 
899  private:
900 
901  // ----------------------------------------------------------------------
902  // Message dispatch functions
903  // ----------------------------------------------------------------------
904 
906  virtual MsgDispatchStatus doDispatch();
907 
908  private:
909 
910  // ----------------------------------------------------------------------
911  // Calls for messages received on special input ports
912  // ----------------------------------------------------------------------
913 
915  static void m_p_CmdDisp_in(
916  Fw::PassiveComponentBase* callComp,
917  FwIndexType portNum,
918  FwOpcodeType opCode,
919  U32 cmdSeq,
920  Fw::CmdArgBuffer& args
921  );
922 
923  private:
924 
925  // ----------------------------------------------------------------------
926  // Calls for messages received on typed input ports
927  // ----------------------------------------------------------------------
928 
930  static void m_p_LogRecv_in(
931  Fw::PassiveComponentBase* callComp,
932  FwIndexType portNum,
933  FwEventIdType id,
934  Fw::Time& timeTag,
935  const Fw::LogSeverity& severity,
936  Fw::LogBuffer& args
937  );
938 
940  static void m_p_pingIn_in(
941  Fw::PassiveComponentBase* callComp,
942  FwIndexType portNum,
943  U32 key
944  );
945 
947  static void m_p_run_in(
948  Fw::PassiveComponentBase* callComp,
949  FwIndexType portNum,
950  U32 context
951  );
952 
953  private:
954 
955  // ----------------------------------------------------------------------
956  // Invocation functions for special output ports
957  // ----------------------------------------------------------------------
958 
960  void CmdReg_out(
961  FwIndexType portNum,
962  FwOpcodeType opCode
963  ) const;
964 
966  void CmdStatus_out(
967  FwIndexType portNum,
968  FwOpcodeType opCode,
969  U32 cmdSeq,
970  const Fw::CmdResponse& response
971  ) const;
972 
974  void Log_out(
975  FwIndexType portNum,
976  FwEventIdType id,
977  Fw::Time& timeTag,
978  const Fw::LogSeverity& severity,
979  Fw::LogBuffer& args
980  ) const;
981 
982 #if FW_ENABLE_TEXT_LOGGING
983 
985  void LogText_out(
986  FwIndexType portNum,
987  FwEventIdType id,
988  Fw::Time& timeTag,
989  const Fw::LogSeverity& severity,
990  Fw::TextLogString& text
991  ) const;
992 
993 #endif
994 
996  void Time_out(
997  FwIndexType portNum,
998  Fw::Time& time
999  ) const;
1000 
1002  void Tlm_out(
1003  FwIndexType portNum,
1004  FwChanIdType id,
1005  Fw::Time& timeTag,
1006  Fw::TlmBuffer& val
1007  ) const;
1008 
1009 #if !FW_DIRECT_PORT_CALLS
1010 
1011  private:
1012 
1013  // ----------------------------------------------------------------------
1014  // Special input ports
1015  // ----------------------------------------------------------------------
1016 
1018  Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS];
1019 
1020 #endif
1021 
1022 #if !FW_DIRECT_PORT_CALLS
1023 
1024  private:
1025 
1026  // ----------------------------------------------------------------------
1027  // Typed input ports
1028  // ----------------------------------------------------------------------
1029 
1031  Fw::InputLogPort m_LogRecv_InputPort[NUM_LOGRECV_INPUT_PORTS];
1032 
1034  Svc::InputPingPort m_pingIn_InputPort[NUM_PINGIN_INPUT_PORTS];
1035 
1037  Svc::InputSchedPort m_run_InputPort[NUM_RUN_INPUT_PORTS];
1038 
1039 #endif
1040 
1041 #if !FW_DIRECT_PORT_CALLS
1042 
1043  private:
1044 
1045  // ----------------------------------------------------------------------
1046  // Special output ports
1047  // ----------------------------------------------------------------------
1048 
1050  Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS];
1051 
1053  Fw::OutputCmdResponsePort m_CmdStatus_OutputPort[NUM_CMDSTATUS_OUTPUT_PORTS];
1054 
1056  Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS];
1057 
1058 #if FW_ENABLE_TEXT_LOGGING == 1
1059 
1061  Fw::OutputLogTextPort m_LogText_OutputPort[NUM_LOGTEXT_OUTPUT_PORTS];
1062 
1063 #endif
1064 
1066  Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS];
1067 
1069  Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS];
1070 
1071 #endif
1072 
1073 #if !FW_DIRECT_PORT_CALLS
1074 
1075  private:
1076 
1077  // ----------------------------------------------------------------------
1078  // Typed output ports
1079  // ----------------------------------------------------------------------
1080 
1082  Svc::OutputFatalEventPort m_FatalAnnounce_OutputPort[NUM_FATALANNOUNCE_OUTPUT_PORTS];
1083 
1085  Fw::OutputComPort m_PktSend_OutputPort[NUM_PKTSEND_OUTPUT_PORTS];
1086 
1088  Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS];
1089 
1090 #endif
1091 
1092  private:
1093 
1094  // ----------------------------------------------------------------------
1095  // First update flags for telemetry channels
1096  // ----------------------------------------------------------------------
1097 
1099  bool m_first_update_EventsDropped = true;
1100 
1101  private:
1102 
1103  // ----------------------------------------------------------------------
1104  // Last value storage for telemetry channels
1105  // ----------------------------------------------------------------------
1106 
1108  FwSizeType m_last_EventsDropped = {};
1109 
1110  };
1111 
1112 }
1113 
1114 #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()
virtual void run_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port run.
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)
void init()
Object initializer.
Definition: ObjBase.cpp:24
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
void regCommands()
Register commands with the Command Dispatcher.
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.
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)
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.
Set filter for reporting events. Events are not stored in component.
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