Files
fsfw/serialize/SerialBufferAdapter.h
T

36 lines
877 B
C++
Raw Normal View History

#ifndef SERIALBUFFERADAPTER_H_
#define SERIALBUFFERADAPTER_H_
2020-08-13 20:53:35 +02:00
#include "SerializeIF.h"
#include "SerializeAdapter.h"
2019-08-28 14:50:24 +02:00
/**
* \ingroup serialize
*/
2018-07-12 16:29:32 +02:00
template<typename T>
class SerialBufferAdapter: public SerializeIF {
public:
2018-07-12 16:29:32 +02:00
SerialBufferAdapter(const uint8_t * buffer, T bufferLength, bool serializeLenght = false);
SerialBufferAdapter(uint8_t* buffer, T bufferLength,
bool serializeLenght = false);
virtual ~SerialBufferAdapter();
2020-04-21 22:28:43 +02:00
virtual ReturnValue_t serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const override;
2020-04-21 22:28:43 +02:00
virtual size_t getSerializedSize() const override;
2020-04-21 22:28:43 +02:00
virtual ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) override;
private:
2018-07-12 16:29:32 +02:00
bool serializeLength;
const uint8_t *constBuffer;
uint8_t *buffer;
2018-07-12 16:29:32 +02:00
T bufferLength;
};
2018-07-12 16:29:32 +02:00
#endif /* SERIALBUFFERADAPTER_H_ */