F´ Flight Software - C/C++ Documentation
NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
Functions
a
b
c
d
g
h
i
m
r
s
t
v
w
Variables
Typedefs
Enumerations
Enumerator
a
b
f
h
i
n
o
p
s
v
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Variables
a
b
d
e
f
g
h
i
l
m
n
p
q
r
s
t
u
v
w
x
Typedefs
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
w
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
Functions
i
m
p
s
u
Variables
Typedefs
Enumerations
Enumerator
c
d
e
f
m
o
p
r
s
t
v
Macros
_
a
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Buffer.hpp
Go to the documentation of this file.
1
// ======================================================================
2
// \title Buffer.hpp
3
// \author mstarch
4
// \brief hpp file for Fw::Buffer definition
5
//
6
// \copyright
7
// Copyright 2009-2020, by the California Institute of Technology.
8
// ALL RIGHTS RESERVED. United States Government Sponsorship
9
// acknowledged.
10
//
11
// ======================================================================
12
#ifndef BUFFER_HPP_
13
#define BUFFER_HPP_
14
15
#include <Fw/Types/BasicTypes.hpp>
16
#include <Fw/Types/Serializable.hpp>
17
#if FW_SERIALIZABLE_TO_STRING
18
#include <Fw/Types/StringType.hpp>
19
#include <cstdio>
// snprintf
20
#ifdef BUILD_UT
21
#include <iostream>
22
#include <
Fw/Types/String.hpp
>
23
#endif
24
#endif
25
26
namespace
Fw
{
27
43
class
Buffer
:
public
Fw::Serializable
{
44
45
public
:
46
47
enum
{
48
SERIALIZED_SIZE
=
sizeof
(U32) +
sizeof
(U32) +
sizeof
(
U8
*),
49
NO_CONTEXT
= 0xFFFFFFFF
50
};
51
56
Buffer
();
57
60
Buffer
(
const
Buffer
& src);
61
69
Buffer
(
U8
* data, U32 size, U32 context=
NO_CONTEXT
);
70
73
Buffer
&
operator=
(
const
Buffer
& src);
74
82
bool
operator==
(
const
Buffer
& src)
const
;
83
84
// ----------------------------------------------------------------------
85
// Serialization functions
86
// ----------------------------------------------------------------------
87
94
SerializeBufferBase
&
getSerializeRepr
();
95
104
Fw::SerializeStatus
serialize
(
Fw::SerializeBufferBase
& serialBuffer)
const
;
105
114
Fw::SerializeStatus
deserialize
(
Fw::SerializeBufferBase
& buffer);
115
116
117
// ----------------------------------------------------------------------
118
// Accessor functions
119
// ----------------------------------------------------------------------
120
123
U8
*
getData
()
const
;
124
127
U32
getSize
()
const
;
128
131
U32
getContext
()
const
;
132
135
void
setData
(
U8
* data);
136
139
void
setSize
(U32 size);
140
143
void
setContext
(U32 context);
144
149
void
set
(
U8
* data, U32 size, U32 context=
NO_CONTEXT
);
150
151
#if FW_SERIALIZABLE_TO_STRING || BUILD_UT
152
void
toString(
Fw::StringBase
& text)
const
;
154
#endif
155
156
#ifdef BUILD_UT
157
friend
std::ostream& operator<<(std::ostream& os,
const
Buffer
& obj);
160
#endif
161
162
PRIVATE:
163
Fw::ExternalSerializeBuffer
m_serialize_repr;
//<! Representation for serialization and deserialization functions
164
U8
* m_bufferData;
//<! data - A pointer to the data
165
U32 m_size;
//<! size - The data size in bytes
166
U32 m_context;
167
168
};
169
}
// end namespace Fw
170
#endif
/* BUFFER_HPP_ */
171
Fw::Buffer::NO_CONTEXT
@ NO_CONTEXT
Value representing no context.
Definition:
Buffer.hpp:49
Fw::SerializeBufferBase
Definition:
Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition:
Serializable.hpp:14
Fw::Buffer::operator=
Buffer & operator=(const Buffer &src)
Definition:
Buffer.cpp:48
Fw::Buffer::setContext
void setContext(U32 context)
Definition:
Buffer.cpp:86
Fw::Buffer::getData
U8 * getData() const
Definition:
Buffer.cpp:60
Fw::StringBase
Definition:
StringType.hpp:23
U8
uint8_t U8
8-bit unsigned integer
Definition:
BasicTypes.hpp:73
Fw::Buffer::setData
void setData(U8 *data)
Definition:
Buffer.cpp:72
Fw::Buffer::getContext
U32 getContext() const
Definition:
Buffer.cpp:68
Fw::Buffer::SERIALIZED_SIZE
@ SERIALIZED_SIZE
Size of Fw::Buffer when serialized.
Definition:
Buffer.hpp:48
Fw::Buffer
Definition:
Buffer.hpp:43
Fw::Serializable
forward declaration
Definition:
Serializable.hpp:26
Fw::Buffer::getSerializeRepr
SerializeBufferBase & getSerializeRepr()
Definition:
Buffer.cpp:99
Fw::Buffer::getSize
U32 getSize() const
Definition:
Buffer.cpp:64
Fw::Buffer::setSize
void setSize(U32 size)
Definition:
Buffer.cpp:79
Fw::Buffer::set
void set(U8 *data, U32 size, U32 context=NO_CONTEXT)
Definition:
Buffer.cpp:90
String.hpp
Fw::ExternalSerializeBuffer
Definition:
Serializable.hpp:153
Fw::Buffer::Buffer
Buffer()
Definition:
Buffer.cpp:23
Fw::Buffer::operator==
bool operator==(const Buffer &src) const
Definition:
Buffer.cpp:56
Fw::Buffer::serialize
Fw::SerializeStatus serialize(Fw::SerializeBufferBase &serialBuffer) const
Definition:
Buffer.cpp:103
Fw::Buffer::deserialize
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Definition:
Buffer.cpp:126
Fw
Definition:
SerIds.hpp:20
Fw
Buffer
Buffer.hpp
Generated by
1.8.17