F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
LogString.hpp
Go to the documentation of this file.
1 #ifndef FW_LOG_STRING_TYPE_HPP
2 #define FW_LOG_STRING_TYPE_HPP
3 
6 #include <FpConfig.hpp>
7 #include <Fw/Cfg/SerIds.hpp>
8 
9 namespace Fw {
10 
11  class LogStringArg : public Fw::StringBase {
12  public:
13 
14  enum {
16  SERIALIZED_SIZE = FW_LOG_STRING_MAX_SIZE + sizeof(FwBuffSizeType) // size of buffer + storage of two size words
17  };
18 
19  LogStringArg(const char* src);
20  LogStringArg(const StringBase& src);
21  LogStringArg(const LogStringArg& src);
22  LogStringArg(void);
23  ~LogStringArg(void);
24  const char* toChar(void) const;
25  NATIVE_UINT_TYPE length(void) const;
26  // This method is set by the autocode to the max length specified in the XML declaration for a particular event.
27  void setMaxSerialize(NATIVE_UINT_TYPE size); // limit amount serialized
28 
29  const LogStringArg& operator=(const LogStringArg& other);
30 
33 #if FW_SERIALIZABLE_TO_STRING
34  void toString(StringBase& text) const;
35 #endif
36 
37  private:
38 
39  void copyBuff(const char* buff, NATIVE_UINT_TYPE size);
40  NATIVE_UINT_TYPE getCapacity(void) const ;
41  void terminate(NATIVE_UINT_TYPE size);
42 
43  char m_buf[FW_LOG_STRING_MAX_SIZE];
44  NATIVE_UINT_TYPE m_maxSer;
45  };
46 
47 }
48 
49 #endif
StringType.hpp
Declares ISF string base class.
Fw::LogStringArg::~LogStringArg
~LogStringArg(void)
Definition: LogString.cpp:31
Fw::FW_TYPEID_LOG_STR
@ FW_TYPEID_LOG_STR
Log string type id.
Definition: SerIds.hpp:50
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Fw::LogStringArg
Definition: LogString.hpp:11
Fw::StringBase
Definition: StringType.hpp:23
Fw::LogStringArg::toChar
const char * toChar(void) const
Definition: LogString.cpp:38
Fw::LogStringArg::operator=
const LogStringArg & operator=(const LogStringArg &other)
equal operator for other strings
Definition: LogString.cpp:119
Fw::LogStringArg::deserialize
SerializeStatus deserialize(SerializeBufferBase &buffer)
deserialize to contents
Definition: LogString.cpp:78
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
Fw::LogStringArg::serialize
SerializeStatus serialize(SerializeBufferBase &buffer) const
serialize contents
Definition: LogString.cpp:52
Fw::LogStringArg::setMaxSerialize
void setMaxSerialize(NATIVE_UINT_TYPE size)
Definition: LogString.cpp:106
FW_LOG_STRING_MAX_SIZE
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
Definition: FpConfig.hpp:251
FpConfig.hpp
ISF configuration file.
Fw::LogStringArg::SERIALIZED_TYPE_ID
@ SERIALIZED_TYPE_ID
Definition: LogString.hpp:15
Fw::LogStringArg::LogStringArg
LogStringArg(void)
Definition: LogString.cpp:26
Fw::LogStringArg::length
NATIVE_UINT_TYPE length(void) const
Get length of string.
Definition: LogString.cpp:34
BasicTypes.hpp
Declares ISF basic types.
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::LogStringArg::SERIALIZED_SIZE
@ SERIALIZED_SIZE
Definition: LogString.hpp:16
Fw
Definition: BufferGetPortAc.cpp:6