F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
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 #ifndef FW_TLM_STRING_TYPE_HPP
2 #define FW_TLM_STRING_TYPE_HPP
3 
6 #include <FpConfig.hpp>
7 #include <Fw/Cfg/SerIds.hpp>
8 
9 namespace Fw {
10 
11  class TlmString : public Fw::StringBase {
12  public:
13 
14  enum {
16  SERIALIZED_SIZE = FW_TLM_STRING_MAX_SIZE + sizeof(FwBuffSizeType) // size of buffer + storage of size word
17  };
18 
19  TlmString(const char* src);
20  TlmString(const StringBase& src);
21  TlmString(const TlmString& src);
22  TlmString(void);
23  ~TlmString(void);
24  const char* toChar(void) const;
25  NATIVE_UINT_TYPE length(void) const;
26  void setMaxSerialize(NATIVE_UINT_TYPE size); // limit amount serialized
27 
28  const TlmString& operator=(const TlmString& other);
29 
32 
33 #if FW_SERIALIZABLE_TO_STRING
34  void toString(StringBase& text) const;
35 #endif
36  PRIVATE:
37  void copyBuff(const char* buff, NATIVE_UINT_TYPE size);
38  NATIVE_UINT_TYPE getCapacity(void) const ;
39  void terminate(NATIVE_UINT_TYPE size);
40 
41  char m_buf[FW_TLM_STRING_MAX_SIZE];
42  NATIVE_UINT_TYPE m_maxSer;
43  };
44 
45 }
46 
47 #endif
StringType.hpp
Declares ISF string base class.
Fw::TlmString
Definition: TlmString.hpp:11
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Fw::StringBase
Definition: StringType.hpp:23
Fw::TlmString::TlmString
TlmString(void)
Definition: TlmString.cpp:23
Fw::TlmString::toChar
const char * toChar(void) const
Definition: TlmString.cpp:34
Fw::TlmString::deserialize
SerializeStatus deserialize(SerializeBufferBase &buffer)
deserialize to contents
Definition: TlmString.cpp:69
Fw::TlmString::SERIALIZED_SIZE
@ SERIALIZED_SIZE
Definition: TlmString.hpp:16
Fw::TlmString::setMaxSerialize
void setMaxSerialize(NATIVE_UINT_TYPE size)
Definition: TlmString.cpp:95
Fw::TlmString::serialize
SerializeStatus serialize(SerializeBufferBase &buffer) const
serialize contents
Definition: TlmString.cpp:48
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
Fw::TlmString::length
NATIVE_UINT_TYPE length(void) const
Get length of string.
Definition: TlmString.cpp:30
Fw::TlmString::operator=
const TlmString & operator=(const TlmString &other)
equal operator for other strings
Definition: TlmString.cpp:108
FpConfig.hpp
ISF configuration file.
Fw::FW_TYPEID_TLM_STR
@ FW_TYPEID_TLM_STR
Telemetry string type id.
Definition: SerIds.hpp:48
FW_TLM_STRING_MAX_SIZE
#define FW_TLM_STRING_MAX_SIZE
Max size of channelized telemetry string type.
Definition: FpConfig.hpp:261
Fw::TlmString::~TlmString
~TlmString(void)
Definition: TlmString.cpp:27
BasicTypes.hpp
Declares ISF basic types.
Fw::TlmString::SERIALIZED_TYPE_ID
@ SERIALIZED_TYPE_ID
Definition: TlmString.hpp:15
SerIds.hpp
Definitions for ISF type serial IDs.
FwBuffSizeType
#define FwBuffSizeType
Type representation for storing a buffer or string size.
Definition: FpConfig.hpp:79
Fw
Definition: Buffer.cpp:21