Files
Jungfraujoch/broker/gen/model/Zeromq_metadata_settings.cpp
2024-11-26 16:04:38 +01:00

149 lines
3.6 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.26
* 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.
*/
#include "Zeromq_metadata_settings.h"
#include "Helpers.h"
#include <sstream>
namespace org::openapitools::server::model
{
Zeromq_metadata_settings::Zeromq_metadata_settings()
{
m_Enabled = true;
m_Period_ms = 1000L;
m_Socket_address = "";
m_Socket_addressIsSet = false;
}
void Zeromq_metadata_settings::validate() const
{
std::stringstream msg;
if (!validate(msg))
{
throw org::openapitools::server::helpers::ValidationException(msg.str());
}
}
bool Zeromq_metadata_settings::validate(std::stringstream& msg) const
{
return validate(msg, "");
}
bool Zeromq_metadata_settings::validate(std::stringstream& msg, const std::string& pathPrefix) const
{
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Zeromq_metadata_settings" : pathPrefix;
/* Period_ms */ {
const int64_t& value = m_Period_ms;
const std::string currentValuePath = _pathPrefix + ".periodMs";
if (value < 1ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 1;";
}
}
return success;
}
bool Zeromq_metadata_settings::operator==(const Zeromq_metadata_settings& rhs) const
{
return
(isEnabled() == rhs.isEnabled())
&&
(getPeriodMs() == rhs.getPeriodMs())
&&
((!socketAddressIsSet() && !rhs.socketAddressIsSet()) || (socketAddressIsSet() && rhs.socketAddressIsSet() && getSocketAddress() == rhs.getSocketAddress()))
;
}
bool Zeromq_metadata_settings::operator!=(const Zeromq_metadata_settings& rhs) const
{
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const Zeromq_metadata_settings& o)
{
j = nlohmann::json::object();
j["enabled"] = o.m_Enabled;
j["period_ms"] = o.m_Period_ms;
if(o.socketAddressIsSet())
j["socket_address"] = o.m_Socket_address;
}
void from_json(const nlohmann::json& j, Zeromq_metadata_settings& o)
{
j.at("enabled").get_to(o.m_Enabled);
j.at("period_ms").get_to(o.m_Period_ms);
if(j.find("socket_address") != j.end())
{
j.at("socket_address").get_to(o.m_Socket_address);
o.m_Socket_addressIsSet = true;
}
}
bool Zeromq_metadata_settings::isEnabled() const
{
return m_Enabled;
}
void Zeromq_metadata_settings::setEnabled(bool const value)
{
m_Enabled = value;
}
int64_t Zeromq_metadata_settings::getPeriodMs() const
{
return m_Period_ms;
}
void Zeromq_metadata_settings::setPeriodMs(int64_t const value)
{
m_Period_ms = value;
}
std::string Zeromq_metadata_settings::getSocketAddress() const
{
return m_Socket_address;
}
void Zeromq_metadata_settings::setSocketAddress(std::string const& value)
{
m_Socket_address = value;
m_Socket_addressIsSet = true;
}
bool Zeromq_metadata_settings::socketAddressIsSet() const
{
return m_Socket_addressIsSet;
}
void Zeromq_metadata_settings::unsetSocket_address()
{
m_Socket_addressIsSet = false;
}
} // namespace org::openapitools::server::model