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];
80 #if !FW_DIRECT_PORT_CALLS 87 this->m_TextLogger_InputPort[port].
init();
92 this->m_TextLogger_InputPort[port].
setPortNum(port);
94 #if FW_OBJECT_NAMES == 1 98 this->m_objName.toChar(),
101 this->m_TextLogger_InputPort[port].setObjName(portName.
toChar());
109 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
113 static_cast<FwAssertArgType>(qStat)
117 #if !FW_DIRECT_PORT_CALLS 128 static_cast<FwAssertArgType>(portNum)
131 return &this->m_TextLogger_InputPort[portNum];
142 Fw::ActiveComponentBase(compName)
171 static_cast<FwAssertArgType>(portNum)
191 ComponentIpcSerializableBuffer msg;
195 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(INT_IF_TEXTQUEUE));
198 static_cast<FwAssertArgType>(_status)
202 _status = msg.serializeFrom(static_cast<FwIndexType>(0));
205 static_cast<FwAssertArgType>(_status)
208 _status = msg.serializeFrom(text);
211 static_cast<FwAssertArgType>(_status)
218 if (qStatus == Os::Queue::Status::FULL) {
225 static_cast<FwAssertArgType>(qStatus)
236 ComponentIpcSerializableBuffer _msg;
246 static_cast<FwAssertArgType>(_msgStatus)
256 static_cast<FwAssertArgType>(_deserStatus)
259 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
261 if (_msgType == ACTIVETEXTLOGGER_COMPONENT_EXIT) {
266 _deserStatus = _msg.deserializeTo(portNum);
269 static_cast<FwAssertArgType>(_deserStatus)
274 case INT_IF_TEXTQUEUE: {
276 _deserStatus = _msg.deserializeTo(text);
281 static_cast<FwAssertArgType>(_deserStatus)
287 _msg.getDeserializeSizeLeft() == 0,
310 void ActiveTextLoggerComponentBase ::
322 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 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.
message to exit active component task
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.