Commit 9d560c5f authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Code refactoring for InitialContextSetupResponse

parent 40d17564
......@@ -21,9 +21,6 @@
#include "PDUSessionResourceFailedToSetupItemCxtRes.hpp"
#include <iostream>
using namespace std;
namespace ngap {
//------------------------------------------------------------------------------
......@@ -35,49 +32,45 @@ PDUSessionResourceFailedToSetupItemCxtRes::
~PDUSessionResourceFailedToSetupItemCxtRes() {}
//------------------------------------------------------------------------------
void PDUSessionResourceFailedToSetupItemCxtRes::
setPDUSessionResourceFailedToSetupItemCxtRes(
const PDUSessionID& m_pDUSessionID,
const OCTET_STRING_t& m_pDUSessionResourceSetupUnsuccessfulTransfer) {
pDUSessionID = m_pDUSessionID;
pDUSessionResourceSetupUnsuccessfulTransfer =
m_pDUSessionResourceSetupUnsuccessfulTransfer;
void PDUSessionResourceFailedToSetupItemCxtRes::set(
const PDUSessionID& pdu_session_id,
const OCTET_STRING_t& pdu_session_resource_setup_unsuccessful_transfer) {
pdu_session_id_ = pdu_session_id;
pdu_session_resource_setup_unsuccessful_transfer_ =
pdu_session_resource_setup_unsuccessful_transfer;
}
//------------------------------------------------------------------------------
void PDUSessionResourceFailedToSetupItemCxtRes::
getPDUSessionResourceFailedToSetupItemCxtRes(
PDUSessionID& m_pDUSessionID,
OCTET_STRING_t& m_pDUSessionResourceSetupUnsuccessfulTransfer) {
m_pDUSessionID = pDUSessionID;
pDUSessionResourceSetupUnsuccessfulTransfer =
pDUSessionResourceSetupUnsuccessfulTransfer;
void PDUSessionResourceFailedToSetupItemCxtRes::get(
PDUSessionID& pdu_session_id,
OCTET_STRING_t& pdu_session_resource_setup_unsuccessful_transfer) {
pdu_session_id = pdu_session_id_;
pdu_session_resource_setup_unsuccessful_transfer =
pdu_session_resource_setup_unsuccessful_transfer_;
}
//------------------------------------------------------------------------------
bool PDUSessionResourceFailedToSetupItemCxtRes::
encode2PDUSessionResourceFailedToSetupItemCxtRes(
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes) {
if (!pDUSessionID.encode(
bool PDUSessionResourceFailedToSetupItemCxtRes::encode(
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes) {
if (!pdu_session_id_.encode(
pduSessionResourceFailedToSetupItemCxtRes->pDUSessionID))
return false;
pduSessionResourceFailedToSetupItemCxtRes
->pDUSessionResourceSetupUnsuccessfulTransfer =
pDUSessionResourceSetupUnsuccessfulTransfer;
pdu_session_resource_setup_unsuccessful_transfer_;
return true;
}
//------------------------------------------------------------------------------
bool PDUSessionResourceFailedToSetupItemCxtRes::
decodefromPDUSessionResourceFailedToSetupItemCxtRes(
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes) {
if (!pDUSessionID.decode(
bool PDUSessionResourceFailedToSetupItemCxtRes::decode(
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes) {
if (!pdu_session_id_.decode(
pduSessionResourceFailedToSetupItemCxtRes->pDUSessionID))
return false;
pDUSessionResourceSetupUnsuccessfulTransfer =
pdu_session_resource_setup_unsuccessful_transfer_ =
pduSessionResourceFailedToSetupItemCxtRes
->pDUSessionResourceSetupUnsuccessfulTransfer;
......
......@@ -35,23 +35,22 @@ class PDUSessionResourceFailedToSetupItemCxtRes {
PDUSessionResourceFailedToSetupItemCxtRes();
virtual ~PDUSessionResourceFailedToSetupItemCxtRes();
void setPDUSessionResourceFailedToSetupItemCxtRes(
void set(
const PDUSessionID& m_pDUSessionID,
const OCTET_STRING_t& m_pDUSessionResourceSetupUnsuccessfulTransfer);
void getPDUSessionResourceFailedToSetupItemCxtRes(
void get(
PDUSessionID& m_pDUSessionID,
OCTET_STRING_t& m_pDUSessionResourceSetupUnsuccessfulTransfer);
bool encode2PDUSessionResourceFailedToSetupItemCxtRes(
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes);
bool decodefromPDUSessionResourceFailedToSetupItemCxtRes(
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes);
bool encode(Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes);
bool decode(Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*
pduSessionResourceFailedToSetupItemCxtRes);
private:
PDUSessionID pDUSessionID; // Mandatory
OCTET_STRING_t pDUSessionResourceSetupUnsuccessfulTransfer; // Mandatory
PDUSessionID pdu_session_id_; // Mandatory
OCTET_STRING_t
pdu_session_resource_setup_unsuccessful_transfer_; // Mandatory
};
} // namespace ngap
......
......@@ -35,34 +35,30 @@ PDUSessionResourceFailedToSetupListCxtRes::
~PDUSessionResourceFailedToSetupListCxtRes() {}
//------------------------------------------------------------------------------
void PDUSessionResourceFailedToSetupListCxtRes::
setPDUSessionResourceFailedToSetupListCxtRes(
const std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list) {
itemList = list;
void PDUSessionResourceFailedToSetupListCxtRes::set(
const std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list) {
item_list_ = list;
}
//------------------------------------------------------------------------------
void PDUSessionResourceFailedToSetupListCxtRes::
getPDUSessionResourceFailedToSetupListCxtRes(
std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list) {
list = itemList;
void PDUSessionResourceFailedToSetupListCxtRes::get(
std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list) {
list = item_list_;
}
//------------------------------------------------------------------------------
bool PDUSessionResourceFailedToSetupListCxtRes::
encode2PDUSessionResourceFailedToSetupListCxtRes(
Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes) {
bool PDUSessionResourceFailedToSetupListCxtRes::encode(
Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes) {
for (std::vector<PDUSessionResourceFailedToSetupItemCxtRes>::iterator it =
std::begin(itemList);
it < std::end(itemList); ++it) {
std::begin(item_list_);
it < std::end(item_list_); ++it) {
Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t* failedToResponse =
(Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t*) calloc(
1, sizeof(Ngap_PDUSessionResourceFailedToSetupItemCxtRes_t));
if (!failedToResponse) return false;
if (!it->encode2PDUSessionResourceFailedToSetupItemCxtRes(failedToResponse))
return false;
if (!it->encode(failedToResponse)) return false;
if (ASN_SEQUENCE_ADD(
&pduSessionResourceFailedToSetupListCxtRes->list,
failedToResponse) != 0)
......@@ -73,18 +69,16 @@ bool PDUSessionResourceFailedToSetupListCxtRes::
}
//------------------------------------------------------------------------------
bool PDUSessionResourceFailedToSetupListCxtRes::
decodefromPDUSessionResourceFailedToSetupListCxtRes(
Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes) {
itemList.reserve(pduSessionResourceFailedToSetupListCxtRes->list.count);
bool PDUSessionResourceFailedToSetupListCxtRes::decode(
Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes) {
item_list_.reserve(pduSessionResourceFailedToSetupListCxtRes->list.count);
for (int i = 0; i < pduSessionResourceFailedToSetupListCxtRes->list.count;
i++) {
PDUSessionResourceFailedToSetupItemCxtRes item = {};
if (!item.decodefromPDUSessionResourceFailedToSetupItemCxtRes(
pduSessionResourceFailedToSetupListCxtRes->list.array[i]))
if (!item.decode(pduSessionResourceFailedToSetupListCxtRes->list.array[i]))
return false;
itemList.push_back(item);
item_list_.push_back(item);
}
return true;
......
......@@ -36,20 +36,16 @@ class PDUSessionResourceFailedToSetupListCxtRes {
PDUSessionResourceFailedToSetupListCxtRes();
virtual ~PDUSessionResourceFailedToSetupListCxtRes();
void setPDUSessionResourceFailedToSetupListCxtRes(
const std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list);
void getPDUSessionResourceFailedToSetupListCxtRes(
std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list);
bool encode2PDUSessionResourceFailedToSetupListCxtRes(
Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes);
bool decodefromPDUSessionResourceFailedToSetupListCxtRes(
Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes);
void set(const std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list);
void get(std::vector<PDUSessionResourceFailedToSetupItemCxtRes>& list);
bool encode(Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes);
bool decode(Ngap_PDUSessionResourceFailedToSetupListCxtRes_t*
pduSessionResourceFailedToSetupListCxtRes);
private:
std::vector<PDUSessionResourceFailedToSetupItemCxtRes> itemList;
std::vector<PDUSessionResourceFailedToSetupItemCxtRes> item_list_;
};
} // namespace ngap
......
......@@ -30,45 +30,46 @@ PDUSessionResourceSetupItemCxtRes::PDUSessionResourceSetupItemCxtRes() {}
PDUSessionResourceSetupItemCxtRes::~PDUSessionResourceSetupItemCxtRes() {}
//------------------------------------------------------------------------------
void PDUSessionResourceSetupItemCxtRes::setPDUSessionResourceSetupItemCxtRes(
const PDUSessionID& m_pDUSessionID,
const OCTET_STRING_t& m_pDUSessionResourceSetupResponseTransfer) {
pDUSessionID = m_pDUSessionID;
pDUSessionResourceSetupResponseTransfer =
m_pDUSessionResourceSetupResponseTransfer;
void PDUSessionResourceSetupItemCxtRes::set(
const PDUSessionID& pdu_session_id,
const OCTET_STRING_t& pdu_session_resource_setup_response_transfer) {
pdu_session_id_ = pdu_session_id;
pdu_session_resource_setup_response_transfer_ =
pdu_session_resource_setup_response_transfer;
}
//------------------------------------------------------------------------------
void PDUSessionResourceSetupItemCxtRes::getPDUSessionResourceSetupItemCxtRes(
PDUSessionID& m_pDUSessionID,
OCTET_STRING_t& m_pDUSessionResourceSetupResponseTransfer) {
m_pDUSessionID = pDUSessionID;
m_pDUSessionResourceSetupResponseTransfer =
pDUSessionResourceSetupResponseTransfer;
void PDUSessionResourceSetupItemCxtRes::get(
PDUSessionID& pdu_session_id,
OCTET_STRING_t& pdu_session_resource_setup_response_transfer) const {
pdu_session_id = pdu_session_id_;
pdu_session_resource_setup_response_transfer =
pdu_session_resource_setup_response_transfer_;
}
//------------------------------------------------------------------------------
bool PDUSessionResourceSetupItemCxtRes::
encode2PDUSessionResourceSetupItemCxtRes(
Ngap_PDUSessionResourceSetupItemCxtRes_t*
pduSessionResourceSetupItemCxtRes) {
if (!pDUSessionID.encode(pduSessionResourceSetupItemCxtRes->pDUSessionID))
bool PDUSessionResourceSetupItemCxtRes::encode(
Ngap_PDUSessionResourceSetupItemCxtRes_t*
pdu_session_resource_setup_item_cxt_res) {
if (!pdu_session_id_.encode(
pdu_session_resource_setup_item_cxt_res->pDUSessionID))
return false;
pduSessionResourceSetupItemCxtRes->pDUSessionResourceSetupResponseTransfer =
pDUSessionResourceSetupResponseTransfer;
pdu_session_resource_setup_item_cxt_res
->pDUSessionResourceSetupResponseTransfer =
pdu_session_resource_setup_response_transfer_;
return true;
}
//------------------------------------------------------------------------------
bool PDUSessionResourceSetupItemCxtRes::
decodefromPDUSessionResourceSetupItemCxtRes(
Ngap_PDUSessionResourceSetupItemCxtRes_t*
pduSessionResourceSetupItemCxtRes) {
if (!pDUSessionID.decode(pduSessionResourceSetupItemCxtRes->pDUSessionID))
bool PDUSessionResourceSetupItemCxtRes::decode(
Ngap_PDUSessionResourceSetupItemCxtRes_t*
pdu_session_resource_setup_item_cxt_res) {
if (!pdu_session_id_.decode(
pdu_session_resource_setup_item_cxt_res->pDUSessionID))
return false;
pDUSessionResourceSetupResponseTransfer =
pduSessionResourceSetupItemCxtRes
pdu_session_resource_setup_response_transfer_ =
pdu_session_resource_setup_item_cxt_res
->pDUSessionResourceSetupResponseTransfer;
return true;
......
......@@ -35,23 +35,21 @@ class PDUSessionResourceSetupItemCxtRes {
PDUSessionResourceSetupItemCxtRes();
virtual ~PDUSessionResourceSetupItemCxtRes();
void setPDUSessionResourceSetupItemCxtRes(
const PDUSessionID& m_pDUSessionID,
const OCTET_STRING_t& m_pDUSessionResourceSetupResponseTransfer);
void getPDUSessionResourceSetupItemCxtRes(
PDUSessionID& m_pDUSessionID,
OCTET_STRING_t& m_pDUSessionResourceSetupResponseTransfer);
bool encode2PDUSessionResourceSetupItemCxtRes(
Ngap_PDUSessionResourceSetupItemCxtRes_t*
pduSessionResourceSetupItemCxtRes);
bool decodefromPDUSessionResourceSetupItemCxtRes(
Ngap_PDUSessionResourceSetupItemCxtRes_t*
pduSessionResourceSetupItemCxtRes);
void set(
const PDUSessionID& pdu_session_id,
const OCTET_STRING_t& pdu_session_resource_setup_response_transfer);
void get(
PDUSessionID& pdu_session_id,
OCTET_STRING_t& pdu_session_resource_setup_response_transfer) const;
bool encode(Ngap_PDUSessionResourceSetupItemCxtRes_t*
pdu_session_resource_setup_item_cxt_res);
bool decode(Ngap_PDUSessionResourceSetupItemCxtRes_t*
pdu_session_resource_setup_item_cxt_res);
private:
PDUSessionID pDUSessionID; // Mandatory
OCTET_STRING_t pDUSessionResourceSetupResponseTransfer; // Mandatory
PDUSessionID pdu_session_id_; // Mandatory
OCTET_STRING_t pdu_session_resource_setup_response_transfer_; // Mandatory
};
} // namespace ngap
......
......@@ -30,30 +30,29 @@ PDUSessionResourceSetupListCxtRes::PDUSessionResourceSetupListCxtRes() {}
PDUSessionResourceSetupListCxtRes::~PDUSessionResourceSetupListCxtRes() {}
//------------------------------------------------------------------------------
void PDUSessionResourceSetupListCxtRes::setPDUSessionResourceSetupListCxtRes(
void PDUSessionResourceSetupListCxtRes::set(
const std::vector<PDUSessionResourceSetupItemCxtRes>& list) {
itemList = list;
item_list_ = list;
}
//------------------------------------------------------------------------------
void PDUSessionResourceSetupListCxtRes::getPDUSessionResourceSetupListCxtRes(
void PDUSessionResourceSetupListCxtRes::get(
std::vector<PDUSessionResourceSetupItemCxtRes>& list) {
list = itemList;
list = item_list_;
}
//------------------------------------------------------------------------------
bool PDUSessionResourceSetupListCxtRes::
encode2PDUSessionResourceSetupListCxtRes(
Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes) {
bool PDUSessionResourceSetupListCxtRes::encode(
Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes) {
for (std::vector<PDUSessionResourceSetupItemCxtRes>::iterator it =
std::begin(itemList);
it < std::end(itemList); ++it) {
std::begin(item_list_);
it < std::end(item_list_); ++it) {
Ngap_PDUSessionResourceSetupItemCxtRes_t* response =
(Ngap_PDUSessionResourceSetupItemCxtRes_t*) calloc(
1, sizeof(Ngap_PDUSessionResourceSetupItemCxtRes_t));
if (!response) return false;
if (!it->encode2PDUSessionResourceSetupItemCxtRes(response)) return false;
if (!it->encode(response)) return false;
if (ASN_SEQUENCE_ADD(&pduSessionResourceSetupListCxtRes->list, response) !=
0)
return false;
......@@ -63,17 +62,15 @@ bool PDUSessionResourceSetupListCxtRes::
}
//------------------------------------------------------------------------------
bool PDUSessionResourceSetupListCxtRes::
decodefromPDUSessionResourceSetupListCxtRes(
Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes) {
itemList.reserve(pduSessionResourceSetupListCxtRes->list.count);
bool PDUSessionResourceSetupListCxtRes::decode(
Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes) {
item_list_.reserve(pduSessionResourceSetupListCxtRes->list.count);
for (int i = 0; i < pduSessionResourceSetupListCxtRes->list.count; i++) {
PDUSessionResourceSetupItemCxtRes item = {};
if (!item.decodefromPDUSessionResourceSetupItemCxtRes(
pduSessionResourceSetupListCxtRes->list.array[i]))
if (!item.decode(pduSessionResourceSetupListCxtRes->list.array[i]))
return false;
itemList.push_back(item);
item_list_.push_back(item);
}
return true;
......
......@@ -36,20 +36,16 @@ class PDUSessionResourceSetupListCxtRes {
PDUSessionResourceSetupListCxtRes();
virtual ~PDUSessionResourceSetupListCxtRes();
void setPDUSessionResourceSetupListCxtRes(
const std::vector<PDUSessionResourceSetupItemCxtRes>& list);
void getPDUSessionResourceSetupListCxtRes(
std::vector<PDUSessionResourceSetupItemCxtRes>& list);
bool encode2PDUSessionResourceSetupListCxtRes(
Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes);
bool decodefromPDUSessionResourceSetupListCxtRes(
Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes);
void set(const std::vector<PDUSessionResourceSetupItemCxtRes>& list);
void get(std::vector<PDUSessionResourceSetupItemCxtRes>& list);
bool encode(Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes);
bool decode(Ngap_PDUSessionResourceSetupListCxtRes_t*
pduSessionResourceSetupListCxtRes);
private:
std::vector<PDUSessionResourceSetupItemCxtRes> itemList;
std::vector<PDUSessionResourceSetupItemCxtRes> item_list_;
};
} // namespace ngap
......
......@@ -26,6 +26,8 @@
#include "PDUSessionResourceSetupListCxtRes.hpp"
#include "NgapUEMessage.hpp"
#include <optional>
extern "C" {
#include "Ngap_InitialContextSetupResponse.h"
}
......@@ -57,9 +59,9 @@ class InitialContextSetupResponseMsg : public NgapUEMessage {
Ngap_InitialContextSetupResponse_t* initialContextSetupResponseIEs;
// AMF_UE_NGAP_ID //Mandatory
// RAN_UE_NGAP_ID //Mandatory
PDUSessionResourceSetupListCxtRes*
std::optional<PDUSessionResourceSetupListCxtRes>
pduSessionResourceSetupResponseList; // Optional
PDUSessionResourceFailedToSetupListCxtRes*
std::optional<PDUSessionResourceFailedToSetupListCxtRes>
pduSessionResourceFailedToSetupResponseList; // Optional
// TODO: Criticality Diagnostics (Optional)
};
......
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