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 99 "%s_cmdIn_InputPort[%" PRI_PlatformIntType
"]",
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 123 "%s_productGetIn_InputPort[%" PRI_PlatformIntType
"]",
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 147 "%s_productRequestIn_InputPort[%" PRI_PlatformIntType
"]",
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 171 "%s_productSendIn_InputPort[%" PRI_PlatformIntType
"]",
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 195 "%s_schedIn_InputPort[%" PRI_PlatformIntType
"]",
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 214 "%s_cmdRegIn_OutputPort[%" PRI_PlatformIntType
"]",
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 233 "%s_cmdResponseOut_OutputPort[%" PRI_PlatformIntType
"]",
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 252 "%s_eventOut_OutputPort[%" PRI_PlatformIntType
"]",
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 272 "%s_textEventOut_OutputPort[%" PRI_PlatformIntType
"]",
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 292 "%s_timeGetOut_OutputPort[%" PRI_PlatformIntType
"]",
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 311 "%s_tlmOut_OutputPort[%" PRI_PlatformIntType
"]",
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 330 "%s_bufferGetOut_OutputPort[%" PRI_PlatformIntType
"]",
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 349 "%s_productResponseOut_OutputPort[%" PRI_PlatformIntType
"]",
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 368 "%s_productSendOut_OutputPort[%" PRI_PlatformIntType
"]",
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)
1245 this->m_bufferGetOut_OutputPort[portNum].isConnected(),
1246 static_cast<FwAssertArgType>(portNum)
1248 return this->m_bufferGetOut_OutputPort[portNum].
invoke(
1263 static_cast<FwAssertArgType>(portNum)
1267 this->m_productResponseOut_OutputPort[portNum].isConnected(),
1268 static_cast<FwAssertArgType>(portNum)
1270 this->m_productResponseOut_OutputPort[portNum].
invoke(
1285 static_cast<FwAssertArgType>(portNum)
1289 this->m_productSendOut_OutputPort[portNum].isConnected(),
1290 static_cast<FwAssertArgType>(portNum)
1292 this->m_productSendOut_OutputPort[portNum].
invoke(
1308 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1309 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1330 ComponentIpcSerializableBuffer msg;
1334 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_CLEAR_EVENT_THROTTLE));
1337 static_cast<FwAssertArgType>(_status)
1343 _status = msg.serialize(port);
1346 static_cast<FwAssertArgType>(_status)
1349 _status = msg.serialize(opCode);
1352 static_cast<FwAssertArgType>(_status)
1355 _status = msg.serialize(cmdSeq);
1358 static_cast<FwAssertArgType>(_status)
1361 _status = msg.serialize(args);
1364 static_cast<FwAssertArgType>(_status)
1373 static_cast<FwAssertArgType>(qStatus)
1408 this->m_BufferAllocationFailedThrottle++;
1413 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1414 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1422 if (this->m_eventOut_OutputPort[0].isConnected()) {
1426 #if FW_AMPCS_COMPATIBLE 1428 _status = _logBuff.
serialize(static_cast<U8>(1));
1431 static_cast<FwAssertArgType>(_status)
1435 #if FW_AMPCS_COMPATIBLE 1438 static_cast<U8>(
sizeof(U32))
1442 static_cast<FwAssertArgType>(_status)
1448 static_cast<FwAssertArgType>(_status)
1451 this->m_eventOut_OutputPort[0].
invoke(
1460 #if FW_ENABLE_TEXT_LOGGING 1461 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1462 #if FW_OBJECT_NAMES == 1 1463 const char* _formatString =
1464 "(%s) %s: Buffer allocation failed for container id %" PRIu32
"";
1466 const char* _formatString =
1467 "%s: Buffer allocation failed for container id %" PRIu32
"";
1474 this->m_objName.toChar(),
1476 "BufferAllocationFailed ",
1480 this->m_textEventOut_OutputPort[0].invoke(
1498 this->m_BufferAllocationFailedThrottle = 0;
1512 if (not this->m_first_update_NumSuccessfulAllocations) {
1514 if (arg == this->m_last_NumSuccessfulAllocations) {
1518 this->m_last_NumSuccessfulAllocations = arg;
1522 this->m_first_update_NumSuccessfulAllocations =
false;
1523 this->m_last_NumSuccessfulAllocations = arg;
1526 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1528 this->m_timeGetOut_OutputPort[0].isConnected() &&
1531 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1538 static_cast<FwAssertArgType>(_stat)
1545 this->m_tlmOut_OutputPort[0].
invoke(
1560 if (not this->m_first_update_NumFailedAllocations) {
1562 if (arg == this->m_last_NumFailedAllocations) {
1566 this->m_last_NumFailedAllocations = arg;
1570 this->m_first_update_NumFailedAllocations =
false;
1571 this->m_last_NumFailedAllocations = arg;
1574 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1576 this->m_timeGetOut_OutputPort[0].isConnected() &&
1579 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1586 static_cast<FwAssertArgType>(_stat)
1593 this->m_tlmOut_OutputPort[0].
invoke(
1608 if (not this->m_first_update_NumDataProducts) {
1610 if (arg == this->m_last_NumDataProducts) {
1614 this->m_last_NumDataProducts = arg;
1618 this->m_first_update_NumDataProducts =
false;
1619 this->m_last_NumDataProducts = arg;
1622 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1624 this->m_timeGetOut_OutputPort[0].isConnected() &&
1627 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1634 static_cast<FwAssertArgType>(_stat)
1641 this->m_tlmOut_OutputPort[0].
invoke(
1656 if (not this->m_first_update_NumBytes) {
1658 if (arg == this->m_last_NumBytes) {
1662 this->m_last_NumBytes = arg;
1666 this->m_first_update_NumBytes =
false;
1667 this->m_last_NumBytes = arg;
1670 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1672 this->m_timeGetOut_OutputPort[0].isConnected() &&
1675 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1682 static_cast<FwAssertArgType>(_stat)
1689 this->m_tlmOut_OutputPort[0].
invoke(
1704 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1706 this->m_timeGetOut_OutputPort[0].
invoke(_time);
1721 ComponentIpcSerializableBuffer _msg;
1731 static_cast<FwAssertArgType>(_msgStatus)
1741 static_cast<FwAssertArgType>(_deserStatus)
1744 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1746 if (_msgType == DPMANAGER_COMPONENT_EXIT) {
1751 _deserStatus = _msg.deserialize(portNum);
1754 static_cast<FwAssertArgType>(_deserStatus)
1759 case PRODUCTREQUESTIN_DPREQUEST: {
1762 _deserStatus = _msg.deserialize(
id);
1765 static_cast<FwAssertArgType>(_deserStatus)
1770 _deserStatus = _msg.deserialize(dataSize);
1773 static_cast<FwAssertArgType>(_deserStatus)
1786 case PRODUCTSENDIN_DPSEND: {
1789 _deserStatus = _msg.deserialize(
id);
1792 static_cast<FwAssertArgType>(_deserStatus)
1797 _deserStatus = _msg.deserialize(buffer);
1800 static_cast<FwAssertArgType>(_deserStatus)
1813 case SCHEDIN_SCHED: {
1816 _deserStatus = _msg.deserialize(context);
1819 static_cast<FwAssertArgType>(_deserStatus)
1831 case CMD_CLEAR_EVENT_THROTTLE: {
1834 _deserStatus = _msg.deserialize(_opCode);
1837 static_cast<FwAssertArgType>(_deserStatus)
1842 _deserStatus = _msg.deserialize(_cmdSeq);
1845 static_cast<FwAssertArgType>(_deserStatus)
1850 _deserStatus = _msg.deserialize(args);
1853 static_cast<FwAssertArgType>(_deserStatus)
1861 #if FW_CMD_CHECK_RESIDUAL 1863 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1888 void DpManagerComponentBase ::
1900 const U32 idBase = callComp->
getIdBase();
1901 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1904 switch (opCode - idBase) {
1906 compPtr->CLEAR_EVENT_THROTTLE_cmdHandlerBase(
1921 m_p_productGetIn_in(
1931 return compPtr->productGetIn_handlerBase(
1939 void DpManagerComponentBase ::
1940 m_p_productRequestIn_in(
1949 compPtr->productRequestIn_handlerBase(
1956 void DpManagerComponentBase ::
1957 m_p_productSendIn_in(
1966 compPtr->productSendIn_handlerBase(
1973 void DpManagerComponentBase ::
1982 compPtr->schedIn_handlerBase(
Channel ID for NumFailedAllocations.
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)
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
virtual ~DpManagerComponentBase()
Destroy DpManagerComponentBase object.
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
message to exit active component task
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())
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)
Throttle reset count for BufferAllocationFailed.
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)
uint8_t U8
8-bit unsigned integer
Channel ID for NumSuccessfulAllocations.
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.
Buffer allocation failed.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
PlatformQueuePriorityType FwQueuePriorityType
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.