X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fe2-interface.git;a=blobdiff_plain;f=e2sim%2Fprevious%2Fe2apv1sim%2Fricsim%2Fsrc%2FASN1%2Fgenerated%2FE2AP-PDU-Descriptions.hpp;fp=e2sim%2Fprevious%2Fe2apv1sim%2Fricsim%2Fsrc%2FASN1%2Fgenerated%2FE2AP-PDU-Descriptions.hpp;h=0000000000000000000000000000000000000000;hp=f426b9715165db06225ce8d22d43ebf1e203de7e;hb=f86662b5b6481f27e18313a36355871f3a947193;hpb=a9f02a2b5886990fd81e64f7c218c5d4844f18a3 diff --git a/e2sim/previous/e2apv1sim/ricsim/src/ASN1/generated/E2AP-PDU-Descriptions.hpp b/e2sim/previous/e2apv1sim/ricsim/src/ASN1/generated/E2AP-PDU-Descriptions.hpp deleted file mode 100644 index f426b97..0000000 --- a/e2sim/previous/e2apv1sim/ricsim/src/ASN1/generated/E2AP-PDU-Descriptions.hpp +++ /dev/null @@ -1,980 +0,0 @@ -/***************************************************************************** -# Copyright 2019 AT&T Intellectual Property * -# * -# Licensed under the Apache License, Version 2.0 (the "License"); * -# you may not use this file except in compliance with the License. * -# You may obtain a copy of the License at * -# * -# http://www.apache.org/licenses/LICENSE-2.0 * -# * -# Unless required by applicable law or agreed to in writing, software * -# distributed under the License is distributed on an "AS IS" BASIS, * -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * -# See the License for the specific language governing permissions and * -# limitations under the License. * -# * -******************************************************************************/ - -#pragma once - -#include "asn/asn.hpp" -static_assert(ASN_API_VERSION_MAJOR == 5, "re-generate the ASN parser's code using 'make regen-asn' (do not use -j option)"); - -#include "X2AP-CommonDataTypes.hpp" -#include "X2AP-PDU-Contents.hpp" -#include "X2AP-Constants.hpp" -#include "E2AP-PDU-Contents.hpp" -#include "E2AP-Constants.hpp" - -/* -E2AP-ELEMENTARY-PROCEDURE ::= CLASS { - &InitiatingMessage , - &SuccessfulOutcome OPTIONAL, - &UnsuccessfulOutcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore -} -WITH SYNTAX { - INITIATING MESSAGE &InitiatingMessage - [SUCCESSFUL OUTCOME &SuccessfulOutcome] - [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] - PROCEDURE CODE &procedureCode - [CRITICALITY &criticality] -} -*/ - -struct E2AP_ELEMENTARY_PROCEDURE -{ - struct procedureCode_t : ProcedureCode - { - static constexpr const char* name() {return "procedureCode_t";} - using parent_t = ProcedureCode; - - }; - struct criticality_t : Criticality - { - static constexpr const char* name() {return "criticality_t";} - using parent_t = Criticality; - - }; - -}; -/* -E2AP-ELEMENTARY-PROCEDURES E2AP-ELEMENTARY-PROCEDURE ::= { - E2AP-ELEMENTARY-PROCEDURES-CLASS-1 | - E2AP-ELEMENTARY-PROCEDURES-CLASS-2, - ... -} -*/ - -struct E2AP_ELEMENTARY_PROCEDURES -{ - struct InitiatingMessage_t : asn::typefield - { - ~InitiatingMessage_t() {clear();} - size_t get_index() const {return type;} - RICsubscriptionRequest& select_id_ricSubscription() { return set(1); } - RICsubscriptionRequest const* get_id_ricSubscription() const { return get(1); } - RICsubscriptionDeleteRequest& select_id_ricSubscriptionDelete() { return set(2); } - RICsubscriptionDeleteRequest const* get_id_ricSubscriptionDelete() const { return get(2); } - RICserviceUpdate& select_id_ricServiceUpdate() { return set(3); } - RICserviceUpdate const* get_id_ricServiceUpdate() const { return get(3); } - RICcontrolRequest& select_id_ricControl() { return set(4); } - RICcontrolRequest const* get_id_ricControl() const { return get(4); } - X2SetupRequest& select_id_x2Setup() { return set(5); } - X2SetupRequest const* get_id_x2Setup() const { return get(5); } - ENDCX2SetupRequest& select_id_endcX2Setup() { return set(6); } - ENDCX2SetupRequest const* get_id_endcX2Setup() const { return get(6); } - ResourceStatusRequest& select_id_resourceStatusReportingInitiation() { return set(7); } - ResourceStatusRequest const* get_id_resourceStatusReportingInitiation() const { return get(7); } - ENBConfigurationUpdate& select_id_eNBConfigurationUpdate() { return set(8); } - ENBConfigurationUpdate const* get_id_eNBConfigurationUpdate() const { return get(8); } - ENDCConfigurationUpdate& select_id_endcConfigurationUpdate() { return set(9); } - ENDCConfigurationUpdate const* get_id_endcConfigurationUpdate() const { return get(9); } - ResetRequest& select_id_reset() { return set(10); } - ResetRequest const* get_id_reset() const { return get(10); } - RICindication& select_id_ricIndication() { return set(11); } - RICindication const* get_id_ricIndication() const { return get(11); } - RICserviceQuery& select_id_ricServiceQuery() { return set(12); } - RICserviceQuery const* get_id_ricServiceQuery() const { return get(12); } - LoadInformation& select_id_loadIndication() { return set(13); } - LoadInformation const* get_id_loadIndication() const { return get(13); } - GNBStatusIndication& select_id_gNBStatusIndication() { return set(14); } - GNBStatusIndication const* get_id_gNBStatusIndication() const { return get(14); } - ResourceStatusUpdate& select_id_resourceStatusReporting() { return set(15); } - ResourceStatusUpdate const* get_id_resourceStatusReporting() const { return get(15); } - ErrorIndication& select_id_errorIndication() { return set(16); } - ErrorIndication const* get_id_errorIndication() const { return get(16); } - bool is_unknown() const { return type == 17; } - void clear() - { - switch(type) - { - case 1: var.destroy(); break; - case 2: var.destroy(); break; - case 3: var.destroy(); break; - case 4: var.destroy(); break; - case 5: var.destroy(); break; - case 6: var.destroy(); break; - case 7: var.destroy(); break; - case 8: var.destroy(); break; - case 9: var.destroy(); break; - case 10: var.destroy(); break; - case 11: var.destroy(); break; - case 12: var.destroy(); break; - case 13: var.destroy(); break; - case 14: var.destroy(); break; - case 15: var.destroy(); break; - case 16: var.destroy(); break; - } - type = 0; ref_nested().clear(); - } - template static inline void enumerate(V& v) - { - v.template operator()(1); - v.template operator()(2); - v.template operator()(3); - v.template operator()(4); - v.template operator()(5); - v.template operator()(6); - v.template operator()(7); - v.template operator()(8); - v.template operator()(9); - v.template operator()(10); - v.template operator()(11); - v.template operator()(12); - v.template operator()(13); - v.template operator()(14); - v.template operator()(15); - v.template operator()(16); - - } - protected: - template bool decode(size_t index, V& v) - { - clear(); - switch(index) - { - case 1: v(select_id_ricSubscription()); return true; - case 2: v(select_id_ricSubscriptionDelete()); return true; - case 3: v(select_id_ricServiceUpdate()); return true; - case 4: v(select_id_ricControl()); return true; - case 5: v(select_id_x2Setup()); return true; - case 6: v(select_id_endcX2Setup()); return true; - case 7: v(select_id_resourceStatusReportingInitiation()); return true; - case 8: v(select_id_eNBConfigurationUpdate()); return true; - case 9: v(select_id_endcConfigurationUpdate()); return true; - case 10: v(select_id_reset()); return true; - case 11: v(select_id_ricIndication()); return true; - case 12: v(select_id_ricServiceQuery()); return true; - case 13: v(select_id_loadIndication()); return true; - case 14: v(select_id_gNBStatusIndication()); return true; - case 15: v(select_id_resourceStatusReporting()); return true; - case 16: v(select_id_errorIndication()); return true; - case 17: if(type != 17) {clear(); asn::base::set();} type = 17; return true; - } - return false; - - } - template bool encode(size_t index, V& v) const - { - if(index != type) return false; - switch(type) - { - case 1: v(var.as()); return true; - case 2: v(var.as()); return true; - case 3: v(var.as()); return true; - case 4: v(var.as()); return true; - case 5: v(var.as()); return true; - case 6: v(var.as()); return true; - case 7: v(var.as()); return true; - case 8: v(var.as()); return true; - case 9: v(var.as()); return true; - case 10: v(var.as()); return true; - case 11: v(var.as()); return true; - case 12: v(var.as()); return true; - case 13: v(var.as()); return true; - case 14: v(var.as()); return true; - case 15: v(var.as()); return true; - case 16: v(var.as()); return true; - } - return false; - - } - private: - template T& set(size_t index) {if(type != index) {clear(); type = index; return var.build();} return var.as();} - template T const* get(size_t index) const {if(type == index) {return &var.as();} return nullptr;} - union union_type - { - char dummy1[sizeof(ENBConfigurationUpdate)]; - char dummy2[sizeof(ENDCConfigurationUpdate)]; - char dummy3[sizeof(ENDCX2SetupRequest)]; - char dummy4[sizeof(ErrorIndication)]; - char dummy5[sizeof(GNBStatusIndication)]; - char dummy6[sizeof(LoadInformation)]; - char dummy7[sizeof(RICcontrolRequest)]; - char dummy8[sizeof(RICindication)]; - char dummy9[sizeof(RICserviceQuery)]; - char dummy10[sizeof(RICserviceUpdate)]; - char dummy11[sizeof(RICsubscriptionDeleteRequest)]; - char dummy12[sizeof(RICsubscriptionRequest)]; - char dummy13[sizeof(ResetRequest)]; - char dummy14[sizeof(ResourceStatusRequest)]; - char dummy15[sizeof(ResourceStatusUpdate)]; - char dummy16[sizeof(X2SetupRequest)]; - - }; - asn::variant var; - size_t type {0}; - - }; - struct SuccessfulOutcome_t : asn::typefield - { - ~SuccessfulOutcome_t() {clear();} - size_t get_index() const {return type;} - RICsubscriptionResponse& select_id_ricSubscription() { return set(1); } - RICsubscriptionResponse const* get_id_ricSubscription() const { return get(1); } - RICsubscriptionDeleteResponse& select_id_ricSubscriptionDelete() { return set(2); } - RICsubscriptionDeleteResponse const* get_id_ricSubscriptionDelete() const { return get(2); } - RICserviceUpdateAcknowledge& select_id_ricServiceUpdate() { return set(3); } - RICserviceUpdateAcknowledge const* get_id_ricServiceUpdate() const { return get(3); } - RICcontrolAcknowledge& select_id_ricControl() { return set(4); } - RICcontrolAcknowledge const* get_id_ricControl() const { return get(4); } - X2SetupResponse& select_id_x2Setup() { return set(5); } - X2SetupResponse const* get_id_x2Setup() const { return get(5); } - ENDCX2SetupResponse& select_id_endcX2Setup() { return set(6); } - ENDCX2SetupResponse const* get_id_endcX2Setup() const { return get(6); } - ResourceStatusResponse& select_id_resourceStatusReportingInitiation() { return set(7); } - ResourceStatusResponse const* get_id_resourceStatusReportingInitiation() const { return get(7); } - ENBConfigurationUpdateAcknowledge& select_id_eNBConfigurationUpdate() { return set(8); } - ENBConfigurationUpdateAcknowledge const* get_id_eNBConfigurationUpdate() const { return get(8); } - ENDCConfigurationUpdateAcknowledge& select_id_endcConfigurationUpdate() { return set(9); } - ENDCConfigurationUpdateAcknowledge const* get_id_endcConfigurationUpdate() const { return get(9); } - ResetResponse& select_id_reset() { return set(10); } - ResetResponse const* get_id_reset() const { return get(10); } - bool is_unknown() const { return type == 17; } - void clear() - { - switch(type) - { - case 1: var.destroy(); break; - case 2: var.destroy(); break; - case 3: var.destroy(); break; - case 4: var.destroy(); break; - case 5: var.destroy(); break; - case 6: var.destroy(); break; - case 7: var.destroy(); break; - case 8: var.destroy(); break; - case 9: var.destroy(); break; - case 10: var.destroy(); break; - } - type = 0; ref_nested().clear(); - } - template static inline void enumerate(V& v) - { - v.template operator()(1); - v.template operator()(2); - v.template operator()(3); - v.template operator()(4); - v.template operator()(5); - v.template operator()(6); - v.template operator()(7); - v.template operator()(8); - v.template operator()(9); - v.template operator()(10); - - } - protected: - template bool decode(size_t index, V& v) - { - clear(); - switch(index) - { - case 1: v(select_id_ricSubscription()); return true; - case 2: v(select_id_ricSubscriptionDelete()); return true; - case 3: v(select_id_ricServiceUpdate()); return true; - case 4: v(select_id_ricControl()); return true; - case 5: v(select_id_x2Setup()); return true; - case 6: v(select_id_endcX2Setup()); return true; - case 7: v(select_id_resourceStatusReportingInitiation()); return true; - case 8: v(select_id_eNBConfigurationUpdate()); return true; - case 9: v(select_id_endcConfigurationUpdate()); return true; - case 10: v(select_id_reset()); return true; - case 17: if(type != 17) {clear(); asn::base::set();} type = 17; return true; - } - return false; - - } - template bool encode(size_t index, V& v) const - { - if(index != type) return false; - switch(type) - { - case 1: v(var.as()); return true; - case 2: v(var.as()); return true; - case 3: v(var.as()); return true; - case 4: v(var.as()); return true; - case 5: v(var.as()); return true; - case 6: v(var.as()); return true; - case 7: v(var.as()); return true; - case 8: v(var.as()); return true; - case 9: v(var.as()); return true; - case 10: v(var.as()); return true; - } - return false; - - } - private: - template T& set(size_t index) {if(type != index) {clear(); type = index; return var.build();} return var.as();} - template T const* get(size_t index) const {if(type == index) {return &var.as();} return nullptr;} - union union_type - { - char dummy1[sizeof(ENBConfigurationUpdateAcknowledge)]; - char dummy2[sizeof(ENDCConfigurationUpdateAcknowledge)]; - char dummy3[sizeof(ENDCX2SetupResponse)]; - char dummy4[sizeof(RICcontrolAcknowledge)]; - char dummy5[sizeof(RICserviceUpdateAcknowledge)]; - char dummy6[sizeof(RICsubscriptionDeleteResponse)]; - char dummy7[sizeof(RICsubscriptionResponse)]; - char dummy8[sizeof(ResetResponse)]; - char dummy9[sizeof(ResourceStatusResponse)]; - char dummy10[sizeof(X2SetupResponse)]; - - }; - asn::variant var; - size_t type {0}; - - }; - struct UnsuccessfulOutcome_t : asn::typefield - { - ~UnsuccessfulOutcome_t() {clear();} - size_t get_index() const {return type;} - RICsubscriptionFailure& select_id_ricSubscription() { return set(1); } - RICsubscriptionFailure const* get_id_ricSubscription() const { return get(1); } - RICsubscriptionDeleteFailure& select_id_ricSubscriptionDelete() { return set(2); } - RICsubscriptionDeleteFailure const* get_id_ricSubscriptionDelete() const { return get(2); } - RICserviceUpdateFailure& select_id_ricServiceUpdate() { return set(3); } - RICserviceUpdateFailure const* get_id_ricServiceUpdate() const { return get(3); } - RICcontrolFailure& select_id_ricControl() { return set(4); } - RICcontrolFailure const* get_id_ricControl() const { return get(4); } - X2SetupFailure& select_id_x2Setup() { return set(5); } - X2SetupFailure const* get_id_x2Setup() const { return get(5); } - ENDCX2SetupFailure& select_id_endcX2Setup() { return set(6); } - ENDCX2SetupFailure const* get_id_endcX2Setup() const { return get(6); } - ResourceStatusFailure& select_id_resourceStatusReportingInitiation() { return set(7); } - ResourceStatusFailure const* get_id_resourceStatusReportingInitiation() const { return get(7); } - ENBConfigurationUpdateFailure& select_id_eNBConfigurationUpdate() { return set(8); } - ENBConfigurationUpdateFailure const* get_id_eNBConfigurationUpdate() const { return get(8); } - ENDCConfigurationUpdateFailure& select_id_endcConfigurationUpdate() { return set(9); } - ENDCConfigurationUpdateFailure const* get_id_endcConfigurationUpdate() const { return get(9); } - bool is_unknown() const { return type == 17; } - void clear() - { - switch(type) - { - case 1: var.destroy(); break; - case 2: var.destroy(); break; - case 3: var.destroy(); break; - case 4: var.destroy(); break; - case 5: var.destroy(); break; - case 6: var.destroy(); break; - case 7: var.destroy(); break; - case 8: var.destroy(); break; - case 9: var.destroy(); break; - } - type = 0; ref_nested().clear(); - } - template static inline void enumerate(V& v) - { - v.template operator()(1); - v.template operator()(2); - v.template operator()(3); - v.template operator()(4); - v.template operator()(5); - v.template operator()(6); - v.template operator()(7); - v.template operator()(8); - v.template operator()(9); - - } - protected: - template bool decode(size_t index, V& v) - { - clear(); - switch(index) - { - case 1: v(select_id_ricSubscription()); return true; - case 2: v(select_id_ricSubscriptionDelete()); return true; - case 3: v(select_id_ricServiceUpdate()); return true; - case 4: v(select_id_ricControl()); return true; - case 5: v(select_id_x2Setup()); return true; - case 6: v(select_id_endcX2Setup()); return true; - case 7: v(select_id_resourceStatusReportingInitiation()); return true; - case 8: v(select_id_eNBConfigurationUpdate()); return true; - case 9: v(select_id_endcConfigurationUpdate()); return true; - case 17: if(type != 17) {clear(); asn::base::set();} type = 17; return true; - } - return false; - - } - template bool encode(size_t index, V& v) const - { - if(index != type) return false; - switch(type) - { - case 1: v(var.as()); return true; - case 2: v(var.as()); return true; - case 3: v(var.as()); return true; - case 4: v(var.as()); return true; - case 5: v(var.as()); return true; - case 6: v(var.as()); return true; - case 7: v(var.as()); return true; - case 8: v(var.as()); return true; - case 9: v(var.as()); return true; - } - return false; - - } - private: - template T& set(size_t index) {if(type != index) {clear(); type = index; return var.build();} return var.as();} - template T const* get(size_t index) const {if(type == index) {return &var.as();} return nullptr;} - union union_type - { - char dummy1[sizeof(ENBConfigurationUpdateFailure)]; - char dummy2[sizeof(ENDCConfigurationUpdateFailure)]; - char dummy3[sizeof(ENDCX2SetupFailure)]; - char dummy4[sizeof(RICcontrolFailure)]; - char dummy5[sizeof(RICserviceUpdateFailure)]; - char dummy6[sizeof(RICsubscriptionDeleteFailure)]; - char dummy7[sizeof(RICsubscriptionFailure)]; - char dummy8[sizeof(ResourceStatusFailure)]; - char dummy9[sizeof(X2SetupFailure)]; - - }; - asn::variant var; - size_t type {0}; - - }; - struct procedureCode_t : asn::fixedtypefield - { - size_t get_index() const {return type;} - bool is_unknown() const { return type == 17; } - void clear() {type = 0;} - void select_id_ricSubscription() { set(id_ricSubscription); type=1;} - void select_id_ricSubscriptionDelete() { set(id_ricSubscriptionDelete); type=2;} - void select_id_ricServiceUpdate() { set(id_ricServiceUpdate); type=3;} - void select_id_ricControl() { set(id_ricControl); type=4;} - void select_id_x2Setup() { set(id_x2Setup); type=5;} - void select_id_endcX2Setup() { set(id_endcX2Setup); type=6;} - void select_id_resourceStatusReportingInitiation() { set(id_resourceStatusReportingInitiation); type=7;} - void select_id_eNBConfigurationUpdate() { set(id_eNBConfigurationUpdate); type=8;} - void select_id_endcConfigurationUpdate() { set(id_endcConfigurationUpdate); type=9;} - void select_id_reset() { set(id_reset); type=10;} - void select_id_ricIndication() { set(id_ricIndication); type=11;} - void select_id_ricServiceQuery() { set(id_ricServiceQuery); type=12;} - void select_id_loadIndication() { set(id_loadIndication); type=13;} - void select_id_gNBStatusIndication() { set(id_gNBStatusIndication); type=14;} - void select_id_resourceStatusReporting() { set(id_resourceStatusReporting); type=15;} - void select_id_errorIndication() { set(id_errorIndication); type=16;} - E2AP_ELEMENTARY_PROCEDURE::procedureCode_t const& ref_value() const {return ref_nested();} - template bool decode(V& v) - { - clear(); - if(!v(ref_nested())) return false; - if(equal(id_ricSubscription)) { type = 1; return true; } - else if(equal(id_ricSubscriptionDelete)) { type = 2; return true; } - else if(equal(id_ricServiceUpdate)) { type = 3; return true; } - else if(equal(id_ricControl)) { type = 4; return true; } - else if(equal(id_x2Setup)) { type = 5; return true; } - else if(equal(id_endcX2Setup)) { type = 6; return true; } - else if(equal(id_resourceStatusReportingInitiation)) { type = 7; return true; } - else if(equal(id_eNBConfigurationUpdate)) { type = 8; return true; } - else if(equal(id_endcConfigurationUpdate)) { type = 9; return true; } - else if(equal(id_reset)) { type = 10; return true; } - else if(equal(id_ricIndication)) { type = 11; return true; } - else if(equal(id_ricServiceQuery)) { type = 12; return true; } - else if(equal(id_loadIndication)) { type = 13; return true; } - else if(equal(id_gNBStatusIndication)) { type = 14; return true; } - else if(equal(id_resourceStatusReporting)) { type = 15; return true; } - else if(equal(id_errorIndication)) { type = 16; return true; } - else { type = 17; return true;} - return false; - - } - template bool encode(V& v) const - { - return v(ref_nested()); - - } - protected: - template bool decode(size_t index, V& v) - { - clear(); - switch(index) - { - case 1: type = 1; if(v(ref_nested())) { return equal(id_ricSubscription);} return false; - case 2: type = 2; if(v(ref_nested())) { return equal(id_ricSubscriptionDelete);} return false; - case 3: type = 3; if(v(ref_nested())) { return equal(id_ricServiceUpdate);} return false; - case 4: type = 4; if(v(ref_nested())) { return equal(id_ricControl);} return false; - case 5: type = 5; if(v(ref_nested())) { return equal(id_x2Setup);} return false; - case 6: type = 6; if(v(ref_nested())) { return equal(id_endcX2Setup);} return false; - case 7: type = 7; if(v(ref_nested())) { return equal(id_resourceStatusReportingInitiation);} return false; - case 8: type = 8; if(v(ref_nested())) { return equal(id_eNBConfigurationUpdate);} return false; - case 9: type = 9; if(v(ref_nested())) { return equal(id_endcConfigurationUpdate);} return false; - case 10: type = 10; if(v(ref_nested())) { return equal(id_reset);} return false; - case 11: type = 11; if(v(ref_nested())) { return equal(id_ricIndication);} return false; - case 12: type = 12; if(v(ref_nested())) { return equal(id_ricServiceQuery);} return false; - case 13: type = 13; if(v(ref_nested())) { return equal(id_loadIndication);} return false; - case 14: type = 14; if(v(ref_nested())) { return equal(id_gNBStatusIndication);} return false; - case 15: type = 15; if(v(ref_nested())) { return equal(id_resourceStatusReporting);} return false; - case 16: type = 16; if(v(ref_nested())) { return equal(id_errorIndication);} return false; - case 17: type = 17; return v(ref_nested()); - ref_nested().clear(); - } - return false; - - } - template bool encode(size_t index, V& v) const - { - if(index != type) {return false;} return v(ref_nested()); - - } - private: - size_t type {0}; - - }; - struct criticality_t : asn::fixedtypefield - { - size_t get_index() const {return type;} - bool is_unknown() const { return type == 17; } - void clear() {type = 0;} - void select_id_ricSubscription() { set(reject); type=1;} - void select_id_ricSubscriptionDelete() { set(reject); type=2;} - void select_id_ricServiceUpdate() { set(reject); type=3;} - void select_id_ricControl() { set(reject); type=4;} - void select_id_x2Setup() { set(reject); type=5;} - void select_id_endcX2Setup() { set(reject); type=6;} - void select_id_resourceStatusReportingInitiation() { set(reject); type=7;} - void select_id_eNBConfigurationUpdate() { set(reject); type=8;} - void select_id_endcConfigurationUpdate() { set(reject); type=9;} - void select_id_reset() { set(reject); type=10;} - void select_id_ricIndication() { set(ignore); type=11;} - void select_id_ricServiceQuery() { set(ignore); type=12;} - void select_id_loadIndication() { set(ignore); type=13;} - void select_id_gNBStatusIndication() { set(ignore); type=14;} - void select_id_resourceStatusReporting() { set(ignore); type=15;} - void select_id_errorIndication() { set(ignore); type=16;} - E2AP_ELEMENTARY_PROCEDURE::criticality_t const& ref_value() const {return ref_nested();} - template bool decode(V& v) - { - clear(); - if(!v(ref_nested())) return false; - if(equal(reject)) { type = 1; return true; } - else if(equal(reject)) { type = 2; return true; } - else if(equal(reject)) { type = 3; return true; } - else if(equal(reject)) { type = 4; return true; } - else if(equal(reject)) { type = 5; return true; } - else if(equal(reject)) { type = 6; return true; } - else if(equal(reject)) { type = 7; return true; } - else if(equal(reject)) { type = 8; return true; } - else if(equal(reject)) { type = 9; return true; } - else if(equal(reject)) { type = 10; return true; } - else if(equal(ignore)) { type = 11; return true; } - else if(equal(ignore)) { type = 12; return true; } - else if(equal(ignore)) { type = 13; return true; } - else if(equal(ignore)) { type = 14; return true; } - else if(equal(ignore)) { type = 15; return true; } - else if(equal(ignore)) { type = 16; return true; } - else { type = 17; return true;} - return false; - - } - template bool encode(V& v) const - { - return v(ref_nested()); - - } - protected: - template bool decode(size_t index, V& v) - { - clear(); - switch(index) - { - case 1: type = 1; if(v(ref_nested())) { return equal(reject);} return false; - case 2: type = 2; if(v(ref_nested())) { return equal(reject);} return false; - case 3: type = 3; if(v(ref_nested())) { return equal(reject);} return false; - case 4: type = 4; if(v(ref_nested())) { return equal(reject);} return false; - case 5: type = 5; if(v(ref_nested())) { return equal(reject);} return false; - case 6: type = 6; if(v(ref_nested())) { return equal(reject);} return false; - case 7: type = 7; if(v(ref_nested())) { return equal(reject);} return false; - case 8: type = 8; if(v(ref_nested())) { return equal(reject);} return false; - case 9: type = 9; if(v(ref_nested())) { return equal(reject);} return false; - case 10: type = 10; if(v(ref_nested())) { return equal(reject);} return false; - case 11: type = 11; if(v(ref_nested())) { return equal(ignore);} return false; - case 12: type = 12; if(v(ref_nested())) { return equal(ignore);} return false; - case 13: type = 13; if(v(ref_nested())) { return equal(ignore);} return false; - case 14: type = 14; if(v(ref_nested())) { return equal(ignore);} return false; - case 15: type = 15; if(v(ref_nested())) { return equal(ignore);} return false; - case 16: type = 16; if(v(ref_nested())) { return equal(ignore);} return false; - case 17: type = 17; return v(ref_nested()); - ref_nested().clear(); - } - return false; - - } - template bool encode(size_t index, V& v) const - { - if(index != type) {return false;} return v(ref_nested()); - - } - private: - size_t type {0}; - - }; - -}; -/* -InitiatingMessage ::= SEQUENCE { - procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode({E2AP-ELEMENTARY-PROCEDURES}), - criticality E2AP-ELEMENTARY-PROCEDURE.&criticality({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value E2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} -*/ - -struct InitiatingMessage : asn::sequence<3, 0, false, 0> -{ - static constexpr const char* name() {return "InitiatingMessage";} - using parent_t = asn::sequence<3, 0, false, 0>; - struct procedureCode_t : E2AP_ELEMENTARY_PROCEDURES::procedureCode_t - { - static constexpr const char* name() {return "procedureCode_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::procedureCode_t; - template bool decode(V& v, InitiatingMessage const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::procedureCode_t::decode(v); - }; - template bool encode(V& v, InitiatingMessage const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::procedureCode_t::encode(v); - }; - }; - procedureCode_t& ref_procedureCode() {return procedureCode;} - procedureCode_t const& ref_procedureCode() const {return procedureCode;} - struct criticality_t : E2AP_ELEMENTARY_PROCEDURES::criticality_t - { - static constexpr const char* name() {return "criticality_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::criticality_t; - template bool decode(V& v, InitiatingMessage const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::criticality_t::decode(c.procedureCode.get_index(), v); - }; - template bool encode(V& v, InitiatingMessage const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::criticality_t::encode(c.procedureCode.get_index(), v); - }; - }; - criticality_t& ref_criticality() {return criticality;} - criticality_t const& ref_criticality() const {return criticality;} - struct value_t : E2AP_ELEMENTARY_PROCEDURES::InitiatingMessage_t - { - static constexpr const char* name() {return "value_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::InitiatingMessage_t; - template bool decode(V& v, InitiatingMessage const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::InitiatingMessage_t::decode(c.procedureCode.get_index(), v); - }; - template bool encode(V& v, InitiatingMessage const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::InitiatingMessage_t::encode(c.procedureCode.get_index(), v); - }; - }; - value_t& ref_value() {return value;} - value_t const& ref_value() const {return value;} - template void decode(V& v) - { - v(procedureCode); - v(criticality); - v(value); - - }; - template void encode(V& v) const - { - v(procedureCode); - v(criticality); - v(value); - - }; - void clear() - { - procedureCode.clear(); - criticality.clear(); - value.clear(); - - }; - private: - procedureCode_t procedureCode; - criticality_t criticality; - value_t value; - -}; -/* -SuccessfulOutcome ::= SEQUENCE { - procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode({E2AP-ELEMENTARY-PROCEDURES}), - criticality E2AP-ELEMENTARY-PROCEDURE.&criticality({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value E2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} -*/ - -struct SuccessfulOutcome : asn::sequence<3, 0, false, 0> -{ - static constexpr const char* name() {return "SuccessfulOutcome";} - using parent_t = asn::sequence<3, 0, false, 0>; - struct procedureCode_t : E2AP_ELEMENTARY_PROCEDURES::procedureCode_t - { - static constexpr const char* name() {return "procedureCode_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::procedureCode_t; - template bool decode(V& v, SuccessfulOutcome const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::procedureCode_t::decode(v); - }; - template bool encode(V& v, SuccessfulOutcome const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::procedureCode_t::encode(v); - }; - }; - procedureCode_t& ref_procedureCode() {return procedureCode;} - procedureCode_t const& ref_procedureCode() const {return procedureCode;} - struct criticality_t : E2AP_ELEMENTARY_PROCEDURES::criticality_t - { - static constexpr const char* name() {return "criticality_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::criticality_t; - template bool decode(V& v, SuccessfulOutcome const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::criticality_t::decode(c.procedureCode.get_index(), v); - }; - template bool encode(V& v, SuccessfulOutcome const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::criticality_t::encode(c.procedureCode.get_index(), v); - }; - }; - criticality_t& ref_criticality() {return criticality;} - criticality_t const& ref_criticality() const {return criticality;} - struct value_t : E2AP_ELEMENTARY_PROCEDURES::SuccessfulOutcome_t - { - static constexpr const char* name() {return "value_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::SuccessfulOutcome_t; - template bool decode(V& v, SuccessfulOutcome const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::SuccessfulOutcome_t::decode(c.procedureCode.get_index(), v); - }; - template bool encode(V& v, SuccessfulOutcome const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::SuccessfulOutcome_t::encode(c.procedureCode.get_index(), v); - }; - }; - value_t& ref_value() {return value;} - value_t const& ref_value() const {return value;} - template void decode(V& v) - { - v(procedureCode); - v(criticality); - v(value); - - }; - template void encode(V& v) const - { - v(procedureCode); - v(criticality); - v(value); - - }; - void clear() - { - procedureCode.clear(); - criticality.clear(); - value.clear(); - - }; - private: - procedureCode_t procedureCode; - criticality_t criticality; - value_t value; - -}; -/* -UnsuccessfulOutcome ::= SEQUENCE { - procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode({E2AP-ELEMENTARY-PROCEDURES}), - criticality E2AP-ELEMENTARY-PROCEDURE.&criticality({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value E2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} -*/ - -struct UnsuccessfulOutcome : asn::sequence<3, 0, false, 0> -{ - static constexpr const char* name() {return "UnsuccessfulOutcome";} - using parent_t = asn::sequence<3, 0, false, 0>; - struct procedureCode_t : E2AP_ELEMENTARY_PROCEDURES::procedureCode_t - { - static constexpr const char* name() {return "procedureCode_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::procedureCode_t; - template bool decode(V& v, UnsuccessfulOutcome const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::procedureCode_t::decode(v); - }; - template bool encode(V& v, UnsuccessfulOutcome const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::procedureCode_t::encode(v); - }; - }; - procedureCode_t& ref_procedureCode() {return procedureCode;} - procedureCode_t const& ref_procedureCode() const {return procedureCode;} - struct criticality_t : E2AP_ELEMENTARY_PROCEDURES::criticality_t - { - static constexpr const char* name() {return "criticality_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::criticality_t; - template bool decode(V& v, UnsuccessfulOutcome const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::criticality_t::decode(c.procedureCode.get_index(), v); - }; - template bool encode(V& v, UnsuccessfulOutcome const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::criticality_t::encode(c.procedureCode.get_index(), v); - }; - }; - criticality_t& ref_criticality() {return criticality;} - criticality_t const& ref_criticality() const {return criticality;} - struct value_t : E2AP_ELEMENTARY_PROCEDURES::UnsuccessfulOutcome_t - { - static constexpr const char* name() {return "value_t";} - using parent_t = typename E2AP_ELEMENTARY_PROCEDURES::UnsuccessfulOutcome_t; - template bool decode(V& v, UnsuccessfulOutcome const& c) - { - return E2AP_ELEMENTARY_PROCEDURES::UnsuccessfulOutcome_t::decode(c.procedureCode.get_index(), v); - }; - template bool encode(V& v, UnsuccessfulOutcome const& c) const - { - return E2AP_ELEMENTARY_PROCEDURES::UnsuccessfulOutcome_t::encode(c.procedureCode.get_index(), v); - }; - }; - value_t& ref_value() {return value;} - value_t const& ref_value() const {return value;} - template void decode(V& v) - { - v(procedureCode); - v(criticality); - v(value); - - }; - template void encode(V& v) const - { - v(procedureCode); - v(criticality); - v(value); - - }; - void clear() - { - procedureCode.clear(); - criticality.clear(); - value.clear(); - - }; - private: - procedureCode_t procedureCode; - criticality_t criticality; - value_t value; - -}; -/* -E2AP-PDU ::= CHOICE { - initiatingMessage InitiatingMessage, - successfulOutcome SuccessfulOutcome, - unsuccessfulOutcome UnsuccessfulOutcome, - ... -} -*/ - -struct E2AP_PDU : asn::choice<3, 0, true> -{ - static constexpr const char* name() {return "E2AP-PDU";} - using parent_t = asn::choice<3, 0, true>; - index_type get_index() const {return index;} - bool is_unknown() const {return index == 4;} - void set_unknown() { set_index(4); } - ~E2AP_PDU() {clear();} - struct initiatingMessage_t : InitiatingMessage - { - static constexpr const char* name() {return "initiatingMessage_t";} - using parent_t = InitiatingMessage; - - }; - struct successfulOutcome_t : SuccessfulOutcome - { - static constexpr const char* name() {return "successfulOutcome_t";} - using parent_t = SuccessfulOutcome; - - }; - struct unsuccessfulOutcome_t : UnsuccessfulOutcome - { - static constexpr const char* name() {return "unsuccessfulOutcome_t";} - using parent_t = UnsuccessfulOutcome; - - }; - void clear() - { - switch(get_index()) - { - case 1: var.destroy(); break; - case 2: var.destroy(); break; - case 3: var.destroy(); break; - } - index = 0; - base::clear(); - } - template bool decode(size_t idx, V& v) - { - clear(); - switch(idx) - { - case 1: set_index(1); return v(var.build()); - case 2: set_index(2); return v(var.build()); - case 3: set_index(3); return v(var.build()); - } - return false; - - } - template bool encode(V& v) const - { - switch(get_index()) - { - case 1: return v(var.as()); - case 2: return v(var.as()); - case 3: return v(var.as()); - } - return false; - } - template static inline void enumerate(V& v) - { - v.template operator()(1); - v.template operator()(2); - v.template operator()(3); - - } - initiatingMessage_t& select_initiatingMessage() { if(get_index() != 1) { clear(); set_index(1); return var.build();} return var.as();} - initiatingMessage_t const* get_initiatingMessage() const { if(get_index() == 1) { return &var.as();} return nullptr; } - successfulOutcome_t& select_successfulOutcome() { if(get_index() != 2) { clear(); set_index(2); return var.build();} return var.as();} - successfulOutcome_t const* get_successfulOutcome() const { if(get_index() == 2) { return &var.as();} return nullptr; } - unsuccessfulOutcome_t& select_unsuccessfulOutcome() { if(get_index() != 3) { clear(); set_index(3); return var.build();} return var.as();} - unsuccessfulOutcome_t const* get_unsuccessfulOutcome() const { if(get_index() == 3) { return &var.as();} return nullptr; } - private: - void set_index(index_type i) {index = i; base::set();} - union union_type - { - char dummy1[sizeof(initiatingMessage_t)]; - char dummy2[sizeof(successfulOutcome_t)]; - char dummy3[sizeof(unsuccessfulOutcome_t)]; - - }; - asn::variant var; - index_type index {0}; -};