fprime/Os/TaskString.hpp
M Starch 0659f0940b
Refactored type organization (#3422)
* Refactored type organization

* Creating better configuration/types header hierarchy

* Replace FpConfig type aliases with FPP generated aliases

* Add the aliases to the FPP model

* Config + Type Aliases builds

* Renamed Fw/Types.h,hpp to Fw/FPrimeBasicTypes.h,hpp

* Updating to FPP-a7

* Adding newline

* sp

* Fixing minor nit from review

* Spurious ;

---------

Co-authored-by: Andrei Tumbar <andrei.tumbar@jpl.nasa.gov>
2025-04-03 12:11:36 -07:00

55 lines
1.4 KiB
C++

// ======================================================================
// @file TaskString.hpp
// @author F Prime
// @brief A string sized for an OS task name
// ======================================================================
#ifndef OS_TASK_STRING_HPP
#define OS_TASK_STRING_HPP
#include <Fw/FPrimeBasicTypes.hpp>
#include "Fw/Types/StringBase.hpp"
namespace Os {
class TaskString final : public Fw::StringBase {
public:
enum { STRING_SIZE = FW_TASK_NAME_BUFFER_SIZE, SERIALIZED_SIZE = STATIC_SERIALIZED_SIZE(STRING_SIZE) };
TaskString() : StringBase() { *this = ""; }
TaskString(const TaskString& src) : StringBase() { *this = src; }
TaskString(const StringBase& src) : StringBase() { *this = src; }
explicit TaskString(const char* src) : StringBase() { *this = src; }
~TaskString() {}
TaskString& operator=(const TaskString& src) {
(void)StringBase::operator=(src);
return *this;
}
TaskString& operator=(const StringBase& src) {
(void)StringBase::operator=(src);
return *this;
}
TaskString& operator=(const char* src) {
(void)StringBase::operator=(src);
return *this;
}
const char* toChar() const { return this->m_buf; }
StringBase::SizeType getCapacity() const { return sizeof this->m_buf; }
private:
char m_buf[BUFFER_SIZE(STRING_SIZE)];
};
} // namespace Os
#endif