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
49 return sizeof(m_buff);
56 const U8* getBuffAddr()
const {
62 U8 m_buff[SERIALIZATION_SIZE];
86 this->m_TextLogger_InputPort[port].
init();
91 this->m_TextLogger_InputPort[port].
setPortNum(port);
93 #if FW_OBJECT_NAMES == 1 97 this->m_objName.toChar(),
100 this->m_TextLogger_InputPort[port].setObjName(portName.
toChar());
107 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
111 static_cast<FwAssertArgType>(qStat)
124 static_cast<FwAssertArgType>(portNum)
127 return &this->m_TextLogger_InputPort[portNum];
136 Fw::ActiveComponentBase(compName)
165 static_cast<FwAssertArgType>(portNum)
185 ComponentIpcSerializableBuffer msg;
189 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(INT_IF_TEXTQUEUE));
192 static_cast<FwAssertArgType>(_status)
196 _status = msg.serializeFrom(static_cast<FwIndexType>(0));
199 static_cast<FwAssertArgType>(_status)
202 _status = msg.serializeFrom(text);
205 static_cast<FwAssertArgType>(_status)
212 if (qStatus == Os::Queue::Status::FULL) {
219 static_cast<FwAssertArgType>(qStatus)
230 ComponentIpcSerializableBuffer _msg;
240 static_cast<FwAssertArgType>(_msgStatus)
250 static_cast<FwAssertArgType>(_deserStatus)
253 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
255 if (_msgType == ACTIVETEXTLOGGER_COMPONENT_EXIT) {
260 _deserStatus = _msg.deserializeTo(portNum);
263 static_cast<FwAssertArgType>(_deserStatus)
268 case INT_IF_TEXTQUEUE: {
270 _deserStatus = _msg.deserializeTo(text);
275 static_cast<FwAssertArgType>(_deserStatus)
281 _msg.getDeserializeSizeLeft() == 0,
304 void ActiveTextLoggerComponentBase ::
316 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
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)
const char * toChar() const
Convert to a C-style char*.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Errors dispatching messages.
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 to exit active component task
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.