// Copyright (2019-2022) Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-or-later #ifndef JUNGFRAUJOCH_JFJOCHFRAMESERIALIZER_H #define JUNGFRAUJOCH_JFJOCHFRAMESERIALIZER_H #include #include #include #include "../common/SpotToSave.h" #include "StartMessage.h" #include "EndMessage.h" #include "ImageMessage.h" class JFJochFrameSerializer { std::vector buffer; size_t max_buffer_size; public: explicit JFJochFrameSerializer(size_t buffer_size); [[nodiscard]] const std::vector &GetBuffer() const; void SerializeSequenceStart(const StartMessage& message); void SerializeSequenceEnd(const EndMessage& message); void SerializeImage(const DataMessage& message); }; #endif //JUNGFRAUJOCH_JFJOCHFRAMESERIALIZER_H