241 lines
9.7 KiB
C++
241 lines
9.7 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. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
|
|
*
|
|
* The version of the OpenAPI document: 1.0.0-rc.94
|
|
* 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 "Zeromq_preview_settings.h"
|
|
#include "Pcie_devices_inner.h"
|
|
#include <string>
|
|
#include "File_writer_settings.h"
|
|
#include "Azim_int_settings.h"
|
|
#include "Image_format_settings.h"
|
|
#include "Zeromq_metadata_settings.h"
|
|
#include "Detector_settings.h"
|
|
#include <vector>
|
|
#include "Indexing_settings.h"
|
|
#include "Detector.h"
|
|
#include "Image_pusher_type.h"
|
|
#include "Zeromq_settings.h"
|
|
#include "Instrument_metadata.h"
|
|
#include "Jfjoch_settings_ssl.h"
|
|
#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>
|
|
org::openapitools::server::model::File_writer_settings getFileWriter() const;
|
|
void setFileWriter(org::openapitools::server::model::File_writer_settings const& value);
|
|
bool fileWriterIsSet() const;
|
|
void unsetFile_writer();
|
|
/// <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::Indexing_settings getIndexing() const;
|
|
void setIndexing(org::openapitools::server::model::Indexing_settings const& value);
|
|
bool indexingIsSet() const;
|
|
void unsetIndexing();
|
|
/// <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>
|
|
/// Print extra debug information
|
|
/// </summary>
|
|
bool isVerbose() const;
|
|
void setVerbose(bool const value);
|
|
bool verboseIsSet() const;
|
|
void unsetVerbose();
|
|
/// <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::Jfjoch_settings_ssl getSsl() const;
|
|
void setSsl(org::openapitools::server::model::Jfjoch_settings_ssl const& value);
|
|
bool sslIsSet() const;
|
|
void unsetSsl();
|
|
/// <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();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
org::openapitools::server::model::Zeromq_metadata_settings getZeromqMetadata() const;
|
|
void setZeromqMetadata(org::openapitools::server::model::Zeromq_metadata_settings const& value);
|
|
bool zeromqMetadataIsSet() const;
|
|
void unsetZeromq_metadata();
|
|
|
|
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;
|
|
org::openapitools::server::model::File_writer_settings m_File_writer;
|
|
bool m_File_writerIsSet;
|
|
std::vector<org::openapitools::server::model::Detector> m_Detector;
|
|
|
|
org::openapitools::server::model::Indexing_settings m_Indexing;
|
|
bool m_IndexingIsSet;
|
|
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;
|
|
bool m_Verbose;
|
|
bool m_VerboseIsSet;
|
|
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::Jfjoch_settings_ssl m_Ssl;
|
|
bool m_SslIsSet;
|
|
org::openapitools::server::model::Image_pusher_type m_Image_pusher;
|
|
|
|
org::openapitools::server::model::Zeromq_preview_settings m_Zeromq_preview;
|
|
bool m_Zeromq_previewIsSet;
|
|
org::openapitools::server::model::Zeromq_metadata_settings m_Zeromq_metadata;
|
|
bool m_Zeromq_metadataIsSet;
|
|
|
|
};
|
|
|
|
} // namespace org::openapitools::server::model
|
|
|
|
#endif /* Jfjoch_settings_H_ */
|