Files
Jungfraujoch/broker/gen/model/Jfjoch_settings.h
2024-11-22 21:25:20 +01:00

192 lines
6.8 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.25
* 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.
*/
/*
* Jfjoch_settings.h
*
* Default settings for Jungfraujoch software. This structure is used to provide default settings using configuration JSON file and is not used in HTTP.
*/
#ifndef Jfjoch_settings_H_
#define Jfjoch_settings_H_
#include "Detector.h"
#include "Zeromq_preview_settings.h"
#include "Image_pusher_type.h"
#include "Pcie_devices_inner.h"
#include <string>
#include "Zeromq_settings.h"
#include "Azim_int_settings.h"
#include "Image_format_settings.h"
#include "Detector_settings.h"
#include "Instrument_metadata.h"
#include <vector>
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
/// Default settings for Jungfraujoch software. This structure is used to provide default settings using configuration JSON file and is not used in HTTP.
/// </summary>
class Jfjoch_settings
{
public:
Jfjoch_settings();
virtual ~Jfjoch_settings() = 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 Jfjoch_settings& rhs) const;
bool operator!=(const Jfjoch_settings& rhs) const;
/////////////////////////////////////////////
/// Jfjoch_settings members
/// <summary>
///
/// </summary>
std::vector<org::openapitools::server::model::Pcie_devices_inner> getPcie() const;
void setPcie(std::vector<org::openapitools::server::model::Pcie_devices_inner> const& value);
bool pcieIsSet() const;
void unsetPcie();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Zeromq_settings getZeromq() const;
void setZeromq(org::openapitools::server::model::Zeromq_settings const& value);
bool zeromqIsSet() const;
void unsetZeromq();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Instrument_metadata getInstrument() const;
void setInstrument(org::openapitools::server::model::Instrument_metadata const& value);
bool instrumentIsSet() const;
void unsetInstrument();
/// <summary>
///
/// </summary>
std::vector<org::openapitools::server::model::Detector> getDetector() const;
void setDetector(std::vector<org::openapitools::server::model::Detector> const& value);
/// <summary>
///
/// </summary>
org::openapitools::server::model::Detector_settings getDetectorSettings() const;
void setDetectorSettings(org::openapitools::server::model::Detector_settings const& value);
bool detectorSettingsIsSet() const;
void unsetDetector_settings();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Azim_int_settings getAzimInt() const;
void setAzimInt(org::openapitools::server::model::Azim_int_settings const& value);
bool azimIntIsSet() const;
void unsetAzim_int();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Image_format_settings getImageFormat() const;
void setImageFormat(org::openapitools::server::model::Image_format_settings const& value);
bool imageFormatIsSet() const;
void unsetImage_format();
/// <summary>
/// Size of internal buffer in MiB for images before they are sent to a stream
/// </summary>
int32_t getImageBufferMiB() const;
void setImageBufferMiB(int32_t const value);
bool imageBufferMiBIsSet() const;
void unsetImage_buffer_MiB();
/// <summary>
/// Number of threads used by the receiver
/// </summary>
int32_t getReceiverThreads() const;
void setReceiverThreads(int32_t const value);
bool receiverThreadsIsSet() const;
void unsetReceiver_threads();
/// <summary>
/// NUMA policy to bind CPUs
/// </summary>
std::string getNumaPolicy() const;
void setNumaPolicy(std::string const& value);
bool numaPolicyIsSet() const;
void unsetNuma_policy();
/// <summary>
/// Location of built JavaScript web frontend
/// </summary>
std::string getFrontendDirectory() const;
void setFrontendDirectory(std::string const& value);
/// <summary>
///
/// </summary>
org::openapitools::server::model::Image_pusher_type getImagePusher() const;
void setImagePusher(org::openapitools::server::model::Image_pusher_type const& value);
/// <summary>
///
/// </summary>
org::openapitools::server::model::Zeromq_preview_settings getZeromqPreview() const;
void setZeromqPreview(org::openapitools::server::model::Zeromq_preview_settings const& value);
bool zeromqPreviewIsSet() const;
void unsetZeromq_preview();
friend void to_json(nlohmann::json& j, const Jfjoch_settings& o);
friend void from_json(const nlohmann::json& j, Jfjoch_settings& o);
protected:
std::vector<org::openapitools::server::model::Pcie_devices_inner> m_Pcie;
bool m_PcieIsSet;
org::openapitools::server::model::Zeromq_settings m_Zeromq;
bool m_ZeromqIsSet;
org::openapitools::server::model::Instrument_metadata m_Instrument;
bool m_InstrumentIsSet;
std::vector<org::openapitools::server::model::Detector> m_Detector;
org::openapitools::server::model::Detector_settings m_Detector_settings;
bool m_Detector_settingsIsSet;
org::openapitools::server::model::Azim_int_settings m_Azim_int;
bool m_Azim_intIsSet;
org::openapitools::server::model::Image_format_settings m_Image_format;
bool m_Image_formatIsSet;
int32_t m_Image_buffer_MiB;
bool m_Image_buffer_MiBIsSet;
int32_t m_Receiver_threads;
bool m_Receiver_threadsIsSet;
std::string m_Numa_policy;
bool m_Numa_policyIsSet;
std::string m_Frontend_directory;
org::openapitools::server::model::Image_pusher_type m_Image_pusher;
org::openapitools::server::model::Zeromq_preview_settings m_Zeromq_preview;
bool m_Zeromq_previewIsSet;
};
} // namespace org::openapitools::server::model
#endif /* Jfjoch_settings_H_ */