Commit 450bc25b authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Update NGAP IEs

parent bdf8e1c4
...@@ -39,20 +39,20 @@ namespace ngap { ...@@ -39,20 +39,20 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
AmfName::AmfName() { AmfName::AmfName() {
amfname = NULL; amfname = nullptr;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
AmfName::~AmfName() { AmfName::~AmfName() {
free(amfname); free(amfname);
amfname = NULL; amfname = nullptr;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void AmfName::setValue(const std::string m_amfName) { void AmfName::setValue(const std::string m_amfName) {
if (amfname) { if (amfname) {
free(amfname); free(amfname);
amfname = NULL; amfname = nullptr;
} }
amfname = (char*) calloc(1, m_amfName.size() + 1); amfname = (char*) calloc(1, m_amfName.size() + 1);
memcpy(amfname, m_amfName.c_str(), m_amfName.size()); memcpy(amfname, m_amfName.c_str(), m_amfName.size());
...@@ -61,11 +61,12 @@ void AmfName::setValue(const std::string m_amfName) { ...@@ -61,11 +61,12 @@ void AmfName::setValue(const std::string m_amfName) {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void AmfName::getValue(std::string& m_amfName) { void AmfName::getValue(std::string& m_amfName) {
m_amfName = amfname; if (amfname) m_amfName = amfname;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool AmfName::encode2AmfName(Ngap_AMFName_t* amfNameIe) { bool AmfName::encode2AmfName(Ngap_AMFName_t* amfNameIe) {
if (amfname)
if (OCTET_STRING_fromBuf(amfNameIe, amfname, strlen(amfname)) < 0) if (OCTET_STRING_fromBuf(amfNameIe, amfname, strlen(amfname)) < 0)
return false; return false;
......
...@@ -70,7 +70,6 @@ bool AMFSetID::encode2bitstring(Ngap_AMFSetID_t& amfsetid) { ...@@ -70,7 +70,6 @@ bool AMFSetID::encode2bitstring(Ngap_AMFSetID_t& amfsetid) {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool AMFSetID::decodefrombitstring(Ngap_AMFSetID_t& amfsetid) { bool AMFSetID::decodefrombitstring(Ngap_AMFSetID_t& amfsetid) {
if (!amfsetid.buf) return false; if (!amfsetid.buf) return false;
printf("test for amfsetid\n");
for (int i = 0; i < amfsetid.size; i++) { for (int i = 0; i < amfsetid.size; i++) {
printf("%x ", amfsetid.buf[i]); printf("%x ", amfsetid.buf[i]);
} }
......
...@@ -40,7 +40,7 @@ namespace ngap { ...@@ -40,7 +40,7 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
AllowedNSSAI::AllowedNSSAI() { AllowedNSSAI::AllowedNSSAI() {
snssai = NULL; snssai = nullptr;
numofSnssai = 0; numofSnssai = 0;
} }
...@@ -66,7 +66,6 @@ bool AllowedNSSAI::getAllowedNSSAI(S_NSSAI*& m_snssai, int& m_numofsnssai) { ...@@ -66,7 +66,6 @@ bool AllowedNSSAI::getAllowedNSSAI(S_NSSAI*& m_snssai, int& m_numofsnssai) {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool AllowedNSSAI::encode2AllowedNSSAI(Ngap_AllowedNSSAI_t* allowedNssaiList) { bool AllowedNSSAI::encode2AllowedNSSAI(Ngap_AllowedNSSAI_t* allowedNssaiList) {
cout << "AllowedNSSAI::numOfSnssai " << numofSnssai << endl;
for (int i = 0; i < numofSnssai; i++) { for (int i = 0; i < numofSnssai; i++) {
Ngap_AllowedNSSAI_Item_t* allowednssaiitem = Ngap_AllowedNSSAI_Item_t* allowednssaiitem =
(Ngap_AllowedNSSAI_Item_t*) calloc(1, sizeof(Ngap_AllowedNSSAI_Item_t)); (Ngap_AllowedNSSAI_Item_t*) calloc(1, sizeof(Ngap_AllowedNSSAI_Item_t));
......
...@@ -35,7 +35,7 @@ namespace ngap { ...@@ -35,7 +35,7 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
AssociatedQosFlowItem::AssociatedQosFlowItem() { AssociatedQosFlowItem::AssociatedQosFlowItem() {
qosFlowIdentifier = NULL; qosFlowIdentifier = nullptr;
qosFlowMappingIndication = -1; qosFlowMappingIndication = -1;
} }
...@@ -74,6 +74,8 @@ bool AssociatedQosFlowItem::encode2AssociatedQosFlowItem( ...@@ -74,6 +74,8 @@ bool AssociatedQosFlowItem::encode2AssociatedQosFlowItem(
(long*) calloc(1, sizeof(long)); (long*) calloc(1, sizeof(long));
*associatedQosFlowItem->qosFlowMappingIndication = qosFlowMappingIndication; *associatedQosFlowItem->qosFlowMappingIndication = qosFlowMappingIndication;
} }
if (!qosFlowIdentifier) return false;
if (!qosFlowIdentifier->encode2QosFlowIdentifier( if (!qosFlowIdentifier->encode2QosFlowIdentifier(
&associatedQosFlowItem->qosFlowIdentifier)) &associatedQosFlowItem->qosFlowIdentifier))
return false; return false;
......
...@@ -35,7 +35,7 @@ namespace ngap { ...@@ -35,7 +35,7 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
AssociatedQosFlowList::AssociatedQosFlowList() { AssociatedQosFlowList::AssociatedQosFlowList() {
associatedQosFlowItem = NULL; associatedQosFlowItem = nullptr;
numofassociatedQosFlowItem = 0; numofassociatedQosFlowItem = 0;
} }
...@@ -65,6 +65,7 @@ bool AssociatedQosFlowList::encode2AssociatedQosFlowList( ...@@ -65,6 +65,7 @@ bool AssociatedQosFlowList::encode2AssociatedQosFlowList(
Ngap_AssociatedQosFlowItem_t* ie = (Ngap_AssociatedQosFlowItem_t*) calloc( Ngap_AssociatedQosFlowItem_t* ie = (Ngap_AssociatedQosFlowItem_t*) calloc(
1, sizeof(Ngap_AssociatedQosFlowItem_t)); 1, sizeof(Ngap_AssociatedQosFlowItem_t));
if (!ie) return false; if (!ie) return false;
if (!associatedQosFlowItem) return false;
if (!associatedQosFlowItem[i].encode2AssociatedQosFlowItem(ie)) if (!associatedQosFlowItem[i].encode2AssociatedQosFlowItem(ie))
return false; return false;
if (ASN_SEQUENCE_ADD(&associatedQosFlowList.list, ie) != 0) return false; if (ASN_SEQUENCE_ADD(&associatedQosFlowList.list, ie) != 0) return false;
......
...@@ -43,8 +43,8 @@ namespace ngap { ...@@ -43,8 +43,8 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
BroadcastPLMNItem::BroadcastPLMNItem() { BroadcastPLMNItem::BroadcastPLMNItem() {
plmn = NULL; plmn = nullptr;
snssai = NULL; snssai = nullptr;
numOfSnssai = 0; numOfSnssai = 0;
} }
...@@ -70,8 +70,9 @@ void BroadcastPLMNItem::getPlmnSliceSupportList( ...@@ -70,8 +70,9 @@ void BroadcastPLMNItem::getPlmnSliceSupportList(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool BroadcastPLMNItem::encode2BroadcastPLMNItem( bool BroadcastPLMNItem::encode2BroadcastPLMNItem(
Ngap_BroadcastPLMNItem_t* plmnItem) { Ngap_BroadcastPLMNItem_t* plmnItem) {
if (!plmn) return false;
if (!snssai) return false;
if (!plmn->encode2octetstring(plmnItem->pLMNIdentity)) return false; if (!plmn->encode2octetstring(plmnItem->pLMNIdentity)) return false;
cout << "BroadcastPLMNItem::numOfSnssai " << numOfSnssai << endl;
for (int i = 0; i < numOfSnssai; i++) { for (int i = 0; i < numOfSnssai; i++) {
Ngap_SliceSupportItem_t* slice = Ngap_SliceSupportItem_t* slice =
(Ngap_SliceSupportItem_t*) calloc(1, sizeof(Ngap_SliceSupportItem_t)); (Ngap_SliceSupportItem_t*) calloc(1, sizeof(Ngap_SliceSupportItem_t));
...@@ -89,7 +90,7 @@ bool BroadcastPLMNItem::decodefromBroadcastPLMNItem( ...@@ -89,7 +90,7 @@ bool BroadcastPLMNItem::decodefromBroadcastPLMNItem(
if (plmn == nullptr) plmn = new PlmnId(); if (plmn == nullptr) plmn = new PlmnId();
if (!plmn->decodefromoctetstring(pdu->pLMNIdentity)) return false; if (!plmn->decodefromoctetstring(pdu->pLMNIdentity)) return false;
numOfSnssai = pdu->tAISliceSupportList.list.count; numOfSnssai = pdu->tAISliceSupportList.list.count;
snssai = new S_NSSAI[numOfSnssai](); if (snssai == nullptr) snssai = new S_NSSAI[numOfSnssai]();
for (int i = 0; i < numOfSnssai; i++) { for (int i = 0; i < numOfSnssai; i++) {
if (!snssai[i].decodefromS_NSSAI( if (!snssai[i].decodefromS_NSSAI(
&pdu->tAISliceSupportList.list.array[i]->s_NSSAI)) &pdu->tAISliceSupportList.list.array[i]->s_NSSAI))
......
...@@ -43,16 +43,12 @@ bool COUNTValueForPDCP_SN18::encodedCOUNTValueForPDCP_SN18( ...@@ -43,16 +43,12 @@ bool COUNTValueForPDCP_SN18::encodedCOUNTValueForPDCP_SN18(
Ngap_COUNTValueForPDCP_SN18_t* countvalue) { Ngap_COUNTValueForPDCP_SN18_t* countvalue) {
countvalue->pDCP_SN18 = pdcp; countvalue->pDCP_SN18 = pdcp;
countvalue->hFN_PDCP_SN18 = hfn_pdcp; countvalue->hFN_PDCP_SN18 = hfn_pdcp;
cout << "the encode pdcp_sn18 is" << countvalue->pDCP_SN18 << endl;
cout << "the encode hfn_pdcp_sn18 is" << countvalue->hFN_PDCP_SN18 << endl;
return true; return true;
} }
bool COUNTValueForPDCP_SN18::decodedCOUNTValueForPDCP_SN18( bool COUNTValueForPDCP_SN18::decodedCOUNTValueForPDCP_SN18(
Ngap_COUNTValueForPDCP_SN18_t& countValue) { Ngap_COUNTValueForPDCP_SN18_t& countValue) {
pdcp = countValue.pDCP_SN18; pdcp = countValue.pDCP_SN18;
hfn_pdcp = countValue.hFN_PDCP_SN18; hfn_pdcp = countValue.hFN_PDCP_SN18;
cout << "the decode pdcp_sn18 is" << countValue.pDCP_SN18 << endl;
cout << "the decode hfn_pdcp_sn18 is" << countValue.hFN_PDCP_SN18 << endl;
return true; return true;
} }
} // namespace ngap } // namespace ngap
...@@ -78,12 +78,15 @@ void CoreNetworkAssistanceInfo::setCoreNetworkAssistanceInfo( ...@@ -78,12 +78,15 @@ void CoreNetworkAssistanceInfo::setCoreNetworkAssistanceInfo(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool CoreNetworkAssistanceInfo::encode2CoreNetworkAssistanceInfo( bool CoreNetworkAssistanceInfo::encode2CoreNetworkAssistanceInfo(
Ngap_CoreNetworkAssistanceInformation_t* coreNetworkAssistanceInformation) { Ngap_CoreNetworkAssistanceInformation_t* coreNetworkAssistanceInformation) {
if (!ueIdentityIndexValue) return false;
if (!ueIdentityIndexValue->encode2UEIdentityIndexValue( if (!ueIdentityIndexValue->encode2UEIdentityIndexValue(
&coreNetworkAssistanceInformation->uEIdentityIndexValue)) &coreNetworkAssistanceInformation->uEIdentityIndexValue))
return false; return false;
if (!periodicRegUpdateTimer) return false;
if (!periodicRegUpdateTimer->encode2PeriodicRegistrationUpdateTimer( if (!periodicRegUpdateTimer->encode2PeriodicRegistrationUpdateTimer(
&coreNetworkAssistanceInformation->periodicRegistrationUpdateTimer)) &coreNetworkAssistanceInformation->periodicRegistrationUpdateTimer))
return false; return false;
if (!tai) return false;
for (int i = 0; i < numoftai; i++) { for (int i = 0; i < numoftai; i++) {
Ngap_TAIListForInactiveItem_t* taiListForInactiveItem = Ngap_TAIListForInactiveItem_t* taiListForInactiveItem =
(Ngap_TAIListForInactiveItem_t*) calloc( (Ngap_TAIListForInactiveItem_t*) calloc(
...@@ -129,7 +132,7 @@ bool CoreNetworkAssistanceInfo::decodefromCoreNetworkAssistanceInfo( ...@@ -129,7 +132,7 @@ bool CoreNetworkAssistanceInfo::decodefromCoreNetworkAssistanceInfo(
&coreNetworkAssistanceInformation->periodicRegistrationUpdateTimer)) &coreNetworkAssistanceInformation->periodicRegistrationUpdateTimer))
return false; return false;
numoftai = coreNetworkAssistanceInformation->tAIListForInactive.list.count; numoftai = coreNetworkAssistanceInformation->tAIListForInactive.list.count;
tai = new TAI[numoftai](); if (tai == nullptr) tai = new TAI[numoftai]();
for (int i = 0; i < numoftai; i++) { for (int i = 0; i < numoftai; i++) {
if (!tai[i].decodefromTAI( if (!tai[i].decodefromTAI(
&coreNetworkAssistanceInformation->tAIListForInactive.list.array[i] &coreNetworkAssistanceInformation->tAIListForInactive.list.array[i]
...@@ -137,13 +140,13 @@ bool CoreNetworkAssistanceInfo::decodefromCoreNetworkAssistanceInfo( ...@@ -137,13 +140,13 @@ bool CoreNetworkAssistanceInfo::decodefromCoreNetworkAssistanceInfo(
return false; return false;
} }
if (coreNetworkAssistanceInformation->uESpecificDRX) { if (coreNetworkAssistanceInformation->uESpecificDRX) {
pagingDRX = new DefaultPagingDRX(); if (pagingDRX == nullptr) pagingDRX = new DefaultPagingDRX();
if (!pagingDRX->decodefromDefaultPagingDRX( if (!pagingDRX->decodefromDefaultPagingDRX(
*(coreNetworkAssistanceInformation->uESpecificDRX))) *(coreNetworkAssistanceInformation->uESpecificDRX)))
return false; return false;
} }
if (coreNetworkAssistanceInformation->mICOModeIndication) { if (coreNetworkAssistanceInformation->mICOModeIndication) {
micoModeInd = new MICOModeIndication(); if (micoModeInd == nullptr) micoModeInd = new MICOModeIndication();
if (!micoModeInd->decodefromMICOModeIndication( if (!micoModeInd->decodefromMICOModeIndication(
coreNetworkAssistanceInformation->mICOModeIndication)) coreNetworkAssistanceInformation->mICOModeIndication))
return false; return false;
......
...@@ -101,6 +101,7 @@ int CriticalityDiagnostics::encode2pdu(Ngap_NGSetupFailure_t* ngSetupFailure) { ...@@ -101,6 +101,7 @@ int CriticalityDiagnostics::encode2pdu(Ngap_NGSetupFailure_t* ngSetupFailure) {
ie->value.choice.CriticalityDiagnostics.procedureCriticality = ie->value.choice.CriticalityDiagnostics.procedureCriticality =
procedureCriticalityIE; procedureCriticalityIE;
} }
if (numberOfIEsCriticalityDiagnostics) { if (numberOfIEsCriticalityDiagnostics) {
Ngap_CriticalityDiagnostics_IE_List_t* ieList = Ngap_CriticalityDiagnostics_IE_List_t* ieList =
(Ngap_CriticalityDiagnostics_IE_List_t*) calloc( (Ngap_CriticalityDiagnostics_IE_List_t*) calloc(
...@@ -109,9 +110,11 @@ int CriticalityDiagnostics::encode2pdu(Ngap_NGSetupFailure_t* ngSetupFailure) { ...@@ -109,9 +110,11 @@ int CriticalityDiagnostics::encode2pdu(Ngap_NGSetupFailure_t* ngSetupFailure) {
Ngap_CriticalityDiagnostics_IE_Item_t* ieItem = Ngap_CriticalityDiagnostics_IE_Item_t* ieItem =
(Ngap_CriticalityDiagnostics_IE_Item_t*) calloc( (Ngap_CriticalityDiagnostics_IE_Item_t*) calloc(
1, sizeof(Ngap_CriticalityDiagnostics_IE_Item_t)); 1, sizeof(Ngap_CriticalityDiagnostics_IE_Item_t));
if (iEsCriticalityDiagnostics) {
iEsCriticalityDiagnostics[i].encode2pdu(ieItem); iEsCriticalityDiagnostics[i].encode2pdu(ieItem);
ASN_SEQUENCE_ADD(&ieList->list, ieItem); ASN_SEQUENCE_ADD(&ieList->list, ieItem);
} }
}
ie->value.choice.CriticalityDiagnostics.iEsCriticalityDiagnostics = ieList; ie->value.choice.CriticalityDiagnostics.iEsCriticalityDiagnostics = ieList;
} }
if (!procedureCodeIsSet && !triggeringMessageIsSet && if (!procedureCodeIsSet && !triggeringMessageIsSet &&
......
...@@ -35,8 +35,8 @@ namespace ngap { ...@@ -35,8 +35,8 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
DLQoSFlowPerTNLInformation::DLQoSFlowPerTNLInformation() { DLQoSFlowPerTNLInformation::DLQoSFlowPerTNLInformation() {
uPTransportLayerInformation = NULL; uPTransportLayerInformation = nullptr;
associatedQosFlowList = NULL; associatedQosFlowList = nullptr;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
...@@ -63,9 +63,11 @@ bool DLQoSFlowPerTNLInformation::getDLQoSFlowPerTNLInformation( ...@@ -63,9 +63,11 @@ bool DLQoSFlowPerTNLInformation::getDLQoSFlowPerTNLInformation(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool DLQoSFlowPerTNLInformation::encode2DLQoSFlowPerTNLInformation( bool DLQoSFlowPerTNLInformation::encode2DLQoSFlowPerTNLInformation(
Ngap_QosFlowPerTNLInformation_t* qosFlowPerTNLInformation) { Ngap_QosFlowPerTNLInformation_t* qosFlowPerTNLInformation) {
if (!uPTransportLayerInformation) return false;
if (!uPTransportLayerInformation->encode2UpTransportLayerInformation( if (!uPTransportLayerInformation->encode2UpTransportLayerInformation(
qosFlowPerTNLInformation->uPTransportLayerInformation)) qosFlowPerTNLInformation->uPTransportLayerInformation))
return false; return false;
if (!associatedQosFlowList) return false;
if (!associatedQosFlowList->encode2AssociatedQosFlowList( if (!associatedQosFlowList->encode2AssociatedQosFlowList(
qosFlowPerTNLInformation->associatedQosFlowList)) qosFlowPerTNLInformation->associatedQosFlowList))
return false; return false;
......
...@@ -39,20 +39,6 @@ DataForwardingNotPossible::DataForwardingNotPossible() {} ...@@ -39,20 +39,6 @@ DataForwardingNotPossible::DataForwardingNotPossible() {}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
DataForwardingNotPossible::~DataForwardingNotPossible() {} DataForwardingNotPossible::~DataForwardingNotPossible() {}
//------------------------------------------------------------------------------
#if 0
void DataForwardingNotPossible::setDataForwardingNotPossible(const uint32_t m_gtp_teid)
{
gtp_teid = m_gtp_teid;
}
bool DataForwardingNotPossible::getDataForwardingNotPossible(uint32_t &m_gtp_teid)
{
m_gtp_teid = gtp_teid;
return true;
}
#endif
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool DataForwardingNotPossible::encode2DataForwardingNotPossible( bool DataForwardingNotPossible::encode2DataForwardingNotPossible(
Ngap_DataForwardingNotPossible_t& dataForwardingNotPossible) { Ngap_DataForwardingNotPossible_t& dataForwardingNotPossible) {
......
...@@ -20,64 +20,69 @@ ...@@ -20,64 +20,69 @@
*/ */
#include "dRBsSubjectToStatusTransferItem.hpp" #include "dRBsSubjectToStatusTransferItem.hpp"
#include "logger.hpp"
#include <iostream> #include <iostream>
#include <vector> #include <vector>
using namespace std; using namespace std;
namespace ngap { namespace ngap {
dRBSubjectItem::dRBSubjectItem() { dRBSubjectItem::dRBSubjectItem() {
drb_id = NULL; drb_id = nullptr;
drb_ul = NULL; drb_ul = nullptr;
drb_dl = NULL; drb_dl = nullptr;
} }
dRBSubjectItem::~dRBSubjectItem() {} dRBSubjectItem::~dRBSubjectItem() {}
void dRBSubjectItem::setdRBSubjectItem( void dRBSubjectItem::setdRBSubjectItem(
Ngap_DRB_ID_t* dRB_ID, dRBStatusUL* dRB_UL, dRBStatusDL* dRB_DL) { Ngap_DRB_ID_t* dRB_ID, dRBStatusUL* dRB_UL, dRBStatusDL* dRB_DL) {
drb_id = dRB_ID; drb_id = dRB_ID;
drb_ul = dRB_UL; drb_ul = dRB_UL;
drb_dl = dRB_DL; drb_dl = dRB_DL;
} }
void dRBSubjectItem::getdRBSubjectItem( void dRBSubjectItem::getdRBSubjectItem(
Ngap_DRB_ID_t*& dRB_ID, dRBStatusUL*& dRB_UL, dRBStatusDL*& dRB_DL) { Ngap_DRB_ID_t*& dRB_ID, dRBStatusUL*& dRB_UL, dRBStatusDL*& dRB_DL) {
dRB_ID = drb_id; dRB_ID = drb_id;
dRB_UL = drb_ul; dRB_UL = drb_ul;
dRB_DL = drb_dl; dRB_DL = drb_dl;
} }
bool dRBSubjectItem::decodefromdRBSubjectItem( bool dRBSubjectItem::decodefromdRBSubjectItem(
Ngap_DRBsSubjectToStatusTransferItem_t* dRB_item) { Ngap_DRBsSubjectToStatusTransferItem_t* dRB_item) {
if (dRB_item->dRB_ID) { if (dRB_item->dRB_ID) {
drb_id = &dRB_item->dRB_ID; drb_id = &dRB_item->dRB_ID;
cout << "the decode drb_id is" << *drb_id << endl;
} }
drb_ul = new dRBStatusUL(); drb_ul = new dRBStatusUL();
if (!drb_ul->decodedRBStatusUL(&dRB_item->dRBStatusUL)) { if (!drb_ul->decodedRBStatusUL(&dRB_item->dRBStatusUL)) {
cout << "decode from dRBSubjectItem dRBStatusUL error" << endl;
return false; return false;
} }
drb_dl = new dRBStatusDL(); drb_dl = new dRBStatusDL();
if (!drb_dl->decodedRBStatusDL(&dRB_item->dRBStatusDL)) { if (!drb_dl->decodedRBStatusDL(&dRB_item->dRBStatusDL)) {
cout << "decode from dRBSubjectItem dRBStatusDL error" << endl;
return false; return false;
} }
cout << "decode from dRBSubjectItem successfully" << endl;
return true; return true;
} }
bool dRBSubjectItem::encodedRBSubjectItem( bool dRBSubjectItem::encodedRBSubjectItem(
Ngap_DRBsSubjectToStatusTransferItem_t* dRB_item) { Ngap_DRBsSubjectToStatusTransferItem_t* dRB_item) {
if (drb_id) { if (drb_id) {
dRB_item->dRB_ID = *drb_id; dRB_item->dRB_ID = *drb_id;
cout << "the encode drb_id is" << *drb_id << endl;
} }
if (!drb_ul) return false;
if (!drb_ul->encodedRBStatusUL(&dRB_item->dRBStatusUL)) { if (!drb_ul->encodedRBStatusUL(&dRB_item->dRBStatusUL)) {
cout << "encode from dRBSubjectItem dRBStatusUL error" << endl;
return false; return false;
} }
if (!drb_dl) return false;
if (!drb_dl->encodedRBStatusDL(&dRB_item->dRBStatusDL)) { if (!drb_dl->encodedRBStatusDL(&dRB_item->dRBStatusDL)) {
cout << "encode from dRBSubjectItem dRBStatusDL error" << endl;
return false; return false;
} }
cout << "encode from dRBSubjectItem successfully" << endl;
Logger::ngap().debug("Encode from dRBSubjectItem successfully");
return true; return true;
} }
} // namespace ngap } // namespace ngap
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
using namespace std; using namespace std;
namespace ngap { namespace ngap {
dRBSubjectList::dRBSubjectList() { dRBSubjectList::dRBSubjectList() {
drbsubjectitem = NULL; drbsubjectitem = nullptr;
numofitem = 0; numofitem = 0;
} }
dRBSubjectList::~dRBSubjectList() {} dRBSubjectList::~dRBSubjectList() {}
...@@ -45,6 +45,8 @@ bool dRBSubjectList::encodefromdRBSubjectlist( ...@@ -45,6 +45,8 @@ bool dRBSubjectList::encodefromdRBSubjectlist(
(Ngap_DRBsSubjectToStatusTransferItem_t*) calloc( (Ngap_DRBsSubjectToStatusTransferItem_t*) calloc(
1, sizeof(Ngap_DRBsSubjectToStatusTransferItem_t)); 1, sizeof(Ngap_DRBsSubjectToStatusTransferItem_t));
if (!ie) return false; if (!ie) return false;
if (!drbsubjectitem) return false;
if (!drbsubjectitem[i].encodedRBSubjectItem(ie)) { if (!drbsubjectitem[i].encodedRBSubjectItem(ie)) {
cout << "encodefromdRBSubjectlist error" << endl; cout << "encodefromdRBSubjectlist error" << endl;
return false; return false;
......
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