X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Bouncer%2Fsrc%2Fxapp-asn%2Fe2sm%2Fe2sm_helpers.hpp;fp=Bouncer%2Fsrc%2Fxapp-asn%2Fe2sm%2Fe2sm_helpers.hpp;h=7eafb18932d60ea790b58eda0197bdf7f8fc3680;hb=ff20129c8f517cca6e0b4de6544ff64aebe7c171;hp=0000000000000000000000000000000000000000;hpb=35882dccfbc1b35af0e5704e14e0ecb9eba0f52a;p=ric-app%2Fbouncer.git diff --git a/Bouncer/src/xapp-asn/e2sm/e2sm_helpers.hpp b/Bouncer/src/xapp-asn/e2sm/e2sm_helpers.hpp new file mode 100644 index 0000000..7eafb18 --- /dev/null +++ b/Bouncer/src/xapp-asn/e2sm/e2sm_helpers.hpp @@ -0,0 +1,104 @@ +/* +# ================================================================================== +# Copyright (c) 2020 HCL Technologies Limited. +# +# 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. +# ================================================================================== +*/ + + +/* Classes to handle E2 service model based on e2sm-Bouncer-v001.asn */ +#ifndef E2SM_HELPER_ +#define E2SM_HELPER_ + +#include +#include +#include +#include +#include + +typedef struct ranparam_helper ranparam_helper; +struct ranparam_helper { + long int _param_id; + unsigned char* _param_name; + size_t _param_name_len; + int _param_test; + unsigned char* _param_value; + size_t _param_value_len; + +}; +class RANParam_Helper{ +private: + ranparam_helper _ranparam_helper; + +public: + + RANParam_Helper(int id, unsigned char *param_name, size_t param_name_len, int param_test, unsigned char* param_value, size_t param_value_len){ + _ranparam_helper._param_id = id; + _ranparam_helper._param_name = param_name; + _ranparam_helper._param_name_len = param_name_len; + _ranparam_helper._param_test = param_test; + _ranparam_helper._param_value = param_value; + _ranparam_helper._param_value_len = param_value_len; + } + + const ranparam_helper & getran_helper() const { + return _ranparam_helper; + } + void print_ranparam_info(void){ + std::cout <<"Param ID = " << _ranparam_helper._param_id << std::endl; + std::cout << "Parame Name =" << _ranparam_helper._param_name << std::endl; + std::cout <<"Param Test = " << _ranparam_helper._param_test << std::endl; + std::cout <<"Param Value = " << _ranparam_helper._param_value << std::endl; + } +}; + + +using ranparam_helper_t = std::vector; + +typedef struct e2sm_subscription_helper e2sm_subscription_helper; +struct e2sm_subscription_helper { +public: + + + int triger_nature; + ranparam_helper_t param; + void add_param(int id, unsigned char *param_name, size_t param_name_len, int param_test, unsigned char* param_value, size_t param_value_len){ + RANParam_Helper rparam(id,param_name,param_name_len,param_test,param_value,param_value_len); + param.push_back(rparam); + }; + ranparam_helper_t get_paramlist() const {return param;}; + + + +}; + + +typedef struct e2sm_indication_helper e2sm_indication_helper; + + +struct e2sm_indication_helper { + long int header; + unsigned char* message; + size_t message_len; +}; + +typedef struct e2sm_control_helper e2sm_control_helper; + +struct e2sm_control_helper { + long int header; + unsigned char* message; + size_t message_len; +}; + +#endif