Commit 26a643cd authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Refactor Registration Complete Msg

parent 7c791424
......@@ -24,10 +24,9 @@
using namespace nas;
//------------------------------------------------------------------------------
RegistrationComplete::RegistrationComplete() {
Logger::nas_mm().debug("Initiating class RegistrationComplete");
plain_header = nullptr;
ie_sor_transparent_container = nullptr;
RegistrationComplete::RegistrationComplete()
: NasMmPlainHeader(EPD_5GS_MM_MSG, REGISTRATION_COMPLETE) {
ie_sor_transparent_container = std::nullopt;
}
//------------------------------------------------------------------------------
......@@ -35,15 +34,14 @@ RegistrationComplete::~RegistrationComplete() {}
//------------------------------------------------------------------------------
void RegistrationComplete::SetHeader(uint8_t security_header_type) {
plain_header = new NasMmPlainHeader();
plain_header->SetHeader(
EPD_5GS_MM_MSG, security_header_type, REGISTRATION_COMPLETE);
NasMmPlainHeader::SetSecurityHeaderType(security_header_type);
}
//------------------------------------------------------------------------------
void RegistrationComplete::SetSorTransparentContainer(
uint8_t header, const uint8_t (&value)[16]) {
ie_sor_transparent_container = new SorTransparentContainer(header, value);
ie_sor_transparent_container =
std::make_shared<SorTransparentContainer> < (header, value);
}
//------------------------------------------------------------------------------
......
......@@ -26,13 +26,13 @@
namespace nas {
class RegistrationComplete {
class RegistrationComplete : public NasMmPlainHeader {
public:
RegistrationComplete();
~RegistrationComplete();
int Encode(uint8_t* buf, int len);
int Decode(NasMmPlainHeader* header, uint8_t* buf, int len);
int Decode(uint8_t* buf, int len);
void SetHeader(uint8_t security_header_type);
......@@ -40,8 +40,8 @@ class RegistrationComplete {
// TODO: Get
public:
NasMmPlainHeader* plain_header;
SorTransparentContainer* ie_sor_transparent_container; // Optional
std::optional<SorTransparentContainer>
ie_sor_transparent_container; // Optional
};
} // 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