/** * 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.57 * 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 "Indexing_algorithm.h" #include "Helpers.h" #include #include namespace org::openapitools::server::model { Indexing_algorithm::Indexing_algorithm() { } void Indexing_algorithm::validate() const { std::stringstream msg; if (!validate(msg)) { throw org::openapitools::server::helpers::ValidationException(msg.str()); } } bool Indexing_algorithm::validate(std::stringstream& msg) const { return validate(msg, ""); } bool Indexing_algorithm::validate(std::stringstream& msg, const std::string& pathPrefix) const { bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "Indexing_algorithm" : pathPrefix; if (m_value == Indexing_algorithm::eIndexing_algorithm::INVALID_VALUE_OPENAPI_GENERATED) { success = false; msg << _pathPrefix << ": has no value;"; } return success; } bool Indexing_algorithm::operator==(const Indexing_algorithm& rhs) const { return getValue() == rhs.getValue() ; } bool Indexing_algorithm::operator!=(const Indexing_algorithm& rhs) const { return !(*this == rhs); } void to_json(nlohmann::json& j, const Indexing_algorithm& o) { j = nlohmann::json::object(); switch (o.getValue()) { case Indexing_algorithm::eIndexing_algorithm::INVALID_VALUE_OPENAPI_GENERATED: j = "INVALID_VALUE_OPENAPI_GENERATED"; break; case Indexing_algorithm::eIndexing_algorithm::FFBIDX: j = "FFBIDX"; break; case Indexing_algorithm::eIndexing_algorithm::FFT: j = "FFT"; break; case Indexing_algorithm::eIndexing_algorithm::AUTO: j = "Auto"; break; case Indexing_algorithm::eIndexing_algorithm::NONE: j = "None"; break; } } void from_json(const nlohmann::json& j, Indexing_algorithm& o) { auto s = j.get(); if (s == "FFBIDX") { o.setValue(Indexing_algorithm::eIndexing_algorithm::FFBIDX); } else if (s == "FFT") { o.setValue(Indexing_algorithm::eIndexing_algorithm::FFT); } else if (s == "Auto") { o.setValue(Indexing_algorithm::eIndexing_algorithm::AUTO); } else if (s == "None") { o.setValue(Indexing_algorithm::eIndexing_algorithm::NONE); } else { std::stringstream ss; ss << "Unexpected value " << s << " in json" << " cannot be converted to enum of type" << " Indexing_algorithm::eIndexing_algorithm"; throw std::invalid_argument(ss.str()); } } Indexing_algorithm::eIndexing_algorithm Indexing_algorithm::getValue() const { return m_value; } void Indexing_algorithm::setValue(Indexing_algorithm::eIndexing_algorithm value) { m_value = value; } } // namespace org::openapitools::server::model