// Copyright (2019-2024) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_HDF5DATAFILEPLUGIN_H #define JUNGFRAUJOCH_HDF5DATAFILEPLUGIN_H #include "../frame_serialize/JFJochMessages.h" #include "HDF5Objects.h" class HDF5DataFilePlugin { protected: size_t max_image_number = 0; public: virtual void OpenFile(HDF5File &data_file, const DataMessage& msg) = 0; virtual void Write(const DataMessage& msg, uint64_t image_number) = 0; virtual void WriteFinal(HDF5File &data_file) = 0; virtual ~HDF5DataFilePlugin() = default; }; #endif //JUNGFRAUJOCH_HDF5DATAFILEPLUGIN_H