F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
ComQueueComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title ComQueueComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for ComQueue component base class
5 // ======================================================================
6 
7 #ifndef Svc_ComQueueComponentAc_HPP
8 #define Svc_ComQueueComponentAc_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
28 #include "Fw/Time/TimePortAc.hpp"
29 #include "Fw/Tlm/TlmPortAc.hpp"
30 #include "Fw/Tlm/TlmString.hpp"
37 
38 namespace Svc {
39 
46  {
47 
48  // ----------------------------------------------------------------------
49  // Friend classes
50  // ----------------------------------------------------------------------
51 
53  friend class ComQueueTesterBase;
55  friend class ComQueueTester;
56 
57  protected:
58 
59  // ----------------------------------------------------------------------
60  // Constants
61  // ----------------------------------------------------------------------
62 
64  enum {
66  };
67 
69  enum {
75  };
76 
78  enum {
85  };
86 
88  enum {
91  };
92 
94  enum {
100  };
101 
103  enum {
106  };
107 
109  enum {
112  };
113 
114  public:
115 
116  // ----------------------------------------------------------------------
117  // Component initialization
118  // ----------------------------------------------------------------------
119 
121  void init(
122  FwSizeType queueDepth,
123  FwEnumStoreType instance = 0
124  );
125 
126  public:
127 
128  // ----------------------------------------------------------------------
129  // Getters for special input ports
130  // ----------------------------------------------------------------------
131 
136  FwIndexType portNum
137  );
138 
139  public:
140 
141  // ----------------------------------------------------------------------
142  // Getters for typed input ports
143  // ----------------------------------------------------------------------
144 
149  FwIndexType portNum
150  );
151 
156  FwIndexType portNum
157  );
158 
163  FwIndexType portNum
164  );
165 
170  FwIndexType portNum
171  );
172 
177  FwIndexType portNum
178  );
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  public:
227 
228  // ----------------------------------------------------------------------
229  // Connect typed input ports to typed output ports
230  // ----------------------------------------------------------------------
231 
234  FwIndexType portNum,
236  );
237 
240  FwIndexType portNum,
242  );
243 
244 #if FW_PORT_SERIALIZATION
245 
246  public:
247 
248  // ----------------------------------------------------------------------
249  // Connect serial input ports to special output ports
250  // ----------------------------------------------------------------------
251 
254  FwIndexType portNum,
255  Fw::InputSerializePort* port
256  );
257 
260  FwIndexType portNum,
261  Fw::InputSerializePort* port
262  );
263 
265  void set_Log_OutputPort(
266  FwIndexType portNum,
267  Fw::InputSerializePort* port
268  );
269 
270 #if FW_ENABLE_TEXT_LOGGING == 1
271 
273  void set_LogText_OutputPort(
274  FwIndexType portNum,
275  Fw::InputSerializePort* port
276  );
277 
278 #endif
279 
281  void set_Time_OutputPort(
282  FwIndexType portNum,
283  Fw::InputSerializePort* port
284  );
285 
287  void set_Tlm_OutputPort(
288  FwIndexType portNum,
289  Fw::InputSerializePort* port
290  );
291 
292 #endif
293 
294 #if FW_PORT_SERIALIZATION
295 
296  public:
297 
298  // ----------------------------------------------------------------------
299  // Connect serial input ports to typed output ports
300  // ----------------------------------------------------------------------
301 
304  FwIndexType portNum,
305  Fw::InputSerializePort* port
306  );
307 
310  FwIndexType portNum,
311  Fw::InputSerializePort* port
312  );
313 
314 #endif
315 
316  public:
317 
318  // ----------------------------------------------------------------------
319  // Command registration
320  // ----------------------------------------------------------------------
321 
325  void regCommands();
326 
327  protected:
328 
329  // ----------------------------------------------------------------------
330  // Component construction and destruction
331  // ----------------------------------------------------------------------
332 
335  const char* compName = ""
336  );
337 
339  virtual ~ComQueueComponentBase();
340 
341  protected:
342 
343  // ----------------------------------------------------------------------
344  // Getters for numbers of special input ports
345  // ----------------------------------------------------------------------
346 
352  }
353 
354  protected:
355 
356  // ----------------------------------------------------------------------
357  // Getters for numbers of typed input ports
358  // ----------------------------------------------------------------------
359 
365  }
366 
372  }
373 
379  }
380 
386  }
387 
391  static constexpr FwIndexType getNum_run_InputPorts() {
392  return NUM_RUN_INPUT_PORTS;
393  }
394 
395  protected:
396 
397  // ----------------------------------------------------------------------
398  // Getters for numbers of special output ports
399  // ----------------------------------------------------------------------
400 
406  }
407 
413  }
414 
418  static constexpr FwIndexType getNum_Log_OutputPorts() {
419  return NUM_LOG_OUTPUT_PORTS;
420  }
421 
422 #if FW_ENABLE_TEXT_LOGGING == 1
423 
427  static constexpr FwIndexType getNum_LogText_OutputPorts() {
429  }
430 
431 #endif
432 
437  return NUM_TIME_OUTPUT_PORTS;
438  }
439 
443  static constexpr FwIndexType getNum_Tlm_OutputPorts() {
444  return NUM_TLM_OUTPUT_PORTS;
445  }
446 
447  protected:
448 
449  // ----------------------------------------------------------------------
450  // Getters for numbers of typed output ports
451  // ----------------------------------------------------------------------
452 
458  }
459 
465  }
466 
467  protected:
468 
469  // ----------------------------------------------------------------------
470  // Connection status queries for special output ports
471  // ----------------------------------------------------------------------
472 
477  FwIndexType portNum
478  );
479 
484  FwIndexType portNum
485  );
486 
491  FwIndexType portNum
492  );
493 
494 #if FW_ENABLE_TEXT_LOGGING == 1
495 
499  bool isConnected_LogText_OutputPort(
500  FwIndexType portNum
501  );
502 
503 #endif
504 
509  FwIndexType portNum
510  );
511 
516  FwIndexType portNum
517  );
518 
519  protected:
520 
521  // ----------------------------------------------------------------------
522  // Connection status queries for typed output ports
523  // ----------------------------------------------------------------------
524 
529  FwIndexType portNum
530  );
531 
536  FwIndexType portNum
537  );
538 
539  protected:
540 
541  // ----------------------------------------------------------------------
542  // Handlers to implement for typed input ports
543  // ----------------------------------------------------------------------
544 
546  virtual void bufferQueueIn_handler(
547  FwIndexType portNum,
548  Fw::Buffer& fwBuffer
549  ) = 0;
550 
552  virtual void comPacketQueueIn_handler(
553  FwIndexType portNum,
554  Fw::ComBuffer& data,
555  U32 context
556  ) = 0;
557 
559  virtual void comStatusIn_handler(
560  FwIndexType portNum,
561  Fw::Success& condition
562  ) = 0;
563 
565  virtual void dataReturnIn_handler(
566  FwIndexType portNum,
567  Fw::Buffer& data,
568  const ComCfg::FrameContext& context
569  ) = 0;
570 
572  virtual void run_handler(
573  FwIndexType portNum,
574  U32 context
575  ) = 0;
576 
577  protected:
578 
579  // ----------------------------------------------------------------------
580  // Port handler base-class functions for typed input ports
581  //
582  // Call these functions directly to bypass the corresponding ports
583  // ----------------------------------------------------------------------
584 
587  FwIndexType portNum,
588  Fw::Buffer& fwBuffer
589  );
590 
593  FwIndexType portNum,
594  Fw::ComBuffer& data,
595  U32 context
596  );
597 
600  FwIndexType portNum,
601  Fw::Success& condition
602  );
603 
606  FwIndexType portNum,
607  Fw::Buffer& data,
608  const ComCfg::FrameContext& context
609  );
610 
612  void run_handlerBase(
613  FwIndexType portNum,
614  U32 context
615  );
616 
617  protected:
618 
619  // ----------------------------------------------------------------------
620  // Pre-message hooks for typed async input ports
621  //
622  // Each of these functions is invoked just before processing a message
623  // on the corresponding port. By default, they do nothing. You can
624  // override them to provide specific pre-message behavior.
625  // ----------------------------------------------------------------------
626 
628  virtual void bufferQueueIn_preMsgHook(
629  FwIndexType portNum,
630  Fw::Buffer& fwBuffer
631  );
632 
634  virtual void comPacketQueueIn_preMsgHook(
635  FwIndexType portNum,
636  Fw::ComBuffer& data,
637  U32 context
638  );
639 
641  virtual void comStatusIn_preMsgHook(
642  FwIndexType portNum,
643  Fw::Success& condition
644  );
645 
647  virtual void run_preMsgHook(
648  FwIndexType portNum,
649  U32 context
650  );
651 
652  protected:
653 
654  // ----------------------------------------------------------------------
655  // Hooks for typed async input ports
656  //
657  // Each of these functions is invoked when placing a message on the
658  // queue would cause the queue to overlow. You should override them to provide
659  // specific overflow behavior.
660  // ----------------------------------------------------------------------
661 
663  virtual void bufferQueueIn_overflowHook(
664  FwIndexType portNum,
665  Fw::Buffer& fwBuffer
666  ) = 0;
667 
668  protected:
669 
670  // ----------------------------------------------------------------------
671  // Invocation functions for typed output ports
672  // ----------------------------------------------------------------------
673 
675  void bufferReturnOut_out(
676  FwIndexType portNum,
677  Fw::Buffer& fwBuffer
678  );
679 
681  void dataOut_out(
682  FwIndexType portNum,
683  Fw::Buffer& data,
684  const ComCfg::FrameContext& context
685  );
686 
687  protected:
688 
689  // ----------------------------------------------------------------------
690  // Command response
691  // ----------------------------------------------------------------------
692 
694  void cmdResponse_out(
695  FwOpcodeType opCode,
696  U32 cmdSeq,
697  Fw::CmdResponse response
698  );
699 
700  protected:
701 
702  // ----------------------------------------------------------------------
703  // Command handlers to implement
704  // ----------------------------------------------------------------------
705 
710  virtual void FLUSH_QUEUE_cmdHandler(
711  FwOpcodeType opCode,
712  U32 cmdSeq,
713  Svc::QueueType queueType,
714  FwIndexType indexType
715  ) = 0;
716 
721  virtual void FLUSH_ALL_QUEUES_cmdHandler(
722  FwOpcodeType opCode,
723  U32 cmdSeq
724  ) = 0;
725 
729  virtual void SET_QUEUE_PRIORITY_cmdHandler(
730  FwOpcodeType opCode,
731  U32 cmdSeq,
732  Svc::QueueType queueType,
733  FwIndexType indexType,
734  FwIndexType newPriority
735  ) = 0;
736 
737  protected:
738 
739  // ----------------------------------------------------------------------
740  // Command handler base-class functions
741  //
742  // Call these functions directly to bypass the command input port
743  // ----------------------------------------------------------------------
744 
750  FwOpcodeType opCode,
751  U32 cmdSeq,
752  Fw::CmdArgBuffer& args
753  );
754 
760  FwOpcodeType opCode,
761  U32 cmdSeq,
762  Fw::CmdArgBuffer& args
763  );
764 
769  FwOpcodeType opCode,
770  U32 cmdSeq,
771  Fw::CmdArgBuffer& args
772  );
773 
774  protected:
775 
776  // ----------------------------------------------------------------------
777  // Pre-message hooks for async commands
778  //
779  // Each of these functions is invoked just before processing the
780  // corresponding command. By default they do nothing. You can
781  // override them to provide specific pre-command behavior.
782  // ----------------------------------------------------------------------
783 
785  virtual void FLUSH_QUEUE_preMsgHook(
786  FwOpcodeType opCode,
787  U32 cmdSeq
788  );
789 
791  virtual void FLUSH_ALL_QUEUES_preMsgHook(
792  FwOpcodeType opCode,
793  U32 cmdSeq
794  );
795 
797  virtual void SET_QUEUE_PRIORITY_preMsgHook(
798  FwOpcodeType opCode,
799  U32 cmdSeq
800  );
801 
802  protected:
803 
804  // ----------------------------------------------------------------------
805  // Event logging functions
806  // ----------------------------------------------------------------------
807 
812  Svc::QueueType queueType,
813  FwIndexType index
814  ) const;
815 
820  Svc::QueueType queueType,
821  FwIndexType indexType,
822  FwIndexType newPriority
823  ) const;
824 
825  protected:
826 
827  // ----------------------------------------------------------------------
828  // Telemetry write functions
829  // ----------------------------------------------------------------------
830 
835  const Svc::ComQueueDepth& arg,
836  Fw::Time _tlmTime = Fw::Time()
837  ) const;
838 
843  const Svc::BuffQueueDepth& arg,
844  Fw::Time _tlmTime = Fw::Time()
845  ) const;
846 
847  protected:
848 
849  // ----------------------------------------------------------------------
850  // Time
851  // ----------------------------------------------------------------------
852 
856  Fw::Time getTime() const;
857 
858  private:
859 
860  // ----------------------------------------------------------------------
861  // Message dispatch functions
862  // ----------------------------------------------------------------------
863 
865  virtual MsgDispatchStatus doDispatch();
866 
867  private:
868 
869  // ----------------------------------------------------------------------
870  // Calls for messages received on special input ports
871  // ----------------------------------------------------------------------
872 
874  static void m_p_CmdDisp_in(
875  Fw::PassiveComponentBase* callComp,
876  FwIndexType portNum,
877  FwOpcodeType opCode,
878  U32 cmdSeq,
879  Fw::CmdArgBuffer& args
880  );
881 
882  private:
883 
884  // ----------------------------------------------------------------------
885  // Calls for messages received on typed input ports
886  // ----------------------------------------------------------------------
887 
889  static void m_p_bufferQueueIn_in(
890  Fw::PassiveComponentBase* callComp,
891  FwIndexType portNum,
892  Fw::Buffer& fwBuffer
893  );
894 
896  static void m_p_comPacketQueueIn_in(
897  Fw::PassiveComponentBase* callComp,
898  FwIndexType portNum,
899  Fw::ComBuffer& data,
900  U32 context
901  );
902 
904  static void m_p_comStatusIn_in(
905  Fw::PassiveComponentBase* callComp,
906  FwIndexType portNum,
907  Fw::Success& condition
908  );
909 
911  static void m_p_dataReturnIn_in(
912  Fw::PassiveComponentBase* callComp,
913  FwIndexType portNum,
914  Fw::Buffer& data,
915  const ComCfg::FrameContext& context
916  );
917 
919  static void m_p_run_in(
920  Fw::PassiveComponentBase* callComp,
921  FwIndexType portNum,
922  U32 context
923  );
924 
925  private:
926 
927  // ----------------------------------------------------------------------
928  // Special input ports
929  // ----------------------------------------------------------------------
930 
932  Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS];
933 
934  private:
935 
936  // ----------------------------------------------------------------------
937  // Typed input ports
938  // ----------------------------------------------------------------------
939 
941  Fw::InputBufferSendPort m_bufferQueueIn_InputPort[NUM_BUFFERQUEUEIN_INPUT_PORTS];
942 
944  Fw::InputComPort m_comPacketQueueIn_InputPort[NUM_COMPACKETQUEUEIN_INPUT_PORTS];
945 
948 
951 
953  Svc::InputSchedPort m_run_InputPort[NUM_RUN_INPUT_PORTS];
954 
955  private:
956 
957  // ----------------------------------------------------------------------
958  // Special output ports
959  // ----------------------------------------------------------------------
960 
962  Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS];
963 
966 
968  Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS];
969 
970 #if FW_ENABLE_TEXT_LOGGING == 1
971 
973  Fw::OutputLogTextPort m_LogText_OutputPort[NUM_LOGTEXT_OUTPUT_PORTS];
974 
975 #endif
976 
978  Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS];
979 
981  Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS];
982 
983  private:
984 
985  // ----------------------------------------------------------------------
986  // Typed output ports
987  // ----------------------------------------------------------------------
988 
990  Fw::OutputBufferSendPort m_bufferReturnOut_OutputPort[NUM_BUFFERRETURNOUT_OUTPUT_PORTS];
991 
994 
995  };
996 
997 }
998 
999 #endif
virtual void comStatusIn_handler(FwIndexType portNum, Fw::Success &condition)=0
Handler for input port comStatusIn.
static constexpr FwIndexType getNum_Tlm_OutputPorts()
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual ~ComQueueComponentBase()
Destroy ComQueueComponentBase object.
void FLUSH_QUEUE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_dataReturnIn_InputPorts()
static constexpr FwIndexType getNum_bufferReturnOut_OutputPorts()
PlatformSizeType FwSizeType
void tlmWrite_buffQueueDepth(const Svc::BuffQueueDepth &arg, Fw::Time _tlmTime=Fw::Time()) const
I32 FwEnumStoreType
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
static constexpr FwIndexType getNum_CmdDisp_InputPorts()
virtual void FLUSH_ALL_QUEUES_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command FLUSH_ALL_QUEUES.
static constexpr FwIndexType getNum_CmdReg_OutputPorts()
virtual void FLUSH_QUEUE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::QueueType queueType, FwIndexType indexType)=0
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataReturnIn.
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port dataOut.
virtual void SET_QUEUE_PRIORITY_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::QueueType queueType, FwIndexType indexType, FwIndexType newPriority)=0
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataReturnIn.
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
Svc::InputSchedPort * get_run_InputPort(FwIndexType portNum)
void log_ACTIVITY_HI_QueuePriorityChanged(Svc::QueueType queueType, FwIndexType indexType, FwIndexType newPriority) const
virtual void FLUSH_ALL_QUEUES_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_comPacketQueueIn_InputPorts()
void set_bufferReturnOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferReturnOut[portNum].
bool isConnected_bufferReturnOut_OutputPort(FwIndexType portNum)
Enum representing a command response.
virtual void FLUSH_QUEUE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command FLUSH_QUEUE.
void set_dataOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataOut[portNum].
void FLUSH_ALL_QUEUES_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Array of queue depths for Fw::Com types.
An enumeration of queue data types.
bool isConnected_Log_OutputPort(FwIndexType portNum)
void init()
Object initializer.
Definition: ObjBase.cpp:24
void SET_QUEUE_PRIORITY_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void comStatusIn_handlerBase(FwIndexType portNum, Fw::Success &condition)
Handler base-class function for input port comStatusIn.
void log_WARNING_HI_QueueOverflow(Svc::QueueType queueType, FwIndexType index) const
virtual void bufferQueueIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferQueueIn.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
bool isConnected_Time_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
virtual void run_handler(FwIndexType portNum, U32 context)=0
Handler for input port run.
void run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port run.
Set the priority of a specific queue at runtime.
static constexpr FwIndexType getNum_bufferQueueIn_InputPorts()
Array of queue depths for Fw::Buffer types.
virtual void run_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port run.
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
Fw::InputComPort * get_comPacketQueueIn_InputPort(FwIndexType portNum)
virtual void bufferQueueIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferQueueIn.
virtual void comPacketQueueIn_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port comPacketQueueIn.
void comPacketQueueIn_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port comPacketQueueIn.
Svc::InputComDataWithContextPort * get_dataReturnIn_InputPort(FwIndexType portNum)
virtual void SET_QUEUE_PRIORITY_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SET_QUEUE_PRIORITY.
virtual void comPacketQueueIn_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port comPacketQueueIn.
Fw::InputBufferSendPort * get_bufferQueueIn_InputPort(FwIndexType portNum)
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_dataOut_OutputPorts()
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_comStatusIn_InputPorts()
static constexpr FwIndexType getNum_Log_OutputPorts()
Fw::InputSuccessConditionPort * get_comStatusIn_InputPort(FwIndexType portNum)
bool isConnected_Tlm_OutputPort(FwIndexType portNum)
ComQueueComponentBase(const char *compName="")
Construct ComQueueComponentBase object.
PlatformIndexType FwIndexType
Type used to pass context info between components during framing/deframing.
void tlmWrite_comQueueDepth(const Svc::ComQueueDepth &arg, Fw::Time _tlmTime=Fw::Time()) const
RateGroupDivider component implementation.
static constexpr FwIndexType getNum_Time_OutputPorts()
void regCommands()
Register commands with the Command Dispatcher.
virtual void comStatusIn_preMsgHook(FwIndexType portNum, Fw::Success &condition)
Pre-message hook for async input port comStatusIn.
friend class ComQueueTesterBase
Friend class tester to support autocoded test harness.
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
virtual void bufferQueueIn_overflowHook(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Overflow hook for async input port bufferQueueIn.
friend class ComQueueTester
Friend class tester implementation to support white-box testing.
bool isConnected_dataOut_OutputPort(FwIndexType portNum)
Success/Failure.
bool isConnected_CmdReg_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_run_InputPorts()
void bufferQueueIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferQueueIn.
Auto-generated base for ComQueue component.
void bufferReturnOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferReturnOut.