/**
 * Nsmf_PDUSession
 * SMF PDU Session 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 "SmContextUpdateData.h"

namespace oai {
namespace smf_server {
namespace model {

SmContextUpdateData::SmContextUpdateData() {
  m_Pei                     = "";
  m_PeiIsSet                = false;
  m_ServingNfId             = "";
  m_ServingNfIdIsSet        = false;
  m_GuamiIsSet              = false;
  m_ServingNetworkIsSet     = false;
  m_BackupAmfInfoIsSet      = false;
  m_AnTypeIsSet             = false;
  m_SecondAnTypeIsSet       = false;
  m_RatTypeIsSet            = false;
  m_PresenceInLadnIsSet     = false;
  m_UeLocationIsSet         = false;
  m_UeTimeZone              = "";
  m_UeTimeZoneIsSet         = false;
  m_AddUeLocationIsSet      = false;
  m_UpCnxStateIsSet         = false;
  m_HoStateIsSet            = false;
  m_ToBeSwitched            = false;
  m_ToBeSwitchedIsSet       = false;
  m_FailedToBeSwitched      = false;
  m_FailedToBeSwitchedIsSet = false;
  m_N1SmMsgIsSet            = false;
  m_N2SmInfoIsSet           = false;
  m_N2SmInfoTypeIsSet       = false;
  m_TargetIdIsSet           = false;
  m_TargetServingNfId       = "";
  m_TargetServingNfIdIsSet  = false;
  m_SmContextStatusUri      = "";
  m_SmContextStatusUriIsSet = false;
  m_DataForwarding          = false;
  m_DataForwardingIsSet     = false;
  m_EpsBearerSetupIsSet     = false;
  m_RevokeEbiListIsSet      = false;
  m_Release                 = false;
  m_ReleaseIsSet            = false;
  m_CauseIsSet              = false;
  m_NgApCauseIsSet          = false;
  m__5gMmCauseValue         = 0;
  m__5gMmCauseValueIsSet    = false;
  m_SNssaiIsSet             = false;
  m_TraceDataIsSet          = false;
  m_EpsInterworkingIndIsSet = false;
  m_AnTypeCanBeChanged      = false;
  m_AnTypeCanBeChangedIsSet = false;
  m_N2SmInfoExt1IsSet       = false;
  m_N2SmInfoTypeExt1IsSet   = false;
  m_MaReleaseIndIsSet       = false;
  m_ExemptionIndIsSet       = false;
}

SmContextUpdateData::~SmContextUpdateData() {}

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

void to_json(nlohmann::json& j, const SmContextUpdateData& o) {
  j = nlohmann::json();
  if (o.peiIsSet()) j["pei"] = o.m_Pei;
  if (o.servingNfIdIsSet()) j["servingNfId"] = o.m_ServingNfId;
  if (o.guamiIsSet()) j["guami"] = o.m_Guami;
  if (o.servingNetworkIsSet()) j["servingNetwork"] = o.m_ServingNetwork;
  if (o.backupAmfInfoIsSet()) j["backupAmfInfo"] = o.m_BackupAmfInfo;
  if (o.anTypeIsSet()) j["anType"] = o.m_AnType;
  if (o.secondAnTypeIsSet()) j["secondAnType"] = o.m_SecondAnType;
  if (o.ratTypeIsSet()) j["ratType"] = o.m_RatType;
  if (o.presenceInLadnIsSet()) j["presenceInLadn"] = o.m_PresenceInLadn;
  if (o.ueLocationIsSet()) j["ueLocation"] = o.m_UeLocation;
  if (o.ueTimeZoneIsSet()) j["ueTimeZone"] = o.m_UeTimeZone;
  if (o.addUeLocationIsSet()) j["addUeLocation"] = o.m_AddUeLocation;
  if (o.upCnxStateIsSet()) j["upCnxState"] = o.m_UpCnxState;
  if (o.hoStateIsSet()) j["hoState"] = o.m_HoState;
  if (o.toBeSwitchedIsSet()) j["toBeSwitched"] = o.m_ToBeSwitched;
  if (o.failedToBeSwitchedIsSet())
    j["failedToBeSwitched"] = o.m_FailedToBeSwitched;
  if (o.n1SmMsgIsSet()) j["n1SmMsg"] = o.m_N1SmMsg;
  if (o.n2SmInfoIsSet()) j["n2SmInfo"] = o.m_N2SmInfo;
  if (o.n2SmInfoTypeIsSet()) j["n2SmInfoType"] = o.m_N2SmInfoType;
  if (o.targetIdIsSet()) j["targetId"] = o.m_TargetId;
  if (o.targetServingNfIdIsSet())
    j["targetServingNfId"] = o.m_TargetServingNfId;
  if (o.smContextStatusUriIsSet())
    j["smContextStatusUri"] = o.m_SmContextStatusUri;
  if (o.dataForwardingIsSet()) j["dataForwarding"] = o.m_DataForwarding;
  if (o.epsBearerSetupIsSet()) j["epsBearerSetup"] = o.m_EpsBearerSetup;
  if (o.revokeEbiListIsSet()) j["revokeEbiList"] = o.m_RevokeEbiList;
  if (o.releaseIsSet()) j["release"] = o.m_Release;
  if (o.causeIsSet()) j["cause"] = o.m_Cause;
  if (o.ngApCauseIsSet()) j["ngApCause"] = o.m_NgApCause;
  if (o._5gMmCauseValueIsSet()) j["5gMmCauseValue"] = o.m__5gMmCauseValue;
  if (o.sNssaiIsSet()) j["sNssai"] = o.m_SNssai;
  if (o.traceDataIsSet()) j["traceData"] = o.m_TraceData;
  if (o.epsInterworkingIndIsSet())
    j["epsInterworkingInd"] = o.m_EpsInterworkingInd;
  if (o.anTypeCanBeChangedIsSet())
    j["anTypeCanBeChanged"] = o.m_AnTypeCanBeChanged;
  if (o.n2SmInfoExt1IsSet()) j["n2SmInfoExt1"] = o.m_N2SmInfoExt1;
  if (o.n2SmInfoTypeExt1IsSet()) j["n2SmInfoTypeExt1"] = o.m_N2SmInfoTypeExt1;
  if (o.maReleaseIndIsSet()) j["maReleaseInd"] = o.m_MaReleaseInd;
  if (o.exemptionIndIsSet()) j["exemptionInd"] = o.m_ExemptionInd;
}

void from_json(const nlohmann::json& j, SmContextUpdateData& o) {
  if (j.find("pei") != j.end()) {
    j.at("pei").get_to(o.m_Pei);
    o.m_PeiIsSet = true;
  }
  if (j.find("servingNfId") != j.end()) {
    j.at("servingNfId").get_to(o.m_ServingNfId);
    o.m_ServingNfIdIsSet = true;
  }
  if (j.find("guami") != j.end()) {
    j.at("guami").get_to(o.m_Guami);
    o.m_GuamiIsSet = true;
  }
  if (j.find("servingNetwork") != j.end()) {
    j.at("servingNetwork").get_to(o.m_ServingNetwork);
    o.m_ServingNetworkIsSet = true;
  }
  if (j.find("backupAmfInfo") != j.end()) {
    j.at("backupAmfInfo").get_to(o.m_BackupAmfInfo);
    o.m_BackupAmfInfoIsSet = true;
  }
  if (j.find("anType") != j.end()) {
    j.at("anType").get_to(o.m_AnType);
    o.m_AnTypeIsSet = true;
  }
  if (j.find("secondAnType") != j.end()) {
    j.at("secondAnType").get_to(o.m_SecondAnType);
    o.m_SecondAnTypeIsSet = true;
  }
  if (j.find("ratType") != j.end()) {
    j.at("ratType").get_to(o.m_RatType);
    o.m_RatTypeIsSet = true;
  }
  if (j.find("presenceInLadn") != j.end()) {
    j.at("presenceInLadn").get_to(o.m_PresenceInLadn);
    o.m_PresenceInLadnIsSet = true;
  }
  if (j.find("ueLocation") != j.end()) {
    j.at("ueLocation").get_to(o.m_UeLocation);
    o.m_UeLocationIsSet = true;
  }
  if (j.find("ueTimeZone") != j.end()) {
    j.at("ueTimeZone").get_to(o.m_UeTimeZone);
    o.m_UeTimeZoneIsSet = true;
  }
  if (j.find("addUeLocation") != j.end()) {
    j.at("addUeLocation").get_to(o.m_AddUeLocation);
    o.m_AddUeLocationIsSet = true;
  }
  if (j.find("upCnxState") != j.end()) {
    j.at("upCnxState").get_to(o.m_UpCnxState);
    o.m_UpCnxStateIsSet = true;
  }
  if (j.find("hoState") != j.end()) {
    j.at("hoState").get_to(o.m_HoState);
    o.m_HoStateIsSet = true;
  }
  if (j.find("toBeSwitched") != j.end()) {
    j.at("toBeSwitched").get_to(o.m_ToBeSwitched);
    o.m_ToBeSwitchedIsSet = true;
  }
  if (j.find("failedToBeSwitched") != j.end()) {
    j.at("failedToBeSwitched").get_to(o.m_FailedToBeSwitched);
    o.m_FailedToBeSwitchedIsSet = true;
  }
  if (j.find("n1SmMsg") != j.end()) {
    j.at("n1SmMsg").get_to(o.m_N1SmMsg);
    o.m_N1SmMsgIsSet = true;
  }
  if (j.find("n2SmInfo") != j.end()) {
    j.at("n2SmInfo").get_to(o.m_N2SmInfo);
    o.m_N2SmInfoIsSet = true;
  }
  if (j.find("n2SmInfoType") != j.end()) {
    j.at("n2SmInfoType").get_to(o.m_N2SmInfoType);
    o.m_N2SmInfoTypeIsSet = true;
  }
  if (j.find("targetId") != j.end()) {
    j.at("targetId").get_to(o.m_TargetId);
    o.m_TargetIdIsSet = true;
  }
  if (j.find("targetServingNfId") != j.end()) {
    j.at("targetServingNfId").get_to(o.m_TargetServingNfId);
    o.m_TargetServingNfIdIsSet = true;
  }
  if (j.find("smContextStatusUri") != j.end()) {
    j.at("smContextStatusUri").get_to(o.m_SmContextStatusUri);
    o.m_SmContextStatusUriIsSet = true;
  }
  if (j.find("dataForwarding") != j.end()) {
    j.at("dataForwarding").get_to(o.m_DataForwarding);
    o.m_DataForwardingIsSet = true;
  }
  if (j.find("epsBearerSetup") != j.end()) {
    j.at("epsBearerSetup").get_to(o.m_EpsBearerSetup);
    o.m_EpsBearerSetupIsSet = true;
  }
  if (j.find("revokeEbiList") != j.end()) {
    j.at("revokeEbiList").get_to(o.m_RevokeEbiList);
    o.m_RevokeEbiListIsSet = true;
  }
  if (j.find("release") != j.end()) {
    j.at("release").get_to(o.m_Release);
    o.m_ReleaseIsSet = true;
  }
  if (j.find("cause") != j.end()) {
    j.at("cause").get_to(o.m_Cause);
    o.m_CauseIsSet = true;
  }
  if (j.find("ngApCause") != j.end()) {
    j.at("ngApCause").get_to(o.m_NgApCause);
    o.m_NgApCauseIsSet = true;
  }
  if (j.find("5gMmCauseValue") != j.end()) {
    j.at("5gMmCauseValue").get_to(o.m__5gMmCauseValue);
    o.m__5gMmCauseValueIsSet = true;
  }
  if (j.find("sNssai") != j.end()) {
    j.at("sNssai").get_to(o.m_SNssai);
    o.m_SNssaiIsSet = true;
  }
  if (j.find("traceData") != j.end()) {
    j.at("traceData").get_to(o.m_TraceData);
    o.m_TraceDataIsSet = true;
  }
  if (j.find("epsInterworkingInd") != j.end()) {
    j.at("epsInterworkingInd").get_to(o.m_EpsInterworkingInd);
    o.m_EpsInterworkingIndIsSet = true;
  }
  if (j.find("anTypeCanBeChanged") != j.end()) {
    j.at("anTypeCanBeChanged").get_to(o.m_AnTypeCanBeChanged);
    o.m_AnTypeCanBeChangedIsSet = true;
  }
  if (j.find("n2SmInfoExt1") != j.end()) {
    j.at("n2SmInfoExt1").get_to(o.m_N2SmInfoExt1);
    o.m_N2SmInfoExt1IsSet = true;
  }
  if (j.find("n2SmInfoTypeExt1") != j.end()) {
    j.at("n2SmInfoTypeExt1").get_to(o.m_N2SmInfoTypeExt1);
    o.m_N2SmInfoTypeExt1IsSet = true;
  }
  if (j.find("maReleaseInd") != j.end()) {
    j.at("maReleaseInd").get_to(o.m_MaReleaseInd);
    o.m_MaReleaseIndIsSet = true;
  }
  if (j.find("exemptionInd") != j.end()) {
    j.at("exemptionInd").get_to(o.m_ExemptionInd);
    o.m_ExemptionIndIsSet = true;
  }
}

std::string SmContextUpdateData::getPei() const {
  return m_Pei;
}
void SmContextUpdateData::setPei(std::string const& value) {
  m_Pei      = value;
  m_PeiIsSet = true;
}
bool SmContextUpdateData::peiIsSet() const {
  return m_PeiIsSet;
}
void SmContextUpdateData::unsetPei() {
  m_PeiIsSet = false;
}
std::string SmContextUpdateData::getServingNfId() const {
  return m_ServingNfId;
}
void SmContextUpdateData::setServingNfId(std::string const& value) {
  m_ServingNfId      = value;
  m_ServingNfIdIsSet = true;
}
bool SmContextUpdateData::servingNfIdIsSet() const {
  return m_ServingNfIdIsSet;
}
void SmContextUpdateData::unsetServingNfId() {
  m_ServingNfIdIsSet = false;
}
Guami SmContextUpdateData::getGuami() const {
  return m_Guami;
}
void SmContextUpdateData::setGuami(Guami const& value) {
  m_Guami      = value;
  m_GuamiIsSet = true;
}
bool SmContextUpdateData::guamiIsSet() const {
  return m_GuamiIsSet;
}
void SmContextUpdateData::unsetGuami() {
  m_GuamiIsSet = false;
}
PlmnId SmContextUpdateData::getServingNetwork() const {
  return m_ServingNetwork;
}
void SmContextUpdateData::setServingNetwork(PlmnId const& value) {
  m_ServingNetwork      = value;
  m_ServingNetworkIsSet = true;
}
bool SmContextUpdateData::servingNetworkIsSet() const {
  return m_ServingNetworkIsSet;
}
void SmContextUpdateData::unsetServingNetwork() {
  m_ServingNetworkIsSet = false;
}
std::vector<BackupAmfInfo>& SmContextUpdateData::getBackupAmfInfo() {
  return m_BackupAmfInfo;
}
bool SmContextUpdateData::backupAmfInfoIsSet() const {
  return m_BackupAmfInfoIsSet;
}
void SmContextUpdateData::unsetBackupAmfInfo() {
  m_BackupAmfInfoIsSet = false;
}
std::string SmContextUpdateData::getAnType() const {
  return m_AnType;
}
void SmContextUpdateData::setAnType(std::string const& value) {
  m_AnType      = value;
  m_AnTypeIsSet = true;
}
bool SmContextUpdateData::anTypeIsSet() const {
  return m_AnTypeIsSet;
}
void SmContextUpdateData::unsetAnType() {
  m_AnTypeIsSet = false;
}
AccessType SmContextUpdateData::getSecondAnType() const {
  return m_SecondAnType;
}
void SmContextUpdateData::setSecondAnType(AccessType const& value) {
  m_SecondAnType      = value;
  m_SecondAnTypeIsSet = true;
}
bool SmContextUpdateData::secondAnTypeIsSet() const {
  return m_SecondAnTypeIsSet;
}
void SmContextUpdateData::unsetSecondAnType() {
  m_SecondAnTypeIsSet = false;
}
std::string SmContextUpdateData::getRatType() const {
  return m_RatType;
}
void SmContextUpdateData::setRatType(std::string const& value) {
  m_RatType      = value;
  m_RatTypeIsSet = true;
}
bool SmContextUpdateData::ratTypeIsSet() const {
  return m_RatTypeIsSet;
}
void SmContextUpdateData::unsetRatType() {
  m_RatTypeIsSet = false;
}
PresenceState SmContextUpdateData::getPresenceInLadn() const {
  return m_PresenceInLadn;
}
void SmContextUpdateData::setPresenceInLadn(PresenceState const& value) {
  m_PresenceInLadn      = value;
  m_PresenceInLadnIsSet = true;
}
bool SmContextUpdateData::presenceInLadnIsSet() const {
  return m_PresenceInLadnIsSet;
}
void SmContextUpdateData::unsetPresenceInLadn() {
  m_PresenceInLadnIsSet = false;
}
UserLocation SmContextUpdateData::getUeLocation() const {
  return m_UeLocation;
}
void SmContextUpdateData::setUeLocation(UserLocation const& value) {
  m_UeLocation      = value;
  m_UeLocationIsSet = true;
}
bool SmContextUpdateData::ueLocationIsSet() const {
  return m_UeLocationIsSet;
}
void SmContextUpdateData::unsetUeLocation() {
  m_UeLocationIsSet = false;
}
std::string SmContextUpdateData::getUeTimeZone() const {
  return m_UeTimeZone;
}
void SmContextUpdateData::setUeTimeZone(std::string const& value) {
  m_UeTimeZone      = value;
  m_UeTimeZoneIsSet = true;
}
bool SmContextUpdateData::ueTimeZoneIsSet() const {
  return m_UeTimeZoneIsSet;
}
void SmContextUpdateData::unsetUeTimeZone() {
  m_UeTimeZoneIsSet = false;
}
UserLocation SmContextUpdateData::getAddUeLocation() const {
  return m_AddUeLocation;
}
void SmContextUpdateData::setAddUeLocation(UserLocation const& value) {
  m_AddUeLocation      = value;
  m_AddUeLocationIsSet = true;
}
bool SmContextUpdateData::addUeLocationIsSet() const {
  return m_AddUeLocationIsSet;
}
void SmContextUpdateData::unsetAddUeLocation() {
  m_AddUeLocationIsSet = false;
}
std::string SmContextUpdateData::getUpCnxState() const {
  return m_UpCnxState;
}
void SmContextUpdateData::setUpCnxState(std::string const& value) {
  m_UpCnxState      = value;
  m_UpCnxStateIsSet = true;
}
bool SmContextUpdateData::upCnxStateIsSet() const {
  return m_UpCnxStateIsSet;
}
void SmContextUpdateData::unsetUpCnxState() {
  m_UpCnxStateIsSet = false;
}
HoState SmContextUpdateData::getHoState() const {
  return m_HoState;
}
void SmContextUpdateData::setHoState(HoState const& value) {
  m_HoState      = value;
  m_HoStateIsSet = true;
}
bool SmContextUpdateData::hoStateIsSet() const {
  return m_HoStateIsSet;
}
void SmContextUpdateData::unsetHoState() {
  m_HoStateIsSet = false;
}
bool SmContextUpdateData::isToBeSwitched() const {
  return m_ToBeSwitched;
}
void SmContextUpdateData::setToBeSwitched(bool const value) {
  m_ToBeSwitched      = value;
  m_ToBeSwitchedIsSet = true;
}
bool SmContextUpdateData::toBeSwitchedIsSet() const {
  return m_ToBeSwitchedIsSet;
}
void SmContextUpdateData::unsetToBeSwitched() {
  m_ToBeSwitchedIsSet = false;
}
bool SmContextUpdateData::isFailedToBeSwitched() const {
  return m_FailedToBeSwitched;
}
void SmContextUpdateData::setFailedToBeSwitched(bool const value) {
  m_FailedToBeSwitched      = value;
  m_FailedToBeSwitchedIsSet = true;
}
bool SmContextUpdateData::failedToBeSwitchedIsSet() const {
  return m_FailedToBeSwitchedIsSet;
}
void SmContextUpdateData::unsetFailedToBeSwitched() {
  m_FailedToBeSwitchedIsSet = false;
}
RefToBinaryData SmContextUpdateData::getN1SmMsg() const {
  return m_N1SmMsg;
}
void SmContextUpdateData::setN1SmMsg(RefToBinaryData const& value) {
  m_N1SmMsg      = value;
  m_N1SmMsgIsSet = true;
}
bool SmContextUpdateData::n1SmMsgIsSet() const {
  return m_N1SmMsgIsSet;
}
void SmContextUpdateData::unsetN1SmMsg() {
  m_N1SmMsgIsSet = false;
}
RefToBinaryData SmContextUpdateData::getN2SmInfo() const {
  return m_N2SmInfo;
}
void SmContextUpdateData::setN2SmInfo(RefToBinaryData const& value) {
  m_N2SmInfo      = value;
  m_N2SmInfoIsSet = true;
}
bool SmContextUpdateData::n2SmInfoIsSet() const {
  return m_N2SmInfoIsSet;
}
void SmContextUpdateData::unsetN2SmInfo() {
  m_N2SmInfoIsSet = false;
}

std::string SmContextUpdateData::getN2SmInfoType() const {
  return m_N2SmInfoType;
}
void SmContextUpdateData::setN2SmInfoType(std::string const& value) {
  m_N2SmInfoType      = value;
  m_N2SmInfoTypeIsSet = true;
}

bool SmContextUpdateData::n2SmInfoTypeIsSet() const {
  return m_N2SmInfoTypeIsSet;
}
void SmContextUpdateData::unsetN2SmInfoType() {
  m_N2SmInfoTypeIsSet = false;
}
NgRanTargetId SmContextUpdateData::getTargetId() const {
  return m_TargetId;
}
void SmContextUpdateData::setTargetId(NgRanTargetId const& value) {
  m_TargetId      = value;
  m_TargetIdIsSet = true;
}
bool SmContextUpdateData::targetIdIsSet() const {
  return m_TargetIdIsSet;
}
void SmContextUpdateData::unsetTargetId() {
  m_TargetIdIsSet = false;
}
std::string SmContextUpdateData::getTargetServingNfId() const {
  return m_TargetServingNfId;
}
void SmContextUpdateData::setTargetServingNfId(std::string const& value) {
  m_TargetServingNfId      = value;
  m_TargetServingNfIdIsSet = true;
}
bool SmContextUpdateData::targetServingNfIdIsSet() const {
  return m_TargetServingNfIdIsSet;
}
void SmContextUpdateData::unsetTargetServingNfId() {
  m_TargetServingNfIdIsSet = false;
}
std::string SmContextUpdateData::getSmContextStatusUri() const {
  return m_SmContextStatusUri;
}
void SmContextUpdateData::setSmContextStatusUri(std::string const& value) {
  m_SmContextStatusUri      = value;
  m_SmContextStatusUriIsSet = true;
}
bool SmContextUpdateData::smContextStatusUriIsSet() const {
  return m_SmContextStatusUriIsSet;
}
void SmContextUpdateData::unsetSmContextStatusUri() {
  m_SmContextStatusUriIsSet = false;
}
bool SmContextUpdateData::isDataForwarding() const {
  return m_DataForwarding;
}
void SmContextUpdateData::setDataForwarding(bool const value) {
  m_DataForwarding      = value;
  m_DataForwardingIsSet = true;
}
bool SmContextUpdateData::dataForwardingIsSet() const {
  return m_DataForwardingIsSet;
}
void SmContextUpdateData::unsetDataForwarding() {
  m_DataForwardingIsSet = false;
}
std::vector<std::string>& SmContextUpdateData::getEpsBearerSetup() {
  return m_EpsBearerSetup;
}
bool SmContextUpdateData::epsBearerSetupIsSet() const {
  return m_EpsBearerSetupIsSet;
}
void SmContextUpdateData::unsetEpsBearerSetup() {
  m_EpsBearerSetupIsSet = false;
}
std::vector<int32_t>& SmContextUpdateData::getRevokeEbiList() {
  return m_RevokeEbiList;
}
bool SmContextUpdateData::revokeEbiListIsSet() const {
  return m_RevokeEbiListIsSet;
}
void SmContextUpdateData::unsetRevokeEbiList() {
  m_RevokeEbiListIsSet = false;
}
bool SmContextUpdateData::isRelease() const {
  return m_Release;
}
void SmContextUpdateData::setRelease(bool const value) {
  m_Release      = value;
  m_ReleaseIsSet = true;
}
bool SmContextUpdateData::releaseIsSet() const {
  return m_ReleaseIsSet;
}
void SmContextUpdateData::unsetRelease() {
  m_ReleaseIsSet = false;
}
Cause SmContextUpdateData::getCause() const {
  return m_Cause;
}
void SmContextUpdateData::setCause(Cause const& value) {
  m_Cause      = value;
  m_CauseIsSet = true;
}
bool SmContextUpdateData::causeIsSet() const {
  return m_CauseIsSet;
}
void SmContextUpdateData::unsetCause() {
  m_CauseIsSet = false;
}
NgApCause SmContextUpdateData::getNgApCause() const {
  return m_NgApCause;
}
void SmContextUpdateData::setNgApCause(NgApCause const& value) {
  m_NgApCause      = value;
  m_NgApCauseIsSet = true;
}
bool SmContextUpdateData::ngApCauseIsSet() const {
  return m_NgApCauseIsSet;
}
void SmContextUpdateData::unsetNgApCause() {
  m_NgApCauseIsSet = false;
}
int32_t SmContextUpdateData::get5gMmCauseValue() const {
  return m__5gMmCauseValue;
}
void SmContextUpdateData::set5gMmCauseValue(int32_t const value) {
  m__5gMmCauseValue      = value;
  m__5gMmCauseValueIsSet = true;
}
bool SmContextUpdateData::_5gMmCauseValueIsSet() const {
  return m__5gMmCauseValueIsSet;
}
void SmContextUpdateData::unset_5gMmCauseValue() {
  m__5gMmCauseValueIsSet = false;
}
Snssai SmContextUpdateData::getSNssai() const {
  return m_SNssai;
}
void SmContextUpdateData::setSNssai(Snssai const& value) {
  m_SNssai      = value;
  m_SNssaiIsSet = true;
}
bool SmContextUpdateData::sNssaiIsSet() const {
  return m_SNssaiIsSet;
}
void SmContextUpdateData::unsetSNssai() {
  m_SNssaiIsSet = false;
}
TraceData SmContextUpdateData::getTraceData() const {
  return m_TraceData;
}
void SmContextUpdateData::setTraceData(TraceData const& value) {
  m_TraceData      = value;
  m_TraceDataIsSet = true;
}
bool SmContextUpdateData::traceDataIsSet() const {
  return m_TraceDataIsSet;
}
void SmContextUpdateData::unsetTraceData() {
  m_TraceDataIsSet = false;
}
EpsInterworkingIndication SmContextUpdateData::getEpsInterworkingInd() const {
  return m_EpsInterworkingInd;
}
void SmContextUpdateData::setEpsInterworkingInd(
    EpsInterworkingIndication const& value) {
  m_EpsInterworkingInd      = value;
  m_EpsInterworkingIndIsSet = true;
}
bool SmContextUpdateData::epsInterworkingIndIsSet() const {
  return m_EpsInterworkingIndIsSet;
}
void SmContextUpdateData::unsetEpsInterworkingInd() {
  m_EpsInterworkingIndIsSet = false;
}
bool SmContextUpdateData::isAnTypeCanBeChanged() const {
  return m_AnTypeCanBeChanged;
}
void SmContextUpdateData::setAnTypeCanBeChanged(bool const value) {
  m_AnTypeCanBeChanged      = value;
  m_AnTypeCanBeChangedIsSet = true;
}
bool SmContextUpdateData::anTypeCanBeChangedIsSet() const {
  return m_AnTypeCanBeChangedIsSet;
}
void SmContextUpdateData::unsetAnTypeCanBeChanged() {
  m_AnTypeCanBeChangedIsSet = false;
}
RefToBinaryData SmContextUpdateData::getN2SmInfoExt1() const {
  return m_N2SmInfoExt1;
}
void SmContextUpdateData::setN2SmInfoExt1(RefToBinaryData const& value) {
  m_N2SmInfoExt1      = value;
  m_N2SmInfoExt1IsSet = true;
}
bool SmContextUpdateData::n2SmInfoExt1IsSet() const {
  return m_N2SmInfoExt1IsSet;
}
void SmContextUpdateData::unsetN2SmInfoExt1() {
  m_N2SmInfoExt1IsSet = false;
}
N2SmInfoType SmContextUpdateData::getN2SmInfoTypeExt1() const {
  return m_N2SmInfoTypeExt1;
}
void SmContextUpdateData::setN2SmInfoTypeExt1(N2SmInfoType const& value) {
  m_N2SmInfoTypeExt1      = value;
  m_N2SmInfoTypeExt1IsSet = true;
}
bool SmContextUpdateData::n2SmInfoTypeExt1IsSet() const {
  return m_N2SmInfoTypeExt1IsSet;
}
void SmContextUpdateData::unsetN2SmInfoTypeExt1() {
  m_N2SmInfoTypeExt1IsSet = false;
}
MaReleaseIndication SmContextUpdateData::getMaReleaseInd() const {
  return m_MaReleaseInd;
}
void SmContextUpdateData::setMaReleaseInd(MaReleaseIndication const& value) {
  m_MaReleaseInd      = value;
  m_MaReleaseIndIsSet = true;
}
bool SmContextUpdateData::maReleaseIndIsSet() const {
  return m_MaReleaseIndIsSet;
}
void SmContextUpdateData::unsetMaReleaseInd() {
  m_MaReleaseIndIsSet = false;
}
ExemptionInd SmContextUpdateData::getExemptionInd() const {
  return m_ExemptionInd;
}
void SmContextUpdateData::setExemptionInd(ExemptionInd const& value) {
  m_ExemptionInd      = value;
  m_ExemptionIndIsSet = true;
}
bool SmContextUpdateData::exemptionIndIsSet() const {
  return m_ExemptionIndIsSet;
}
void SmContextUpdateData::unsetExemptionInd() {
  m_ExemptionIndIsSet = false;
}

}  // namespace model
}  // namespace smf_server
}  // namespace oai
