Files
Jungfraujoch/broker/gen/model/Image_buffer_status.h
2025-07-15 09:55:19 +02:00

106 lines
3.1 KiB
C++

/**
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
*
* The version of the OpenAPI document: 1.0.0-rc.64
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* Image_buffer_status.h
*
*
*/
#ifndef Image_buffer_status_H_
#define Image_buffer_status_H_
#include <vector>
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
///
/// </summary>
class Image_buffer_status
{
public:
Image_buffer_status();
virtual ~Image_buffer_status() = default;
/// <summary>
/// Validate the current data in the model. Throws a ValidationException on failure.
/// </summary>
void validate() const;
/// <summary>
/// Validate the current data in the model. Returns false on error and writes an error
/// message into the given stringstream.
/// </summary>
bool validate(std::stringstream& msg) const;
/// <summary>
/// Helper overload for validate. Used when one model stores another model and calls it's validate.
/// Not meant to be called outside that case.
/// </summary>
bool validate(std::stringstream& msg, const std::string& pathPrefix) const;
bool operator==(const Image_buffer_status& rhs) const;
bool operator!=(const Image_buffer_status& rhs) const;
/////////////////////////////////////////////
/// Image_buffer_status members
/// <summary>
/// Smallest image number available in the buffer
/// </summary>
int64_t getMinImageNumber() const;
void setMinImageNumber(int64_t const value);
/// <summary>
/// Largest image number available in the buffer
/// </summary>
int64_t getMaxImageNumber() const;
void setMaxImageNumber(int64_t const value);
/// <summary>
/// Image numbers currently present in the buffer.
/// </summary>
std::vector<int64_t> getImageNumbers() const;
void setImageNumbers(std::vector<int64_t> const value);
/// <summary>
/// Number of slots in the image buffer. This number, compared to number of images in data collection and frame rate will determine \&quot;retention\&quot; rate of the image buffer.
/// </summary>
int64_t getTotalSlots() const;
void setTotalSlots(int64_t const value);
/// <summary>
/// Slots available for the data collection
/// </summary>
int64_t getAvailableSlots() const;
void setAvailableSlots(int64_t const value);
friend void to_json(nlohmann::json& j, const Image_buffer_status& o);
friend void from_json(const nlohmann::json& j, Image_buffer_status& o);
protected:
int64_t m_Min_image_number;
int64_t m_Max_image_number;
std::vector<int64_t> m_Image_numbers;
int64_t m_Total_slots;
int64_t m_Available_slots;
};
} // namespace org::openapitools::server::model
#endif /* Image_buffer_status_H_ */