10 #if FW_ENABLE_TEXT_LOGGING 19 PRODUCTREQUESTIN_DPREQUEST,
22 CMD_CLEAR_EVENT_THROTTLE,
36 class ComponentIpcSerializableBuffer :
46 MAX_DATA_SIZE =
sizeof(BuffUnion),
48 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
52 return sizeof(m_buff);
59 const U8* getBuffAddr()
const {
65 U8 m_buff[SERIALIZATION_SIZE];
89 this->m_cmdIn_InputPort[port].
init();
94 this->m_cmdIn_InputPort[port].
setPortNum(port);
96 #if FW_OBJECT_NAMES == 1 100 this->m_objName.toChar(),
103 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
113 this->m_productGetIn_InputPort[port].
init();
118 this->m_productGetIn_InputPort[port].
setPortNum(port);
120 #if FW_OBJECT_NAMES == 1 124 this->m_objName.toChar(),
127 this->m_productGetIn_InputPort[port].setObjName(portName.
toChar());
137 this->m_productRequestIn_InputPort[port].
init();
138 this->m_productRequestIn_InputPort[port].
addCallComp(
140 m_p_productRequestIn_in
142 this->m_productRequestIn_InputPort[port].
setPortNum(port);
144 #if FW_OBJECT_NAMES == 1 148 this->m_objName.toChar(),
151 this->m_productRequestIn_InputPort[port].setObjName(portName.
toChar());
161 this->m_productSendIn_InputPort[port].
init();
166 this->m_productSendIn_InputPort[port].
setPortNum(port);
168 #if FW_OBJECT_NAMES == 1 172 this->m_objName.toChar(),
175 this->m_productSendIn_InputPort[port].setObjName(portName.
toChar());
185 this->m_schedIn_InputPort[port].
init();
190 this->m_schedIn_InputPort[port].
setPortNum(port);
192 #if FW_OBJECT_NAMES == 1 196 this->m_objName.toChar(),
199 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
209 this->m_cmdRegIn_OutputPort[port].
init();
211 #if FW_OBJECT_NAMES == 1 215 this->m_objName.toChar(),
218 this->m_cmdRegIn_OutputPort[port].setObjName(portName.
toChar());
228 this->m_cmdResponseOut_OutputPort[port].
init();
230 #if FW_OBJECT_NAMES == 1 234 this->m_objName.toChar(),
237 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
247 this->m_eventOut_OutputPort[port].
init();
249 #if FW_OBJECT_NAMES == 1 253 this->m_objName.toChar(),
256 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
260 #if FW_ENABLE_TEXT_LOGGING == 1 264 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
267 this->m_textEventOut_OutputPort[port].
init();
269 #if FW_OBJECT_NAMES == 1 273 this->m_objName.toChar(),
276 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
287 this->m_timeGetOut_OutputPort[port].
init();
289 #if FW_OBJECT_NAMES == 1 293 this->m_objName.toChar(),
296 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
306 this->m_tlmOut_OutputPort[port].
init();
308 #if FW_OBJECT_NAMES == 1 312 this->m_objName.toChar(),
315 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
325 this->m_bufferGetOut_OutputPort[port].
init();
327 #if FW_OBJECT_NAMES == 1 331 this->m_objName.toChar(),
334 this->m_bufferGetOut_OutputPort[port].setObjName(portName.
toChar());
344 this->m_productResponseOut_OutputPort[port].
init();
346 #if FW_OBJECT_NAMES == 1 350 this->m_objName.toChar(),
353 this->m_productResponseOut_OutputPort[port].setObjName(portName.
toChar());
363 this->m_productSendOut_OutputPort[port].
init();
365 #if FW_OBJECT_NAMES == 1 369 this->m_objName.toChar(),
372 this->m_productSendOut_OutputPort[port].setObjName(portName.
toChar());
379 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
383 static_cast<FwAssertArgType>(qStat)
396 static_cast<FwAssertArgType>(portNum)
399 return &this->m_cmdIn_InputPort[portNum];
411 static_cast<FwAssertArgType>(portNum)
414 return &this->m_productGetIn_InputPort[portNum];
422 static_cast<FwAssertArgType>(portNum)
425 return &this->m_productRequestIn_InputPort[portNum];
433 static_cast<FwAssertArgType>(portNum)
436 return &this->m_productSendIn_InputPort[portNum];
444 static_cast<FwAssertArgType>(portNum)
447 return &this->m_schedIn_InputPort[portNum];
462 static_cast<FwAssertArgType>(portNum)
465 this->m_cmdRegIn_OutputPort[portNum].
addCallPort(port);
476 static_cast<FwAssertArgType>(portNum)
479 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
490 static_cast<FwAssertArgType>(portNum)
493 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
496 #if FW_ENABLE_TEXT_LOGGING == 1 498 void DpManagerComponentBase ::
499 set_textEventOut_OutputPort(
505 portNum < this->getNum_textEventOut_OutputPorts(),
506 static_cast<FwAssertArgType>(portNum)
509 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
522 static_cast<FwAssertArgType>(portNum)
525 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
536 static_cast<FwAssertArgType>(portNum)
539 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
554 static_cast<FwAssertArgType>(portNum)
557 this->m_bufferGetOut_OutputPort[portNum].
addCallPort(port);
568 static_cast<FwAssertArgType>(portNum)
571 this->m_productResponseOut_OutputPort[portNum].
addCallPort(port);
582 static_cast<FwAssertArgType>(portNum)
585 this->m_productSendOut_OutputPort[portNum].
addCallPort(port);
588 #if FW_PORT_SERIALIZATION 597 Fw::InputSerializePort* port
602 static_cast<FwAssertArgType>(portNum)
605 this->m_cmdRegIn_OutputPort[portNum].registerSerialPort(port);
611 Fw::InputSerializePort* port
616 static_cast<FwAssertArgType>(portNum)
619 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
625 Fw::InputSerializePort* port
630 static_cast<FwAssertArgType>(portNum)
633 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
636 #if FW_ENABLE_TEXT_LOGGING == 1 638 void DpManagerComponentBase ::
639 set_textEventOut_OutputPort(
641 Fw::InputSerializePort* port
645 portNum < this->getNum_textEventOut_OutputPorts(),
646 static_cast<FwAssertArgType>(portNum)
649 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
657 Fw::InputSerializePort* port
662 static_cast<FwAssertArgType>(portNum)
665 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
671 Fw::InputSerializePort* port
676 static_cast<FwAssertArgType>(portNum)
679 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
684 #if FW_PORT_SERIALIZATION 693 Fw::InputSerializePort* port
698 static_cast<FwAssertArgType>(portNum)
701 this->m_productResponseOut_OutputPort[portNum].registerSerialPort(port);
707 Fw::InputSerializePort* port
712 static_cast<FwAssertArgType>(portNum)
715 this->m_productSendOut_OutputPort[portNum].registerSerialPort(port);
727 FW_ASSERT(this->m_cmdRegIn_OutputPort[0].isConnected());
729 this->m_cmdRegIn_OutputPort[0].
invoke(
740 Fw::ActiveComponentBase(compName)
743 this->m_first_update_NumSuccessfulAllocations =
true;
744 this->m_last_NumSuccessfulAllocations = 0;
747 this->m_first_update_NumFailedAllocations =
true;
748 this->m_last_NumFailedAllocations = 0;
751 this->m_first_update_NumDataProducts =
true;
752 this->m_last_NumDataProducts = 0;
755 this->m_first_update_NumBytes =
true;
756 this->m_last_NumBytes = 0;
758 this->m_BufferAllocationFailedThrottle = 0;
827 #if FW_ENABLE_TEXT_LOGGING == 1 830 getNum_textEventOut_OutputPorts()
const 880 static_cast<FwAssertArgType>(portNum)
883 return this->m_cmdRegIn_OutputPort[portNum].
isConnected();
891 static_cast<FwAssertArgType>(portNum)
894 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
902 static_cast<FwAssertArgType>(portNum)
905 return this->m_eventOut_OutputPort[portNum].
isConnected();
908 #if FW_ENABLE_TEXT_LOGGING == 1 910 bool DpManagerComponentBase ::
911 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
914 portNum < this->getNum_textEventOut_OutputPorts(),
915 static_cast<FwAssertArgType>(portNum)
918 return this->m_textEventOut_OutputPort[portNum].isConnected();
928 static_cast<FwAssertArgType>(portNum)
931 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
939 static_cast<FwAssertArgType>(portNum)
942 return this->m_tlmOut_OutputPort[portNum].
isConnected();
954 static_cast<FwAssertArgType>(portNum)
957 return this->m_bufferGetOut_OutputPort[portNum].
isConnected();
965 static_cast<FwAssertArgType>(portNum)
968 return this->m_productResponseOut_OutputPort[portNum].
isConnected();
976 static_cast<FwAssertArgType>(portNum)
979 return this->m_productSendOut_OutputPort[portNum].
isConnected();
999 static_cast<FwAssertArgType>(portNum)
1025 static_cast<FwAssertArgType>(portNum)
1034 ComponentIpcSerializableBuffer msg;
1038 _status = msg.serialize(
1039 static_cast<FwEnumStoreType>(PRODUCTREQUESTIN_DPREQUEST)
1043 static_cast<FwAssertArgType>(_status)
1047 _status = msg.serialize(portNum);
1050 static_cast<FwAssertArgType>(_status)
1054 _status = msg.serialize(
id);
1057 static_cast<FwAssertArgType>(_status)
1061 _status = msg.serialize(dataSize);
1064 static_cast<FwAssertArgType>(_status)
1073 static_cast<FwAssertArgType>(qStatus)
1087 static_cast<FwAssertArgType>(portNum)
1096 ComponentIpcSerializableBuffer msg;
1100 _status = msg.serialize(
1101 static_cast<FwEnumStoreType>(PRODUCTSENDIN_DPSEND)
1105 static_cast<FwAssertArgType>(_status)
1109 _status = msg.serialize(portNum);
1112 static_cast<FwAssertArgType>(_status)
1116 _status = msg.serialize(
id);
1119 static_cast<FwAssertArgType>(_status)
1123 _status = msg.serialize(buffer);
1126 static_cast<FwAssertArgType>(_status)
1135 static_cast<FwAssertArgType>(qStatus)
1148 static_cast<FwAssertArgType>(portNum)
1156 ComponentIpcSerializableBuffer msg;
1160 _status = msg.serialize(
1161 static_cast<FwEnumStoreType>(SCHEDIN_SCHED)
1165 static_cast<FwAssertArgType>(_status)
1169 _status = msg.serialize(portNum);
1172 static_cast<FwAssertArgType>(_status)
1176 _status = msg.serialize(context);
1179 static_cast<FwAssertArgType>(_status)
1188 static_cast<FwAssertArgType>(qStatus)
1241 static_cast<FwAssertArgType>(portNum)
1243 return this->m_bufferGetOut_OutputPort[portNum].
invoke(
1258 static_cast<FwAssertArgType>(portNum)
1260 this->m_productResponseOut_OutputPort[portNum].
invoke(
1275 static_cast<FwAssertArgType>(portNum)
1277 this->m_productSendOut_OutputPort[portNum].
invoke(
1293 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1294 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1315 ComponentIpcSerializableBuffer msg;
1319 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_CLEAR_EVENT_THROTTLE));
1322 static_cast<FwAssertArgType>(_status)
1328 _status = msg.serialize(port);
1331 static_cast<FwAssertArgType>(_status)
1334 _status = msg.serialize(opCode);
1337 static_cast<FwAssertArgType>(_status)
1340 _status = msg.serialize(cmdSeq);
1343 static_cast<FwAssertArgType>(_status)
1346 _status = msg.serialize(args);
1349 static_cast<FwAssertArgType>(_status)
1358 static_cast<FwAssertArgType>(qStatus)
1393 this->m_BufferAllocationFailedThrottle++;
1398 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1399 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1407 if (this->m_eventOut_OutputPort[0].isConnected()) {
1411 #if FW_AMPCS_COMPATIBLE 1413 _status = _logBuff.
serialize(static_cast<U8>(1));
1416 static_cast<FwAssertArgType>(_status)
1420 #if FW_AMPCS_COMPATIBLE 1423 static_cast<U8>(
sizeof(U32))
1427 static_cast<FwAssertArgType>(_status)
1433 static_cast<FwAssertArgType>(_status)
1436 this->m_eventOut_OutputPort[0].
invoke(
1445 #if FW_ENABLE_TEXT_LOGGING 1446 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1447 #if FW_OBJECT_NAMES == 1 1448 const char* _formatString =
1449 "(%s) %s: Buffer allocation failed for container id %" PRIu32
"";
1451 const char* _formatString =
1452 "%s: Buffer allocation failed for container id %" PRIu32
"";
1459 this->m_objName.toChar(),
1461 "BufferAllocationFailed ",
1465 this->m_textEventOut_OutputPort[0].invoke(
1483 this->m_BufferAllocationFailedThrottle = 0;
1497 if (not this->m_first_update_NumSuccessfulAllocations) {
1499 if (arg == this->m_last_NumSuccessfulAllocations) {
1503 this->m_last_NumSuccessfulAllocations = arg;
1507 this->m_first_update_NumSuccessfulAllocations =
false;
1508 this->m_last_NumSuccessfulAllocations = arg;
1511 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1513 this->m_timeGetOut_OutputPort[0].isConnected() &&
1516 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1523 static_cast<FwAssertArgType>(_stat)
1530 this->m_tlmOut_OutputPort[0].
invoke(
1545 if (not this->m_first_update_NumFailedAllocations) {
1547 if (arg == this->m_last_NumFailedAllocations) {
1551 this->m_last_NumFailedAllocations = arg;
1555 this->m_first_update_NumFailedAllocations =
false;
1556 this->m_last_NumFailedAllocations = arg;
1559 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1561 this->m_timeGetOut_OutputPort[0].isConnected() &&
1564 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1571 static_cast<FwAssertArgType>(_stat)
1578 this->m_tlmOut_OutputPort[0].
invoke(
1593 if (not this->m_first_update_NumDataProducts) {
1595 if (arg == this->m_last_NumDataProducts) {
1599 this->m_last_NumDataProducts = arg;
1603 this->m_first_update_NumDataProducts =
false;
1604 this->m_last_NumDataProducts = arg;
1607 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1609 this->m_timeGetOut_OutputPort[0].isConnected() &&
1612 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1619 static_cast<FwAssertArgType>(_stat)
1626 this->m_tlmOut_OutputPort[0].
invoke(
1641 if (not this->m_first_update_NumBytes) {
1643 if (arg == this->m_last_NumBytes) {
1647 this->m_last_NumBytes = arg;
1651 this->m_first_update_NumBytes =
false;
1652 this->m_last_NumBytes = arg;
1655 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1657 this->m_timeGetOut_OutputPort[0].isConnected() &&
1660 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1667 static_cast<FwAssertArgType>(_stat)
1674 this->m_tlmOut_OutputPort[0].
invoke(
1689 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1691 this->m_timeGetOut_OutputPort[0].
invoke(_time);
1706 ComponentIpcSerializableBuffer msg;
1716 static_cast<FwAssertArgType>(msgStatus)
1726 static_cast<FwAssertArgType>(deserStatus)
1729 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
1731 if (msgType == DPMANAGER_COMPONENT_EXIT) {
1736 deserStatus = msg.deserialize(portNum);
1739 static_cast<FwAssertArgType>(deserStatus)
1744 case PRODUCTREQUESTIN_DPREQUEST: {
1747 deserStatus = msg.deserialize(
id);
1750 static_cast<FwAssertArgType>(deserStatus)
1755 deserStatus = msg.deserialize(dataSize);
1758 static_cast<FwAssertArgType>(deserStatus)
1771 case PRODUCTSENDIN_DPSEND: {
1774 deserStatus = msg.deserialize(
id);
1777 static_cast<FwAssertArgType>(deserStatus)
1782 deserStatus = msg.deserialize(buffer);
1785 static_cast<FwAssertArgType>(deserStatus)
1798 case SCHEDIN_SCHED: {
1801 deserStatus = msg.deserialize(context);
1804 static_cast<FwAssertArgType>(deserStatus)
1816 case CMD_CLEAR_EVENT_THROTTLE: {
1819 deserStatus = msg.deserialize(opCode);
1822 static_cast<FwAssertArgType>(deserStatus)
1827 deserStatus = msg.deserialize(cmdSeq);
1830 static_cast<FwAssertArgType>(deserStatus)
1835 deserStatus = msg.deserialize(args);
1838 static_cast<FwAssertArgType>(deserStatus)
1846 #if FW_CMD_CHECK_RESIDUAL 1848 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1873 void DpManagerComponentBase ::
1885 const U32 idBase = callComp->
getIdBase();
1886 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1889 switch (opCode - idBase) {
1891 compPtr->CLEAR_EVENT_THROTTLE_cmdHandlerBase(
1906 m_p_productGetIn_in(
1916 return compPtr->productGetIn_handlerBase(
1924 void DpManagerComponentBase ::
1925 m_p_productRequestIn_in(
1934 compPtr->productRequestIn_handlerBase(
1941 void DpManagerComponentBase ::
1942 m_p_productSendIn_in(
1951 compPtr->productSendIn_handlerBase(
1958 void DpManagerComponentBase ::
1967 compPtr->schedIn_handlerBase(
Serialization/Deserialization operation was successful.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
FwIndexType getNum_productGetIn_InputPorts() const
void addCallPort(InputTimePort *callPort)
Register an input port.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void set_productSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to productSendOut[portNum].
void log_WARNING_HI_BufferAllocationFailed_ThrottleClear()
Reset throttle value for BufferAllocationFailed.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
bool isConnected_cmdRegIn_OutputPort(FwIndexType portNum)
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void log_WARNING_HI_BufferAllocationFailed(U32 id)
NATIVE_UINT_TYPE SizeType
Status
status returned from the queue send function
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
Fw::Buffer invoke(U32 size) const
Invoke a port interface.
PlatformSizeType FwSizeType
Channel ID for NumDataProducts.
FwIndexType getNum_eventOut_OutputPorts() const
Buffer allocation failed.
virtual ~DpManagerComponentBase()
Destroy DpManagerComponentBase object.
Channel ID for NumSuccessfulAllocations.
void addCallPort(InputDpResponsePort *callPort)
Register an input port.
void init()
Initialization function.
FwIndexType getNum_timeGetOut_OutputPorts() const
void productRequestIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Handler base-class function for input port productRequestIn.
FwIndexType getNum_schedIn_InputPorts() const
Enum representing a command response.
FwIndexType getNum_productRequestIn_InputPorts() const
void tlmWrite_NumSuccessfulAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
PlatformIndexType FwIndexType
Fw::Buffer bufferGetOut_out(FwIndexType portNum, U32 size)
Invoke output port bufferGetOut.
void tlmWrite_NumFailedAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
Os::Queue m_queue
queue object for active component
void productSendIn_handlerBase(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Handler base-class function for input port productSendIn.
void invoke(FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status) const
Invoke a port interface.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Object initializer.
Fw::InputDpGetPort * get_productGetIn_InputPort(FwIndexType portNum)
SerializeStatus
forward declaration for string
virtual void productSendIn_handler(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)=0
Handler for input port productSendIn.
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
Message will block until space is available.
FwIndexType getNum_cmdRegIn_OutputPorts() const
virtual Fw::Success productGetIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)=0
Handler for input port productGetIn.
void init()
Initialization function.
FwIndexType getNum_bufferGetOut_OutputPorts() const
virtual void productSendIn_preMsgHook(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Pre-message hook for async input port productSendIn.
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
Fw::InputDpSendPort * get_productSendIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
FwIndexType getNum_productSendIn_InputPorts() const
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void productResponseOut_out(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status)
Invoke output port productResponseOut.
void invoke(Fw::Time &time) const
Invoke a port interface.
void tlmWrite_NumDataProducts(U32 arg, Fw::Time _tlmTime=Fw::Time())
Throttle reset count for BufferAllocationFailed.
bool isConnected_productResponseOut_OutputPort(FwIndexType portNum)
bool isConnected_bufferGetOut_OutputPort(FwIndexType portNum)
const char * toChar() const
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
No time base has been established.
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
FwIndexType getNum_productResponseOut_OutputPorts() const
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
virtual void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
void resetDeser()
reset deserialization to beginning
void CLEAR_EVENT_THROTTLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
A serious but recoverable event.
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Channel ID for NumFailedAllocations.
uint8_t U8
8-bit unsigned integer
#define PRI_PlatformIntType
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
void productSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port productSendOut.
FwIndexType getNum_cmdIn_InputPorts() const
virtual void productRequestIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)=0
Handler for input port productRequestIn.
Command failed to deserialize.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
PlatformQueuePriorityType FwQueuePriorityType
message to exit active component task
void set_productResponseOut_OutputPort(FwIndexType portNum, Fw::InputDpResponsePort *port)
Connect port to productResponseOut[portNum].
A message was sent requesting an exit of the loop.
virtual void productRequestIn_preMsgHook(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Pre-message hook for async input port productRequestIn.
DpManagerComponentBase(const char *compName="")
Construct DpManagerComponentBase object.
Fw::InputDpRequestPort * get_productRequestIn_InputPort(FwIndexType portNum)
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
void addCallPort(InputLogPort *callPort)
Register an input port.
bool isConnected_productSendOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
void regCommands()
Register commands with the Command Dispatcher.
FwIndexType getNum_cmdResponseOut_OutputPorts() const
void init()
Initialization function.
void set_bufferGetOut_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferGetOut[portNum].
message sent/received okay
FwIndexType getNum_productSendOut_OutputPorts() const
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_tlmOut_OutputPorts() const
Fw::Success productGetIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)
Handler base-class function for input port productGetIn.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
virtual void CLEAR_EVENT_THROTTLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CLEAR_EVENT_THROTTLE.
Message will return with status when space is unavailable.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void init()
Initialization function.
void set_cmdRegIn_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegIn[portNum].
void tlmWrite_NumBytes(U64 arg, Fw::Time _tlmTime=Fw::Time())
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.