F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
BufferLoggerComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title BufferLoggerComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for BufferLogger component base class
5 // ======================================================================
6 
7 #ifndef Svc_BufferLoggerComponentAc_HPP
8 #define Svc_BufferLoggerComponentAc_HPP
9 
10 #include <atomic>
11 
13 #include "Fw/Cmd/CmdPortAc.hpp"
14 #include "Fw/Cmd/CmdRegPortAc.hpp"
16 #include "Fw/Cmd/CmdString.hpp"
17 #include "Fw/Com/ComPortAc.hpp"
19 #include "Fw/FPrimeBasicTypes.hpp"
20 #include "Fw/Log/LogPortAc.hpp"
21 #include "Fw/Log/LogString.hpp"
22 #if FW_ENABLE_TEXT_LOGGING == 1
23 #include "Fw/Log/LogTextPortAc.hpp"
24 #endif
27 #include "Fw/Time/TimePortAc.hpp"
28 #include "Fw/Tlm/TlmPortAc.hpp"
29 #include "Fw/Tlm/TlmString.hpp"
31 #include "Svc/Ping/PingPortAc.hpp"
33 
34 namespace Svc {
35 
40  {
41 
42  // ----------------------------------------------------------------------
43  // Friend classes
44  // ----------------------------------------------------------------------
45 
47  friend class BufferLoggerTesterBase;
49  friend class BufferLoggerTester;
50 
51  protected:
52 
53  // ----------------------------------------------------------------------
54  // Constants
55  // ----------------------------------------------------------------------
56 
58  enum {
60  };
61 
63  enum {
68  };
69 
71  enum {
78  };
79 
81  enum {
84  };
85 
87  enum {
92  };
93 
95  enum {
103  };
104 
106  enum {
108  };
109 
110  public:
111 
112  // ----------------------------------------------------------------------
113  // Component initialization
114  // ----------------------------------------------------------------------
115 
117  void init(
118  FwSizeType queueDepth,
119  FwEnumStoreType instance = 0
120  );
121 
122  public:
123 
124  // ----------------------------------------------------------------------
125  // Getters for special input ports
126  // ----------------------------------------------------------------------
127 
132  FwIndexType portNum
133  );
134 
135  public:
136 
137  // ----------------------------------------------------------------------
138  // Getters for typed input ports
139  // ----------------------------------------------------------------------
140 
145  FwIndexType portNum
146  );
147 
152  FwIndexType portNum
153  );
154 
159  FwIndexType portNum
160  );
161 
166  FwIndexType portNum
167  );
168 
169  public:
170 
171  // ----------------------------------------------------------------------
172  // Connect input ports to special output ports
173  // ----------------------------------------------------------------------
174 
177  FwIndexType portNum,
178  Fw::InputCmdRegPort* port
179  );
180 
183  FwIndexType portNum,
185  );
186 
189  FwIndexType portNum,
190  Fw::InputLogPort* port
191  );
192 
193 #if FW_ENABLE_TEXT_LOGGING == 1
194 
196  void set_eventOutText_OutputPort(
197  FwIndexType portNum,
198  Fw::InputLogTextPort* port
199  );
200 
201 #endif
202 
205  FwIndexType portNum,
206  Fw::InputTimePort* port
207  );
208 
211  FwIndexType portNum,
212  Fw::InputTlmPort* port
213  );
214 
215  public:
216 
217  // ----------------------------------------------------------------------
218  // Connect typed input ports to typed output ports
219  // ----------------------------------------------------------------------
220 
223  FwIndexType portNum,
225  );
226 
229  FwIndexType portNum,
230  Svc::InputPingPort* port
231  );
232 
233 #if FW_PORT_SERIALIZATION
234 
235  public:
236 
237  // ----------------------------------------------------------------------
238  // Connect serial input ports to special output ports
239  // ----------------------------------------------------------------------
240 
243  FwIndexType portNum,
244  Fw::InputSerializePort* port
245  );
246 
249  FwIndexType portNum,
250  Fw::InputSerializePort* port
251  );
252 
255  FwIndexType portNum,
256  Fw::InputSerializePort* port
257  );
258 
259 #if FW_ENABLE_TEXT_LOGGING == 1
260 
262  void set_eventOutText_OutputPort(
263  FwIndexType portNum,
264  Fw::InputSerializePort* port
265  );
266 
267 #endif
268 
271  FwIndexType portNum,
272  Fw::InputSerializePort* port
273  );
274 
277  FwIndexType portNum,
278  Fw::InputSerializePort* port
279  );
280 
281 #endif
282 
283 #if FW_PORT_SERIALIZATION
284 
285  public:
286 
287  // ----------------------------------------------------------------------
288  // Connect serial input ports to typed output ports
289  // ----------------------------------------------------------------------
290 
293  FwIndexType portNum,
294  Fw::InputSerializePort* port
295  );
296 
299  FwIndexType portNum,
300  Fw::InputSerializePort* port
301  );
302 
303 #endif
304 
305  public:
306 
307  // ----------------------------------------------------------------------
308  // Command registration
309  // ----------------------------------------------------------------------
310 
314  void regCommands();
315 
316  protected:
317 
318  // ----------------------------------------------------------------------
319  // Component construction and destruction
320  // ----------------------------------------------------------------------
321 
324  const char* compName = ""
325  );
326 
328  virtual ~BufferLoggerComponentBase();
329 
330  protected:
331 
332  // ----------------------------------------------------------------------
333  // Getters for numbers of special input ports
334  // ----------------------------------------------------------------------
335 
340  return NUM_CMDIN_INPUT_PORTS;
341  }
342 
343  protected:
344 
345  // ----------------------------------------------------------------------
346  // Getters for numbers of typed input ports
347  // ----------------------------------------------------------------------
348 
354  }
355 
360  return NUM_COMIN_INPUT_PORTS;
361  }
362 
367  return NUM_PINGIN_INPUT_PORTS;
368  }
369 
375  }
376 
377  protected:
378 
379  // ----------------------------------------------------------------------
380  // Getters for numbers of special output ports
381  // ----------------------------------------------------------------------
382 
388  }
389 
395  }
396 
402  }
403 
404 #if FW_ENABLE_TEXT_LOGGING == 1
405 
409  static constexpr FwIndexType getNum_eventOutText_OutputPorts() {
411  }
412 
413 #endif
414 
420  }
421 
427  }
428 
429  protected:
430 
431  // ----------------------------------------------------------------------
432  // Getters for numbers of typed output ports
433  // ----------------------------------------------------------------------
434 
440  }
441 
447  }
448 
449  protected:
450 
451  // ----------------------------------------------------------------------
452  // Connection status queries for special output ports
453  // ----------------------------------------------------------------------
454 
459  FwIndexType portNum
460  );
461 
466  FwIndexType portNum
467  );
468 
473  FwIndexType portNum
474  );
475 
476 #if FW_ENABLE_TEXT_LOGGING == 1
477 
481  bool isConnected_eventOutText_OutputPort(
482  FwIndexType portNum
483  );
484 
485 #endif
486 
491  FwIndexType portNum
492  );
493 
498  FwIndexType portNum
499  );
500 
501  protected:
502 
503  // ----------------------------------------------------------------------
504  // Connection status queries for typed output ports
505  // ----------------------------------------------------------------------
506 
511  FwIndexType portNum
512  );
513 
518  FwIndexType portNum
519  );
520 
521  protected:
522 
523  // ----------------------------------------------------------------------
524  // Handlers to implement for typed input ports
525  // ----------------------------------------------------------------------
526 
528  virtual void bufferSendIn_handler(
529  FwIndexType portNum,
530  Fw::Buffer& fwBuffer
531  ) = 0;
532 
534  virtual void comIn_handler(
535  FwIndexType portNum,
536  Fw::ComBuffer& data,
537  U32 context
538  ) = 0;
539 
541  virtual void pingIn_handler(
542  FwIndexType portNum,
543  U32 key
544  ) = 0;
545 
547  virtual void schedIn_handler(
548  FwIndexType portNum,
549  U32 context
550  ) = 0;
551 
552  protected:
553 
554  // ----------------------------------------------------------------------
555  // Port handler base-class functions for typed input ports
556  //
557  // Call these functions directly to bypass the corresponding ports
558  // ----------------------------------------------------------------------
559 
562  FwIndexType portNum,
563  Fw::Buffer& fwBuffer
564  );
565 
567  void comIn_handlerBase(
568  FwIndexType portNum,
569  Fw::ComBuffer& data,
570  U32 context
571  );
572 
574  void pingIn_handlerBase(
575  FwIndexType portNum,
576  U32 key
577  );
578 
580  void schedIn_handlerBase(
581  FwIndexType portNum,
582  U32 context
583  );
584 
585  protected:
586 
587  // ----------------------------------------------------------------------
588  // Pre-message hooks for typed async input ports
589  //
590  // Each of these functions is invoked just before processing a message
591  // on the corresponding port. By default, they do nothing. You can
592  // override them to provide specific pre-message behavior.
593  // ----------------------------------------------------------------------
594 
596  virtual void bufferSendIn_preMsgHook(
597  FwIndexType portNum,
598  Fw::Buffer& fwBuffer
599  );
600 
602  virtual void comIn_preMsgHook(
603  FwIndexType portNum,
604  Fw::ComBuffer& data,
605  U32 context
606  );
607 
609  virtual void pingIn_preMsgHook(
610  FwIndexType portNum,
611  U32 key
612  );
613 
615  virtual void schedIn_preMsgHook(
616  FwIndexType portNum,
617  U32 context
618  );
619 
620  protected:
621 
622  // ----------------------------------------------------------------------
623  // Invocation functions for typed output ports
624  // ----------------------------------------------------------------------
625 
627  void bufferSendOut_out(
628  FwIndexType portNum,
629  Fw::Buffer& fwBuffer
630  );
631 
633  void pingOut_out(
634  FwIndexType portNum,
635  U32 key
636  );
637 
638  protected:
639 
640  // ----------------------------------------------------------------------
641  // Command response
642  // ----------------------------------------------------------------------
643 
645  void cmdResponse_out(
646  FwOpcodeType opCode,
647  U32 cmdSeq,
648  Fw::CmdResponse response
649  );
650 
651  protected:
652 
653  // ----------------------------------------------------------------------
654  // Command handlers to implement
655  // ----------------------------------------------------------------------
656 
660  virtual void BL_OpenFile_cmdHandler(
661  FwOpcodeType opCode,
662  U32 cmdSeq,
663  const Fw::CmdStringArg& file
664  ) = 0;
665 
669  virtual void BL_CloseFile_cmdHandler(
670  FwOpcodeType opCode,
671  U32 cmdSeq
672  ) = 0;
673 
677  virtual void BL_SetLogging_cmdHandler(
678  FwOpcodeType opCode,
679  U32 cmdSeq,
681  ) = 0;
682 
686  virtual void BL_FlushFile_cmdHandler(
687  FwOpcodeType opCode,
688  U32 cmdSeq
689  ) = 0;
690 
691  protected:
692 
693  // ----------------------------------------------------------------------
694  // Command handler base-class functions
695  //
696  // Call these functions directly to bypass the command input port
697  // ----------------------------------------------------------------------
698 
703  FwOpcodeType opCode,
704  U32 cmdSeq,
705  Fw::CmdArgBuffer& args
706  );
707 
712  FwOpcodeType opCode,
713  U32 cmdSeq,
714  Fw::CmdArgBuffer& args
715  );
716 
721  FwOpcodeType opCode,
722  U32 cmdSeq,
723  Fw::CmdArgBuffer& args
724  );
725 
730  FwOpcodeType opCode,
731  U32 cmdSeq,
732  Fw::CmdArgBuffer& args
733  );
734 
735  protected:
736 
737  // ----------------------------------------------------------------------
738  // Pre-message hooks for async commands
739  //
740  // Each of these functions is invoked just before processing the
741  // corresponding command. By default they do nothing. You can
742  // override them to provide specific pre-command behavior.
743  // ----------------------------------------------------------------------
744 
746  virtual void BL_OpenFile_preMsgHook(
747  FwOpcodeType opCode,
748  U32 cmdSeq
749  );
750 
752  virtual void BL_CloseFile_preMsgHook(
753  FwOpcodeType opCode,
754  U32 cmdSeq
755  );
756 
758  virtual void BL_SetLogging_preMsgHook(
759  FwOpcodeType opCode,
760  U32 cmdSeq
761  );
762 
764  virtual void BL_FlushFile_preMsgHook(
765  FwOpcodeType opCode,
766  U32 cmdSeq
767  );
768 
769  protected:
770 
771  // ----------------------------------------------------------------------
772  // Event logging functions
773  // ----------------------------------------------------------------------
774 
779  const Fw::StringBase& file
780  ) const;
781 
786  U32 errornum,
787  const Fw::StringBase& file
788  ) const;
789 
794  const Fw::StringBase& validationFile,
795  U32 status
796  ) const;
797 
802  U32 errornum,
803  U32 bytesWritten,
804  U32 bytesToWrite,
805  const Fw::StringBase& file
806  ) const;
807 
811  void log_ACTIVITY_LO_BL_Activated() const;
812 
816  void log_ACTIVITY_LO_BL_Deactivated() const;
817 
822 
823  protected:
824 
825  // ----------------------------------------------------------------------
826  // Telemetry write functions
827  // ----------------------------------------------------------------------
828 
833  U32 arg,
834  Fw::Time _tlmTime = Fw::Time()
835  ) const;
836 
837  protected:
838 
839  // ----------------------------------------------------------------------
840  // Time
841  // ----------------------------------------------------------------------
842 
846  Fw::Time getTime() const;
847 
848  private:
849 
850  // ----------------------------------------------------------------------
851  // Message dispatch functions
852  // ----------------------------------------------------------------------
853 
855  virtual MsgDispatchStatus doDispatch();
856 
857  private:
858 
859  // ----------------------------------------------------------------------
860  // Calls for messages received on special input ports
861  // ----------------------------------------------------------------------
862 
864  static void m_p_cmdIn_in(
865  Fw::PassiveComponentBase* callComp,
866  FwIndexType portNum,
867  FwOpcodeType opCode,
868  U32 cmdSeq,
869  Fw::CmdArgBuffer& args
870  );
871 
872  private:
873 
874  // ----------------------------------------------------------------------
875  // Calls for messages received on typed input ports
876  // ----------------------------------------------------------------------
877 
879  static void m_p_bufferSendIn_in(
880  Fw::PassiveComponentBase* callComp,
881  FwIndexType portNum,
882  Fw::Buffer& fwBuffer
883  );
884 
886  static void m_p_comIn_in(
887  Fw::PassiveComponentBase* callComp,
888  FwIndexType portNum,
889  Fw::ComBuffer& data,
890  U32 context
891  );
892 
894  static void m_p_pingIn_in(
895  Fw::PassiveComponentBase* callComp,
896  FwIndexType portNum,
897  U32 key
898  );
899 
901  static void m_p_schedIn_in(
902  Fw::PassiveComponentBase* callComp,
903  FwIndexType portNum,
904  U32 context
905  );
906 
907  private:
908 
909  // ----------------------------------------------------------------------
910  // Special input ports
911  // ----------------------------------------------------------------------
912 
914  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
915 
916  private:
917 
918  // ----------------------------------------------------------------------
919  // Typed input ports
920  // ----------------------------------------------------------------------
921 
923  Fw::InputBufferSendPort m_bufferSendIn_InputPort[NUM_BUFFERSENDIN_INPUT_PORTS];
924 
926  Fw::InputComPort m_comIn_InputPort[NUM_COMIN_INPUT_PORTS];
927 
929  Svc::InputPingPort m_pingIn_InputPort[NUM_PINGIN_INPUT_PORTS];
930 
932  Svc::InputSchedPort m_schedIn_InputPort[NUM_SCHEDIN_INPUT_PORTS];
933 
934  private:
935 
936  // ----------------------------------------------------------------------
937  // Special output ports
938  // ----------------------------------------------------------------------
939 
941  Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS];
942 
944  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
945 
947  Fw::OutputLogPort m_eventOut_OutputPort[NUM_EVENTOUT_OUTPUT_PORTS];
948 
949 #if FW_ENABLE_TEXT_LOGGING == 1
950 
952  Fw::OutputLogTextPort m_eventOutText_OutputPort[NUM_EVENTOUTTEXT_OUTPUT_PORTS];
953 
954 #endif
955 
957  Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS];
958 
960  Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS];
961 
962  private:
963 
964  // ----------------------------------------------------------------------
965  // Typed output ports
966  // ----------------------------------------------------------------------
967 
969  Fw::OutputBufferSendPort m_bufferSendOut_OutputPort[NUM_BUFFERSENDOUT_OUTPUT_PORTS];
970 
972  Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS];
973 
974  };
975 
976 }
977 
978 #endif
void BL_SetLogging_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void regCommands()
Register commands with the Command Dispatcher.
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
FwIdType FwOpcodeType
The type of a command opcode.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
PlatformSizeType FwSizeType
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
I32 FwEnumStoreType
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
static constexpr FwIndexType getNum_pingIn_InputPorts()
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
virtual void BL_SetLogging_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_SetLogging.
virtual void BL_CloseFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_CloseFile.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
virtual void BL_SetLogging_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferLogger_LogState state)=0
virtual void BL_OpenFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_OpenFile.
virtual void BL_FlushFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_FlushFile.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
void BL_OpenFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
The Buffer Logger encountered an error writing to a log file.
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
The Buffer Logger encountered an error opening a log file.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void log_DIAGNOSTIC_BL_LogFileClosed(const Fw::StringBase &file) const
Enum representing a command response.
The Buffer Logger encountered an error writing a validation file.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
void init()
Object initializer.
Definition: ObjBase.cpp:24
virtual void comIn_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port comIn.
void log_WARNING_HI_BL_LogFileOpenError(U32 errornum, const Fw::StringBase &file) const
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum)
virtual void comIn_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port comIn.
static constexpr FwIndexType getNum_schedIn_InputPorts()
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Auto-generated base for BufferLogger component.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
No log file open command was received by BufferLogger.
void tlmWrite_BufferLogger_NumLoggedBuffers(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
Open a new log file with specified name; also resets unique file counter to 0.
virtual void BL_FlushFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void BL_CloseFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_BL_LogFileWriteError(U32 errornum, U32 bytesWritten, U32 bytesToWrite, const Fw::StringBase &file) const
BufferLoggerComponentBase(const char *compName="")
Construct BufferLoggerComponentBase object.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
friend class BufferLoggerTesterBase
Friend class tester to support autocoded test harness.
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_eventOut_OutputPorts()
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Fw::InputComPort * get_comIn_InputPort(FwIndexType portNum)
void comIn_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port comIn.
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
virtual ~BufferLoggerComponentBase()
Destroy BufferLoggerComponentBase object.
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
Flushes the current open log file to disk; a no-op with fprime&#39;s unbuffered file I/O, so always returns success.
RateGroupDivider component implementation.
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
void BL_FlushFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
friend class BufferLoggerTester
Friend class tester implementation to support white-box testing.
static constexpr FwIndexType getNum_bufferSendIn_InputPorts()
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_comIn_InputPorts()
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
virtual void BL_CloseFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
virtual void BL_OpenFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &file)=0
Close the currently open log file, if any.
void log_WARNING_HI_BL_LogFileValidationError(const Fw::StringBase &validationFile, U32 status) const
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].