// Copyright (2019-2023) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_CBORSTREAM2SERIALIZER_H #define JUNGFRAUJOCH_CBORSTREAM2SERIALIZER_H #include #include #include #include "../common/SpotToSave.h" #include "JFJochMessages.h" class CBORStream2Serializer { uint8_t *buffer = nullptr; size_t max_buffer_size; size_t curr_size; public: explicit CBORStream2Serializer(uint8_t *buffer, size_t buffer_size); [[nodiscard]] size_t GetBufferSize() const; void SerializeSequenceStart(const StartMessage& message); void SerializeSequenceEnd(const EndMessage& message); void SerializeImage(const DataMessage& message); }; #endif //JUNGFRAUJOCH_CBORSTREAM2SERIALIZER_H