11 /* information holder for E2SM indication header */
\r
12 typedef struct e2sm_header_helper e2sm_header_helper;
\r
13 struct e2sm_header_helper {
\r
16 std::string egNB_id;
\r
17 std::string plmn_id;
\r
19 long int interface_direction;
\r
20 unsigned char* timestamp;
\r
23 /* information holder for E2SM indication message */
\r
24 typedef struct e2sm_message_helper e2sm_message_helper;
\r
25 struct e2sm_message_helper {
\r
26 unsigned char * x2ap_pdu;
\r
27 size_t x2ap_pdu_size;
\r
31 /* information holder for E2SM Action Trigger Definition */
\r
34 Item(long int id, long int test, long int val_type, int value):interface_id(id), test(test), val_type(val_type), value_n(value){};
\r
35 Item(long int id, long int test, long int val_type, std::string value):interface_id(id), test(test), val_type(val_type), value_s(value){};
\r
37 long int interface_id;
\r
41 std::string value_s;
\r
45 typedef struct e2sm_event_trigger_helper e2sm_event_trigger_helper;
\r
46 struct e2sm_event_trigger_helper {
\r
49 std::string egNB_id;
\r
50 std::string plmn_id;
\r
52 long int interface_direction;
\r
53 long int procedure_code;
\r
55 long int message_type;
\r
58 std::vector<struct Item> * get_list(void){ return &protocol_ie_list; };
\r
59 void add_protocol_ie_item(long int id, long int test , unsigned int val_type, long int value ){
\r
61 protocol_ie_list.emplace_back(id, test, val_type, value);
\r
64 void add_protocol_ie_item(long int id, long int test, unsigned int val_type, std::string value){
\r
66 protocol_ie_list.emplace_back(id, test, val_type, value);
\r
70 protocol_ie_list.clear();
\r
73 std::string get_string(void) const {
\r
74 std::stringstream ss;
\r
75 ss << "egNB_ID_type = " << egNB_id_type << std::endl;
\r
76 ss << "PLMN Id = " << plmn_id << std::endl;
\r
77 ss << "Procedure Code = " << procedure_code << std::endl;
\r
78 ss << "Message Type = " << message_type << std::endl;
\r
89 std::vector<struct Item> protocol_ie_list;
\r