9 #if FW_ENABLE_TEXT_LOGGING 19 FILEANNOUNCERECV_FILEANNOUNCE,
34 class ComponentIpcSerializableBuffer :
44 MAX_DATA_SIZE =
sizeof(BuffUnion),
46 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
49 ComponentIpcSerializableBuffer() :
Fw::LinearBufferBase(m_buff, sizeof(m_buff)) {
55 U8 m_buff[SERIALIZATION_SIZE];
73 #if !FW_DIRECT_PORT_CALLS 80 this->m_cmdIn_InputPort[port].
init();
85 this->m_cmdIn_InputPort[port].
setPortNum(port);
87 #if FW_OBJECT_NAMES == 1 91 this->m_objName.toChar(),
94 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
99 #if !FW_DIRECT_PORT_CALLS 106 this->m_fileAnnounceRecv_InputPort[port].
init();
107 this->m_fileAnnounceRecv_InputPort[port].
addCallComp(
109 m_p_fileAnnounceRecv_in
111 this->m_fileAnnounceRecv_InputPort[port].
setPortNum(port);
113 #if FW_OBJECT_NAMES == 1 117 this->m_objName.toChar(),
120 this->m_fileAnnounceRecv_InputPort[port].setObjName(portName.
toChar());
125 #if !FW_DIRECT_PORT_CALLS 132 this->m_pingIn_InputPort[port].
init();
137 this->m_pingIn_InputPort[port].
setPortNum(port);
139 #if FW_OBJECT_NAMES == 1 143 this->m_objName.toChar(),
146 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
151 #if !FW_DIRECT_PORT_CALLS 158 this->m_cmdRegOut_OutputPort[port].
init();
160 #if FW_OBJECT_NAMES == 1 164 this->m_objName.toChar(),
167 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
172 #if !FW_DIRECT_PORT_CALLS 179 this->m_cmdResponseOut_OutputPort[port].
init();
181 #if FW_OBJECT_NAMES == 1 185 this->m_objName.toChar(),
188 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
193 #if !FW_DIRECT_PORT_CALLS 200 this->m_logOut_OutputPort[port].
init();
202 #if FW_OBJECT_NAMES == 1 206 this->m_objName.toChar(),
209 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
214 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 218 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
221 this->m_logTextOut_OutputPort[port].
init();
223 #if FW_OBJECT_NAMES == 1 227 this->m_objName.toChar(),
230 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
235 #if !FW_DIRECT_PORT_CALLS 242 this->m_timeCaller_OutputPort[port].
init();
244 #if FW_OBJECT_NAMES == 1 248 this->m_objName.toChar(),
251 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
256 #if !FW_DIRECT_PORT_CALLS 263 this->m_fileDispatch_OutputPort[port].
init();
265 #if FW_OBJECT_NAMES == 1 269 this->m_objName.toChar(),
272 this->m_fileDispatch_OutputPort[port].setObjName(portName.
toChar());
277 #if !FW_DIRECT_PORT_CALLS 284 this->m_pingOut_OutputPort[port].
init();
286 #if FW_OBJECT_NAMES == 1 290 this->m_objName.toChar(),
293 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
301 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
305 static_cast<FwAssertArgType>(qStat)
309 #if !FW_DIRECT_PORT_CALLS 320 static_cast<FwAssertArgType>(portNum)
323 return &this->m_cmdIn_InputPort[portNum];
328 #if !FW_DIRECT_PORT_CALLS 339 static_cast<FwAssertArgType>(portNum)
342 return &this->m_fileAnnounceRecv_InputPort[portNum];
350 static_cast<FwAssertArgType>(portNum)
353 return &this->m_pingIn_InputPort[portNum];
358 #if !FW_DIRECT_PORT_CALLS 372 static_cast<FwAssertArgType>(portNum)
375 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
386 static_cast<FwAssertArgType>(portNum)
389 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
400 static_cast<FwAssertArgType>(portNum)
403 this->m_logOut_OutputPort[portNum].
addCallPort(port);
406 #if FW_ENABLE_TEXT_LOGGING == 1 408 void FileDispatcherComponentBase ::
409 set_logTextOut_OutputPort(
415 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
416 static_cast<FwAssertArgType>(portNum)
419 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
432 static_cast<FwAssertArgType>(portNum)
435 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
440 #if !FW_DIRECT_PORT_CALLS 454 static_cast<FwAssertArgType>(portNum)
457 this->m_fileDispatch_OutputPort[portNum].
addCallPort(port);
468 static_cast<FwAssertArgType>(portNum)
471 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
476 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 485 Fw::InputSerializePort* port
490 static_cast<FwAssertArgType>(portNum)
493 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
499 Fw::InputSerializePort* port
504 static_cast<FwAssertArgType>(portNum)
507 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
513 Fw::InputSerializePort* port
518 static_cast<FwAssertArgType>(portNum)
521 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
524 #if FW_ENABLE_TEXT_LOGGING == 1 526 void FileDispatcherComponentBase ::
527 set_logTextOut_OutputPort(
529 Fw::InputSerializePort* port
533 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
534 static_cast<FwAssertArgType>(portNum)
537 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
545 Fw::InputSerializePort* port
550 static_cast<FwAssertArgType>(portNum)
553 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
558 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 567 Fw::InputSerializePort* port
572 static_cast<FwAssertArgType>(portNum)
575 this->m_fileDispatch_OutputPort[portNum].registerSerialPort(port);
581 Fw::InputSerializePort* port
586 static_cast<FwAssertArgType>(portNum)
589 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
615 Fw::ActiveComponentBase(compName)
617 this->m_FileDispatchPortNotConnectedThrottle = 0;
626 #if !FW_DIRECT_PORT_CALLS 637 static_cast<FwAssertArgType>(portNum)
640 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
648 static_cast<FwAssertArgType>(portNum)
651 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
659 static_cast<FwAssertArgType>(portNum)
662 return this->m_logOut_OutputPort[portNum].
isConnected();
665 #if FW_ENABLE_TEXT_LOGGING == 1 667 bool FileDispatcherComponentBase ::
668 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
const 671 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
672 static_cast<FwAssertArgType>(portNum)
675 return this->m_logTextOut_OutputPort[portNum].isConnected();
685 static_cast<FwAssertArgType>(portNum)
688 return this->m_timeCaller_OutputPort[portNum].
isConnected();
693 #if !FW_DIRECT_PORT_CALLS 704 static_cast<FwAssertArgType>(portNum)
707 return this->m_fileDispatch_OutputPort[portNum].
isConnected();
715 static_cast<FwAssertArgType>(portNum)
718 return this->m_pingOut_OutputPort[portNum].
isConnected();
739 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
742 switch (opCode - idBase) {
772 static_cast<FwAssertArgType>(portNum)
780 ComponentIpcSerializableBuffer msg;
784 _status = msg.serializeFrom(
785 static_cast<FwEnumStoreType>(FILEANNOUNCERECV_FILEANNOUNCE)
789 static_cast<FwAssertArgType>(_status)
793 _status = msg.serializeFrom(portNum);
796 static_cast<FwAssertArgType>(_status)
803 static_cast<FwAssertArgType>(_status)
812 static_cast<FwAssertArgType>(qStatus)
825 static_cast<FwAssertArgType>(portNum)
833 ComponentIpcSerializableBuffer msg;
837 _status = msg.serializeFrom(
838 static_cast<FwEnumStoreType>(PINGIN_PING)
842 static_cast<FwAssertArgType>(_status)
846 _status = msg.serializeFrom(portNum);
849 static_cast<FwAssertArgType>(_status)
853 _status = msg.serializeFrom(key);
856 static_cast<FwAssertArgType>(_status)
863 if (qStatus == Os::Queue::Status::FULL) {
870 static_cast<FwAssertArgType>(qStatus)
900 #if !FW_DIRECT_PORT_CALLS 914 static_cast<FwAssertArgType>(portNum)
918 this->m_fileDispatch_OutputPort[portNum].isConnected(),
919 static_cast<FwAssertArgType>(portNum)
921 this->m_fileDispatch_OutputPort[portNum].
invoke(
934 static_cast<FwAssertArgType>(portNum)
938 this->m_pingOut_OutputPort[portNum].isConnected(),
939 static_cast<FwAssertArgType>(portNum)
941 this->m_pingOut_OutputPort[portNum].
invoke(
960 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
981 ComponentIpcSerializableBuffer msg;
985 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_DISPATCH));
988 static_cast<FwAssertArgType>(_status)
994 _status = msg.serializeFrom(port);
997 static_cast<FwAssertArgType>(_status)
1000 _status = msg.serializeFrom(opCode);
1003 static_cast<FwAssertArgType>(_status)
1006 _status = msg.serializeFrom(cmdSeq);
1009 static_cast<FwAssertArgType>(_status)
1012 _status = msg.serializeFrom(args);
1015 static_cast<FwAssertArgType>(_status)
1024 static_cast<FwAssertArgType>(qStatus)
1060 this->timeCaller_out(0, _logTime);
1070 #if FW_AMPCS_COMPATIBLE 1075 static_cast<FwAssertArgType>(_status)
1079 #if FW_AMPCS_COMPATIBLE 1086 static_cast<FwAssertArgType>(_status)
1092 static_cast<FwAssertArgType>(_status)
1095 #if FW_AMPCS_COMPATIBLE 1102 static_cast<FwAssertArgType>(_status)
1108 static_cast<FwAssertArgType>(_status)
1121 #if FW_ENABLE_TEXT_LOGGING 1122 if (this->isConnected_logTextOut_OutputPort(0)) {
1123 #if FW_OBJECT_NAMES == 1 1124 const char* _formatString =
1125 "(%s) %s: File dispatch %s state changed: to %s";
1127 const char* _formatString =
1128 "%s: File dispatch %s state changed: to %s";
1132 file_type.toString(file_typeStr);
1134 enabled.toString(enabledStr);
1137 (void) _logString.
format(
1140 this->m_objName.toChar(),
1142 "FileDispatchState ",
1147 this->logTextOut_out(
1167 this->timeCaller_out(0, _logTime);
1177 #if FW_AMPCS_COMPATIBLE 1182 static_cast<FwAssertArgType>(_status)
1192 static_cast<FwAssertArgType>(_status)
1195 #if FW_AMPCS_COMPATIBLE 1202 static_cast<FwAssertArgType>(_status)
1208 static_cast<FwAssertArgType>(_status)
1221 #if FW_ENABLE_TEXT_LOGGING 1222 if (this->isConnected_logTextOut_OutputPort(0)) {
1223 #if FW_OBJECT_NAMES == 1 1224 const char* _formatString =
1225 "(%s) %s: File %s dispatched to %s";
1227 const char* _formatString =
1228 "%s: File %s dispatched to %s";
1232 file_type.toString(file_typeStr);
1235 (void) _logString.
format(
1238 this->m_objName.toChar(),
1245 this->logTextOut_out(
1267 this->m_FileDispatchPortNotConnectedThrottle++;
1273 this->timeCaller_out(0, _logTime);
1283 #if FW_AMPCS_COMPATIBLE 1288 static_cast<FwAssertArgType>(_status)
1298 static_cast<FwAssertArgType>(_status)
1301 #if FW_AMPCS_COMPATIBLE 1308 static_cast<FwAssertArgType>(_status)
1314 static_cast<FwAssertArgType>(_status)
1327 #if FW_ENABLE_TEXT_LOGGING 1328 if (this->isConnected_logTextOut_OutputPort(0)) {
1329 #if FW_OBJECT_NAMES == 1 1330 const char* _formatString =
1331 "(%s) %s: File %s matched %s but the dispatch port is not connected";
1333 const char* _formatString =
1334 "%s: File %s matched %s but the dispatch port is not connected";
1338 file_type.toString(file_typeStr);
1341 (void) _logString.
format(
1344 this->m_objName.toChar(),
1346 "FileDispatchPortNotConnected ",
1351 this->logTextOut_out(
1370 this->m_FileDispatchPortNotConnectedThrottle = 0;
1382 this->timeCaller_out(0, _time);
1397 ComponentIpcSerializableBuffer _msg;
1407 static_cast<FwAssertArgType>(_msgStatus)
1417 static_cast<FwAssertArgType>(_deserStatus)
1420 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1422 if (_msgType == FILEDISPATCHER_COMPONENT_EXIT) {
1427 _deserStatus = _msg.deserializeTo(portNum);
1430 static_cast<FwAssertArgType>(_deserStatus)
1435 case FILEANNOUNCERECV_FILEANNOUNCE: {
1438 Fw::ExternalString file_name(__fprime_ac_file_name_buffer,
sizeof __fprime_ac_file_name_buffer);
1439 _deserStatus = _msg.deserializeTo(file_name);
1442 static_cast<FwAssertArgType>(_deserStatus)
1457 _deserStatus = _msg.deserializeTo(key);
1460 static_cast<FwAssertArgType>(_deserStatus)
1472 case CMD_ENABLE_DISPATCH: {
1475 _deserStatus = _msg.deserializeTo(_opCode);
1478 static_cast<FwAssertArgType>(_deserStatus)
1483 _deserStatus = _msg.deserializeTo(_cmdSeq);
1486 static_cast<FwAssertArgType>(_deserStatus)
1491 _deserStatus = _msg.deserializeTo(args);
1494 static_cast<FwAssertArgType>(_deserStatus)
1532 #if FW_CMD_CHECK_RESIDUAL 1563 void FileDispatcherComponentBase ::
1574 compPtr->cmdIn_handlerBase(
1586 void FileDispatcherComponentBase ::
1587 m_p_fileAnnounceRecv_in(
1595 compPtr->fileAnnounceRecv_handlerBase(
1601 void FileDispatcherComponentBase ::
1610 compPtr->pingIn_handlerBase(
1616 #if !FW_DIRECT_PORT_CALLS 1622 void FileDispatcherComponentBase ::
1630 static_cast<FwAssertArgType>(portNum)
1634 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
1635 static_cast<FwAssertArgType>(portNum)
1637 this->m_cmdRegOut_OutputPort[portNum].
invoke(
1642 void FileDispatcherComponentBase ::
1652 static_cast<FwAssertArgType>(portNum)
1656 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
1657 static_cast<FwAssertArgType>(portNum)
1659 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
1666 void FileDispatcherComponentBase ::
1677 static_cast<FwAssertArgType>(portNum)
1681 this->m_logOut_OutputPort[portNum].isConnected(),
1682 static_cast<FwAssertArgType>(portNum)
1684 this->m_logOut_OutputPort[portNum].
invoke(
1692 #if FW_ENABLE_TEXT_LOGGING 1694 void FileDispatcherComponentBase ::
1704 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1705 static_cast<FwAssertArgType>(portNum)
1709 this->m_logTextOut_OutputPort[portNum].isConnected(),
1710 static_cast<FwAssertArgType>(portNum)
1712 this->m_logTextOut_OutputPort[portNum].invoke(
1722 void FileDispatcherComponentBase ::
1730 static_cast<FwAssertArgType>(portNum)
1734 this->m_timeCaller_OutputPort[portNum].isConnected(),
1735 static_cast<FwAssertArgType>(portNum)
1737 this->m_timeCaller_OutputPort[portNum].
invoke(
Serialization/Deserialization operation was successful.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
void addCallPort(InputTimePort *callPort)
Register an input port.
static constexpr FwSizeType CAPACITY
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
bool isConnected_fileDispatch_OutputPort(FwIndexType portNum) const
FwIdType getIdBase() const
PlatformSizeType FwSizeType
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Status
status returned from the queue send function
BYTE pingInPortSize[Svc::PingPortBuffer::CAPACITY]
void fileAnnounceRecv_handlerBase(FwIndexType portNum, Fw::StringBase &file_name)
Handler base-class function for input port fileAnnounceRecv.
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
void invoke(U32 key) const
Invoke a port connection.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
FileDispatcherComponentBase(const char *compName="")
Construct FileDispatcherComponentBase object.
Enum representing a command response.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
No time base has been established (Required)
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
virtual void fileAnnounceRecv_handler(FwIndexType portNum, Fw::StringBase &file_name)=0
Handler for input port fileAnnounceRecv.
void init()
Initialization function.
Os::Queue m_queue
queue object for active component
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
virtual void ENABLE_DISPATCH_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command ENABLE_DISPATCH.
void init()
Object initializer.
void regCommands()
Register commands with the Command Dispatcher.
SerializeStatus
forward declaration for string
static constexpr FwSizeType CAPACITY
Message will block until space is available.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_fileDispatch_OutputPorts()
FwIdType FwEventIdType
The type of an event identifier.
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
static constexpr FwSizeType CAPACITY
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
The size of the serial representation.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void init()
Initialization function.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
A less serious but recoverable event.
static constexpr FwIndexType getNum_logOut_OutputPorts()
void init()
Initialization function.
void log_WARNING_LO_FileDispatchPortNotConnected(const Fw::StringBase &file_name, const Svc::FileDispatcherCfg::FileDispatchPort &file_type)
Log event FileDispatchPortNotConnected.
void invoke(Fw::Time &time) const
Invoke a port connection.
void log_ACTIVITY_HI_FileDispatchState(const Svc::FileDispatcherCfg::FileDispatchPort &file_type, const Fw::Enabled &enabled) const
Log event FileDispatchState.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
static constexpr FwIndexType getNum_pingIn_InputPorts()
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port connection.
void addCallPort(InputPingPort *callPort)
Register an input port.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
A string backed by an external buffer.
Errors dispatching messages.
void ENABLE_DISPATCH_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Base-class handler function for command ENABLE_DISPATCH.
const char * toChar() const
Convert to a C-style char*.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
Enum representing event severity.
virtual void fileAnnounceRecv_preMsgHook(FwIndexType portNum, Fw::StringBase &file_name)
Pre-message hook for async input port fileAnnounceRecv.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
Enabled and disabled states.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
uint8_t U8
8-bit unsigned integer
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void log_ACTIVITY_HI_FileDispatched(const Fw::StringBase &file_name, const Svc::FileDispatcherCfg::FileDispatchPort &file_type) const
Log event FileDispatched.
Important informational events.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
message to exit active component task
void set_fileDispatch_OutputPort(FwIndexType portNum, Svc::InputFileDispatchPort *port)
Connect port to fileDispatch[portNum].
A message was sent requesting an exit of the loop.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Svc::InputFileAnnouncePort * get_fileAnnounceRecv_InputPort(FwIndexType portNum)
void log_WARNING_LO_FileDispatchPortNotConnected_ThrottleClear()
Reset throttle value for FileDispatchPortNotConnected.
virtual ~FileDispatcherComponentBase()
Destroy FileDispatcherComponentBase object.
PlatformIndexType FwIndexType
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
void incNumMsgDropped()
increment the number of messages dropped
void addCallPort(InputFileDispatchPort *callPort)
Register an input port.
RateGroupDivider component implementation.
The size of the serial representation.
message sent/received okay
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
virtual void ENABLE_DISPATCH_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::FileDispatcherCfg::FileDispatchPort &file_type, const Fw::Enabled &enable)=0
Handler for command ENABLE_DISPATCH.
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
void init()
Initialization function.
void fileDispatch_out(FwIndexType portNum, Fw::StringBase &file_name) const
Invoke output port fileDispatch.
void invoke(Fw::StringBase &file_name) const
Invoke a port connection.
static constexpr FwIndexType getNum_fileAnnounceRecv_InputPorts()
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
BYTE cmdPortSize[Fw::CmdPortBuffer::CAPACITY]
Throttle reset count for FileDispatchPortNotConnected.