Commit 3ed782cd authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Code cleanup for NAS Message Container

parent a478167b
......@@ -46,7 +46,7 @@
#include "IMEISV_Request.hpp"
#include "LADN_Indication.hpp"
#include "MA_PDU_Session_Information.hpp"
#include "NAS_Message_Container.hpp"
#include "NasMessageContainer.hpp"
#include "NAS_Security_Algorithms.hpp"
#include "NSSAI.hpp"
#include "NSSAI_Inclusion_Mode.hpp"
......
......@@ -19,7 +19,7 @@
* contact@openairinterface.org
*/
#include "NAS_Message_Container.hpp"
#include "NasMessageContainer.hpp"
#include "3gpp_24.501.hpp"
#include "common_defs.h"
......@@ -29,30 +29,30 @@
using namespace nas;
//------------------------------------------------------------------------------
NAS_Message_Container::NAS_Message_Container()
: Type6NasIe(kIeiNasMessageContainer), _value() {
NasMessageContainer::NasMessageContainer()
: Type6NasIe(kIeiNasMessageContainer), value_() {
SetLengthIndicator(0);
SetIeName(kNasMessageContainerIeName);
}
//------------------------------------------------------------------------------
NAS_Message_Container::NAS_Message_Container(bstring value)
NasMessageContainer::NasMessageContainer(bstring value)
: Type6NasIe(kIeiNasMessageContainer) {
_value = bstrcpy(value);
value_ = bstrcpy(value);
SetLengthIndicator(blength(value));
SetIeName(kNasMessageContainerIeName);
}
//------------------------------------------------------------------------------
NAS_Message_Container::~NAS_Message_Container() {}
NasMessageContainer::~NasMessageContainer() {}
//------------------------------------------------------------------------------
void NAS_Message_Container::getValue(bstring& value) const {
value = bstrcpy(_value);
void NasMessageContainer::GetValue(bstring& value) const {
value = bstrcpy(value_);
}
//------------------------------------------------------------------------------
int NAS_Message_Container::Encode(uint8_t* buf, int len) {
int NasMessageContainer::Encode(uint8_t* buf, int len) {
Logger::nas_mm().debug("Encoding %s", GetIeName().c_str());
int ie_len = GetIeLength();
......@@ -72,25 +72,8 @@ int NAS_Message_Container::Encode(uint8_t* buf, int len) {
if (encoded_header_size == KEncodeDecodeError) return KEncodeDecodeError;
encoded_size += encoded_header_size;
/*
Logger::nas_mm().debug("Encoding NAS_Message_Container IEI");
if (len < kNasMessageContainerMinimumLength) {
Logger::nas_mm().error(
"Buffer length is less than the minimum length of this IE (%d octet)",
kNasMessageContainerMinimumLength);
return KEncodeDecodeError;
}
int encoded_size = 0;
if (_iei) {
ENCODE_U8(buf + encoded_size, _iei, encoded_size);
}
// Length
ENCODE_U16(buf + encoded_size, length, encoded_size);
*/
// Value
int size = encode_bstring(_value, (buf + encoded_size), len - encoded_size);
int size = encode_bstring(value_, (buf + encoded_size), len - encoded_size);
encoded_size += size;
// Encode length
......@@ -103,7 +86,7 @@ ENCODE_U16(buf + encoded_size, length, encoded_size);
}
//------------------------------------------------------------------------------
int NAS_Message_Container::Decode(uint8_t* buf, int len, bool is_iei) {
int NasMessageContainer::Decode(uint8_t* buf, int len, bool is_iei) {
Logger::nas_mm().debug("Decoding EPS_NAS_Message_Container");
int decoded_size = 0;
......@@ -114,23 +97,12 @@ int NAS_Message_Container::Decode(uint8_t* buf, int len, bool is_iei) {
decoded_size += decoded_header_size;
ie_len = GetLengthIndicator();
/*
Logger::nas_mm().debug("Decoding NAS_Message_Container");
int decoded_size = 0;
if (is_option) {
DECODE_U8(buf + decoded_size, _iei, decoded_size); // for IE
}
// Length
DECODE_U16(buf + decoded_size, length, decoded_size);
*/
// Value
decode_bstring(&_value, ie_len, (buf + decoded_size), len - decoded_size);
decode_bstring(&value_, ie_len, (buf + decoded_size), len - decoded_size);
decoded_size += ie_len;
for (int i = 0; i < ie_len; i++) {
Logger::nas_mm().debug(
"Decoded NAS_Message_Container value 0x%x", (uint8_t) _value->data[i]);
"Decoded NasMessageContainer value 0x%x", (uint8_t) value_->data[i]);
}
Logger::nas_mm().debug(
......
......@@ -37,19 +37,19 @@ constexpr auto kNasMessageContainerIeName = "NAS Message Container";
namespace nas {
class NAS_Message_Container : Type6NasIe {
class NasMessageContainer : Type6NasIe {
public:
NAS_Message_Container();
NAS_Message_Container(bstring value);
~NAS_Message_Container();
NasMessageContainer();
NasMessageContainer(bstring value);
~NasMessageContainer();
void getValue(bstring& value) const;
void GetValue(bstring& value) const;
int Encode(uint8_t* buf, int len);
int Decode(uint8_t* buf, int len, bool is_option);
private:
bstring _value;
bstring value_;
};
} // namespace nas
......
......@@ -498,13 +498,13 @@ bool RegistrationRequest::get5GSUpdateType(
//------------------------------------------------------------------------------
void RegistrationRequest::setNAS_Message_Container(bstring value) {
ie_nas_message_container = std::make_optional<NAS_Message_Container>(value);
ie_nas_message_container = std::make_optional<NasMessageContainer>(value);
}
//------------------------------------------------------------------------------
bool RegistrationRequest::getNasMessageContainer(bstring& nas) {
if (ie_nas_message_container.has_value()) {
ie_nas_message_container.value().getValue(nas);
ie_nas_message_container.value().GetValue(nas);
return true;
} else {
return false;
......@@ -1066,11 +1066,11 @@ int RegistrationRequest::Decode(uint8_t* buf, int len) {
} break;
case 0x71: {
Logger::nas_mm().debug("Decoding IEI(0x71)");
NAS_Message_Container ie_nas_message_container_tmp = {};
NasMessageContainer ie_nas_message_container_tmp = {};
decoded_size += ie_nas_message_container_tmp.Decode(
buf + decoded_size, len - decoded_size, true);
ie_nas_message_container =
std::optional<NAS_Message_Container>(ie_nas_message_container_tmp);
std::optional<NasMessageContainer>(ie_nas_message_container_tmp);
octet = *(buf + decoded_size);
Logger::nas_mm().debug("Next IEI 0x%x", octet);
} break;
......
......@@ -176,7 +176,7 @@ class RegistrationRequest : public NasMmPlainHeader {
std::optional<_5gsUpdateType> ie_5gs_update_type; // Optional
// TODO: Mobile station classmark 2
// TODO: Supported codecs
std::optional<NAS_Message_Container> ie_nas_message_container; // Optional
std::optional<NasMessageContainer> ie_nas_message_container; // Optional
std::optional<EPS_Bearer_Context_Status>
ie_eps_bearer_context_status; // Optional
// TODO: Requested extended DRX parameters
......
......@@ -62,7 +62,7 @@ void SecurityModeComplete::SetImeisv(IMEISV_t imeisv) {
//------------------------------------------------------------------------------
void SecurityModeComplete::setNAS_Message_Container(bstring value) {
ie_nas_message_container = new NAS_Message_Container(value);
ie_nas_message_container = new NasMessageContainer(value);
}
//------------------------------------------------------------------------------
......@@ -85,7 +85,7 @@ bool SecurityModeComplete::GetImeisv(IMEISV_t& imeisv) {
//------------------------------------------------------------------------------
bool SecurityModeComplete::getNasMessageContainer(bstring& nas) {
if (ie_nas_message_container) {
ie_nas_message_container->getValue(nas);
ie_nas_message_container->GetValue(nas);
return true;
} else {
return false;
......@@ -170,7 +170,7 @@ int SecurityModeComplete::Decode(
} break;
case 0x71: {
Logger::nas_mm().debug("Decoding IEI (0x71)");
ie_nas_message_container = new NAS_Message_Container();
ie_nas_message_container = new NasMessageContainer();
decoded_size += ie_nas_message_container->Decode(
buf + decoded_size, len - decoded_size, true);
} break;
......
......@@ -52,7 +52,7 @@ class SecurityModeComplete {
public:
NasMmPlainHeader* plain_header;
_5GSMobileIdentity* ie_imeisv;
NAS_Message_Container* ie_nas_message_container;
NasMessageContainer* ie_nas_message_container;
_5GSMobileIdentity* ie_non_imeisvpei;
};
......
......@@ -89,7 +89,7 @@ void ServiceRequest::setAllowed_PDU_Session_Status(uint16_t value) {
//------------------------------------------------------------------------------
void ServiceRequest::setNAS_Message_Container(bstring value) {
ie_nas_message_container = new NAS_Message_Container(value);
ie_nas_message_container = new NasMessageContainer(value);
}
//------------------------------------------------------------------------------
......@@ -233,7 +233,7 @@ int ServiceRequest::Decode(NasMmPlainHeader* header, uint8_t* buf, int len) {
} break;
case 0x71: {
Logger::nas_mm().debug("Decoding ie_nas_message_container(IEI: 0x71)");
ie_nas_message_container = new NAS_Message_Container();
ie_nas_message_container = new NasMessageContainer();
decoded_size += ie_nas_message_container->Decode(
buf + decoded_size, len - decoded_size, true);
octet = *(buf + decoded_size);
......@@ -287,7 +287,7 @@ uint16_t ServiceRequest::getAllowedPduSessionStatus() {
//------------------------------------------------------------------------------
bool ServiceRequest::getNasMessageContainer(bstring& nas) {
if (ie_nas_message_container) {
ie_nas_message_container->getValue(nas);
ie_nas_message_container->GetValue(nas);
return true;
} else {
return false;
......
......@@ -72,7 +72,7 @@ class ServiceRequest {
UplinkDataStatus* ie_uplink_data_status;
PDUSessionStatus* ie_PDU_session_status;
AllowedPDUSessionStatus* ie_allowed_PDU_session_status;
NAS_Message_Container* ie_nas_message_container;
NasMessageContainer* ie_nas_message_container;
};
} // namespace nas
......
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