F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
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:310
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:25
static constexpr SizeType STATIC_SERIALIZED_SIZE(SizeType maxLength)
Definition: StringBase.hpp:34
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
Definition: StringBase.hpp:40
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