/**
 * Namf_Communication
 * AMF Communication Service © 2019, 3GPP Organizational Partners (ARIB, ATIS,
 * CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
 *
 * The version of the OpenAPI document: 1.1.0.alpha-1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator
 * (https://openapi-generator.tech). https://openapi-generator.tech Do not edit
 * the class manually.
 */

#include "Arp.h"

namespace oai {
namespace amf {
namespace model {

Arp::Arp() {
  m_PriorityLevel = 0;
}

Arp::~Arp() {}

void Arp::validate() {
  // TODO: implement validation
}

void to_json(nlohmann::json& j, const Arp& o) {
  j                  = nlohmann::json();
  j["priorityLevel"] = o.m_PriorityLevel;
  j["preemptCap"]    = o.m_PreemptCap;
  j["preemptVuln"]   = o.m_PreemptVuln;
}

void from_json(const nlohmann::json& j, Arp& o) {
  j.at("priorityLevel").get_to(o.m_PriorityLevel);
  j.at("preemptCap").get_to(o.m_PreemptCap);
  j.at("preemptVuln").get_to(o.m_PreemptVuln);
}

int32_t Arp::getPriorityLevel() const {
  return m_PriorityLevel;
}
void Arp::setPriorityLevel(int32_t const value) {
  m_PriorityLevel = value;
}
PreemptionCapability Arp::getPreemptCap() const {
  return m_PreemptCap;
}
void Arp::setPreemptCap(PreemptionCapability const& value) {
  m_PreemptCap = value;
}
PreemptionVulnerability Arp::getPreemptVuln() const {
  return m_PreemptVuln;
}
void Arp::setPreemptVuln(PreemptionVulnerability const& value) {
  m_PreemptVuln = value;
}

}  // namespace model
}  // namespace amf
}  // namespace oai
