Commit 85c8b727 authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent 3ab8bc49
...@@ -87,27 +87,27 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms ...@@ -87,27 +87,27 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms
if (msg.networkFullName.has_value()) if (msg.networkFullName.has_value())
{ {
hasNewConfig = true; hasNewConfig = true;
m_usim->m_networkFullName = nas::utils::DeepCopyIe(*msg.networkFullName); m_storage->networkFullName->set(nas::utils::DeepCopyIe(*msg.networkFullName));
} }
if (msg.networkShortName.has_value()) if (msg.networkShortName.has_value())
{ {
hasNewConfig = true; hasNewConfig = true;
m_usim->m_networkShortName = nas::utils::DeepCopyIe(*msg.networkShortName); m_storage->networkShortName->set(nas::utils::DeepCopyIe(*msg.networkShortName));
} }
if (msg.localTimeZone.has_value()) if (msg.localTimeZone.has_value())
{ {
hasNewConfig = true; hasNewConfig = true;
m_usim->m_localTimeZone = *msg.localTimeZone; m_storage->localTimeZone->set(*msg.localTimeZone);
} }
if (msg.universalTimeAndLocalTimeZone.has_value()) if (msg.universalTimeAndLocalTimeZone.has_value())
{ {
hasNewConfig = true; hasNewConfig = true;
m_usim->m_universalTimeAndLocalTimeZone = *msg.universalTimeAndLocalTimeZone; m_storage->universalTimeAndLocalTimeZone->set(*msg.universalTimeAndLocalTimeZone);
} }
if (msg.networkDaylightSavingTime.has_value()) if (msg.networkDaylightSavingTime.has_value())
{ {
hasNewConfig = true; hasNewConfig = true;
m_usim->m_networkDaylightSavingTime = *msg.networkDaylightSavingTime; m_storage->networkDaylightSavingTime->set(*msg.networkDaylightSavingTime);
} }
// "If the UE receives a new allowed NSSAI for the associated access type in the CONFIGURATION UPDATE COMMAND // "If the UE receives a new allowed NSSAI for the associated access type in the CONFIGURATION UPDATE COMMAND
......
...@@ -58,6 +58,18 @@ MmStorage::MmStorage(TaskBase *base) : m_base{base} ...@@ -58,6 +58,18 @@ MmStorage::MmStorage(TaskBase *base) : m_base{base}
rejectedNssaiInTa = std::make_unique<nas::NasSlot<NetworkSlice>>(0, std::nullopt); rejectedNssaiInTa = std::make_unique<nas::NasSlot<NetworkSlice>>(0, std::nullopt);
networkFullName = std::make_unique<nas::NasSlot<std::optional<nas::IENetworkName>>>(0, std::nullopt);
networkShortName = std::make_unique<nas::NasSlot<std::optional<nas::IENetworkName>>>(0, std::nullopt);
localTimeZone = std::make_unique<nas::NasSlot<std::optional<nas::IETimeZone>>>(0, std::nullopt);
universalTimeAndLocalTimeZone =
std::make_unique<nas::NasSlot<std::optional<nas::IETimeZoneAndTime>>>(0, std::nullopt);
networkDaylightSavingTime =
std::make_unique<nas::NasSlot<std::optional<nas::IEDaylightSavingTime>>>(0, std::nullopt);
///////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////
defConfiguredNssai->set(m_base->config->initials.defaultConfiguredNssai); defConfiguredNssai->set(m_base->config->initials.defaultConfiguredNssai);
......
...@@ -40,6 +40,12 @@ class MmStorage ...@@ -40,6 +40,12 @@ class MmStorage
std::unique_ptr<nas::NasSlot<NetworkSlice>> rejectedNssaiInPlmn; std::unique_ptr<nas::NasSlot<NetworkSlice>> rejectedNssaiInPlmn;
std::unique_ptr<nas::NasSlot<NetworkSlice>> rejectedNssaiInTa; std::unique_ptr<nas::NasSlot<NetworkSlice>> rejectedNssaiInTa;
std::unique_ptr<nas::NasSlot<std::optional<nas::IENetworkName>>> networkFullName;
std::unique_ptr<nas::NasSlot<std::optional<nas::IENetworkName>>> networkShortName;
std::unique_ptr<nas::NasSlot<std::optional<nas::IETimeZone>>> localTimeZone;
std::unique_ptr<nas::NasSlot<std::optional<nas::IETimeZoneAndTime>>> universalTimeAndLocalTimeZone;
std::unique_ptr<nas::NasSlot<std::optional<nas::IEDaylightSavingTime>>> networkDaylightSavingTime;
public: public:
explicit MmStorage(TaskBase *base); explicit MmStorage(TaskBase *base);
}; };
......
...@@ -34,13 +34,6 @@ class Usim ...@@ -34,13 +34,6 @@ class Usim
OctetString m_resStar{}; OctetString m_resStar{};
std::unique_ptr<SqnManager> m_sqnMng{}; std::unique_ptr<SqnManager> m_sqnMng{};
// NITZ related
std::optional<nas::IENetworkName> m_networkFullName{};
std::optional<nas::IENetworkName> m_networkShortName{};
std::optional<nas::IETimeZone> m_localTimeZone{};
std::optional<nas::IETimeZoneAndTime> m_universalTimeAndLocalTimeZone{};
std::optional<nas::IEDaylightSavingTime> m_networkDaylightSavingTime{};
// Others // Others
bool m_isECallOnly{}; // todo: configurable bool m_isECallOnly{}; // todo: configurable
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment