9 #if FW_ENABLE_TEXT_LOGGING 26 BYTE TextQueueIntIfSize[
33 class ComponentIpcSerializableBuffer :
43 MAX_DATA_SIZE =
sizeof(BuffUnion),
45 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
48 ComponentIpcSerializableBuffer() :
Fw::LinearBufferBase(m_buff, sizeof(m_buff)) {
54 U8 m_buff[SERIALIZATION_SIZE];
72 #if !FW_DIRECT_PORT_CALLS 79 this->m_TextLogger_InputPort[port].
init();
84 this->m_TextLogger_InputPort[port].
setPortNum(port);
86 #if FW_OBJECT_NAMES == 1 90 this->m_objName.toChar(),
93 this->m_TextLogger_InputPort[port].setObjName(portName.
toChar());
101 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
105 static_cast<FwAssertArgType>(qStat)
109 #if !FW_DIRECT_PORT_CALLS 120 static_cast<FwAssertArgType>(portNum)
123 return &this->m_TextLogger_InputPort[portNum];
134 Fw::ActiveComponentBase(compName)
163 static_cast<FwAssertArgType>(portNum)
183 ComponentIpcSerializableBuffer msg;
187 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(INT_IF_TEXTQUEUE));
190 static_cast<FwAssertArgType>(_status)
194 _status = msg.serializeFrom(static_cast<FwIndexType>(0));
197 static_cast<FwAssertArgType>(_status)
200 _status = msg.serializeFrom(text);
203 static_cast<FwAssertArgType>(_status)
210 if (qStatus == Os::Queue::Status::FULL) {
217 static_cast<FwAssertArgType>(qStatus)
228 ComponentIpcSerializableBuffer _msg;
238 static_cast<FwAssertArgType>(_msgStatus)
248 static_cast<FwAssertArgType>(_deserStatus)
251 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
253 if (_msgType == ACTIVETEXTLOGGER_COMPONENT_EXIT) {
258 _deserStatus = _msg.deserializeTo(portNum);
261 static_cast<FwAssertArgType>(_deserStatus)
266 case INT_IF_TEXTQUEUE: {
268 _deserStatus = _msg.deserializeTo(text);
273 static_cast<FwAssertArgType>(_deserStatus)
279 _msg.getDeserializeSizeLeft() == 0,
302 void ActiveTextLoggerComponentBase ::
314 compPtr->TextLogger_handlerBase(
Serialization/Deserialization operation was successful.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
virtual void TextQueue_internalInterfaceHandler(const Fw::InternalInterfaceString &text)=0
Internal interface handler for TextQueue.
void init()
Initialization function.
PlatformSizeType FwSizeType
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
Status
status returned from the queue send function
message to exit active component task
virtual void TextLogger_handler(FwIndexType portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::TextLogString &text)=0
Handler for input port TextLogger.
ActiveTextLoggerComponentBase(const char *compName="")
Construct ActiveTextLoggerComponentBase object.
Os::Queue m_queue
queue object for active component
void init()
Object initializer.
SerializeStatus
forward declaration for string
Message will block until space is available.
FwIdType FwEventIdType
The type of an event identifier.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
virtual ~ActiveTextLoggerComponentBase()
Destroy ActiveTextLoggerComponentBase object.
Fw::InputLogTextPort * get_TextLogger_InputPort(FwIndexType portNum)
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Errors dispatching messages.
const char * toChar() const
Convert to a C-style char*.
Enum representing event severity.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
uint8_t U8
8-bit unsigned integer
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
A message was sent requesting an exit of the loop.
PlatformIndexType FwIndexType
void incNumMsgDropped()
increment the number of messages dropped
RateGroupDivider component implementation.
message sent/received okay
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
void TextLogger_handlerBase(FwIndexType portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::TextLogString &text)
Handler base-class function for input port TextLogger.
static constexpr FwIndexType getNum_TextLogger_InputPorts()
void TextQueue_internalInterfaceInvoke(const Fw::InternalInterfaceString &text)
Internal interface base-class function for TextQueue.
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.