F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TlmString.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // @file TlmString.hpp
3 // @author F Prime
4 // @brief A string sized for a telemetry channel
5 // ======================================================================
6 
7 #ifndef FW_TLM_STRING_HPP
8 #define FW_TLM_STRING_HPP
9 
10 #include <FpConfig.hpp>
11 
12 #include "Fw/Cfg/SerIds.hpp"
13 #include "Fw/Types/StringBase.hpp"
14 
15 namespace Fw {
16 
17 class TlmString final : public StringBase {
18  public:
19  enum {
23  };
24 
25  TlmString() : StringBase() { *this = ""; }
26 
27  TlmString(const TlmString& src) : StringBase() { *this = src; }
28 
29  TlmString(const StringBase& src) : StringBase() { *this = src; }
30 
31  TlmString(const char* src) : StringBase() { *this = src; }
32 
34 
35  TlmString& operator=(const TlmString& src) {
36  (void)StringBase::operator=(src);
37  return *this;
38  }
39 
41  (void)StringBase::operator=(src);
42  return *this;
43  }
44 
45  TlmString& operator=(const char* src) {
46  (void)StringBase::operator=(src);
47  return *this;
48  }
49 
50  const char* toChar() const { return this->m_buf; }
51 
52  StringBase::SizeType getCapacity() const { return sizeof this->m_buf; }
53 
54  private:
55  char m_buf[BUFFER_SIZE(STRING_SIZE)];
56 };
57 } // namespace Fw
58 
59 #endif
#define FW_TLM_STRING_MAX_SIZE
Max size of channelized telemetry string type.
Definition: FpConfig.h:329
C++-compatible configuration header for fprime configuration.
Definitions for ISF type serial IDs.
Declares F Prime string base class.
NATIVE_UINT_TYPE SizeType
Definition: StringBase.hpp:26
static constexpr SizeType STATIC_SERIALIZED_SIZE(SizeType maxLength)
Definition: StringBase.hpp:35
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
Definition: StringBase.hpp:41
TlmString(const TlmString &src)
Definition: TlmString.hpp:27
TlmString & operator=(const TlmString &src)
Definition: TlmString.hpp:35
TlmString & operator=(const char *src)
Definition: TlmString.hpp:45
TlmString & operator=(const StringBase &src)
Definition: TlmString.hpp:40
TlmString(const StringBase &src)
Definition: TlmString.hpp:29
TlmString(const char *src)
Definition: TlmString.hpp:31
const char * toChar() const
Definition: TlmString.hpp:50
StringBase::SizeType getCapacity() const
return size of buffer
Definition: TlmString.hpp:52
@ FW_TYPEID_TLM_STR
Telemetry string type id.
Definition: SerIds.hpp:48