Coverage Report

Created: 2026-09-14 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ocudu/lib/asn1/f1ap/f1ap.cpp
Line
Count
Source
1
// SPDX-FileCopyrightText: Copyright (C) 2021-2026 Software Radio Systems Limited
2
// SPDX-License-Identifier: BSD-3-Clause-Open-MPI
3
// Portions of this file may implement 3GPP specifications, which may be subject to additional licensing requirements.
4
5
#include "ocudu/asn1/f1ap/f1ap.h"
6
#include "ocudu/asn1/f1ap/f1ap_pdu_contents.h"
7
using namespace asn1;
8
using namespace asn1::f1ap;
9
10
/*******************************************************************************
11
 *                                Struct Methods
12
 ******************************************************************************/
13
14
// ProtocolIE-FieldPair{F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE{{F1AP-PROTOCOL-IES-PAIR}}
15
template <class ies_set_paramT_>
16
OCUDUASN_CODE protocol_ie_field_pair_s<ies_set_paramT_>::pack(bit_ref& bref) const
17
{
18
  HANDLE_CODE(pack_integer(bref, id, (uint32_t)0u, (uint32_t)65535u, false, true));
19
  warn_assert(first_crit != ies_set_paramT_::get_first_crit(id), __func__, __LINE__);
20
  HANDLE_CODE(first_crit.pack(bref));
21
  HANDLE_CODE(first_value.pack(bref));
22
  warn_assert(second_crit != ies_set_paramT_::get_second_crit(id), __func__, __LINE__);
23
  HANDLE_CODE(second_crit.pack(bref));
24
  HANDLE_CODE(second_value.pack(bref));
25
26
  return OCUDUASN_SUCCESS;
27
}
28
template <class ies_set_paramT_>
29
OCUDUASN_CODE protocol_ie_field_pair_s<ies_set_paramT_>::unpack(cbit_ref& bref)
30
{
31
  HANDLE_CODE(unpack_integer(id, bref, (uint32_t)0u, (uint32_t)65535u, false, true));
32
  HANDLE_CODE(first_crit.unpack(bref));
33
  first_value = ies_set_paramT_::get_first_value(id);
34
  HANDLE_CODE(first_value.unpack(bref));
35
  HANDLE_CODE(second_crit.unpack(bref));
36
  second_value = ies_set_paramT_::get_second_value(id);
37
  HANDLE_CODE(second_value.unpack(bref));
38
39
  return OCUDUASN_SUCCESS;
40
}
41
template <class ies_set_paramT_>
42
void protocol_ie_field_pair_s<ies_set_paramT_>::to_json(json_writer& j) const
43
{
44
  j.start_obj();
45
  j.write_int("id", id);
46
  j.write_str("firstCriticality", first_crit.to_string());
47
  j.write_str("secondCriticality", second_crit.to_string());
48
  j.end_obj();
49
}
50
template <class ies_set_paramT_>
51
bool protocol_ie_field_pair_s<ies_set_paramT_>::load_info_obj(const uint32_t& id_)
52
{
53
  if (not ies_set_paramT_::is_id_valid(id_)) {
54
    return false;
55
  }
56
  id           = id_;
57
  first_crit   = ies_set_paramT_::get_first_crit(id);
58
  first_value  = ies_set_paramT_::get_first_value(id);
59
  second_crit  = ies_set_paramT_::get_second_crit(id);
60
  second_value = ies_set_paramT_::get_second_value(id);
61
  return first_value.type().value != ies_set_paramT_::first_value_c::types_opts::nulltype and
62
         second_value.type().value != ies_set_paramT_::second_value_c::types_opts::nulltype;
63
}
64
65
// F1AP-ELEMENTARY-PROCEDURES ::= OBJECT SET OF F1AP-ELEMENTARY-PROCEDURE
66
uint16_t f1ap_elem_procs_o::idx_to_proc_code(uint32_t idx)
67
0
{
68
0
  static const uint16_t names[] = {0,  1,  3,  4,  5,  6,  7,  8,  20, 21, 16, 26, 32, 33, 34, 35, 36, 41, 48,
69
0
                                   49, 50, 52, 59, 60, 62, 64, 65, 67, 68, 69, 70, 75, 76, 88, 92, 93, 2,  10,
70
0
                                   12, 13, 15, 14, 11, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 30, 31, 37, 38,
71
0
                                   58, 57, 39, 40, 42, 43, 44, 45, 46, 47, 51, 53, 54, 55, 56, 63, 61, 66, 71,
72
0
                                   79, 80, 77, 78, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 94, 95, 96, 97};
73
0
  return map_enum_number(names, 94, idx, "proc_code");
74
0
}
75
bool f1ap_elem_procs_o::is_proc_code_valid(const uint16_t& proc_code)
76
0
{
77
0
  static const uint16_t names[] = {0,  1,  3,  4,  5,  6,  7,  8,  20, 21, 16, 26, 32, 33, 34, 35, 36, 41, 48,
78
0
                                   49, 50, 52, 59, 60, 62, 64, 65, 67, 68, 69, 70, 75, 76, 88, 92, 93, 2,  10,
79
0
                                   12, 13, 15, 14, 11, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 30, 31, 37, 38,
80
0
                                   58, 57, 39, 40, 42, 43, 44, 45, 46, 47, 51, 53, 54, 55, 56, 63, 61, 66, 71,
81
0
                                   79, 80, 77, 78, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 94, 95, 96, 97};
82
0
  for (const auto& o : names) {
83
0
    if (o == proc_code) {
84
0
      return true;
85
0
    }
86
0
  }
87
0
  return false;
88
0
}
89
f1ap_elem_procs_o::init_msg_c f1ap_elem_procs_o::get_init_msg(const uint16_t& proc_code)
90
0
{
91
0
  init_msg_c ret{};
92
0
  switch (proc_code) {
93
0
    case 0:
94
0
      ret.set(init_msg_c::types::reset);
95
0
      break;
96
0
    case 1:
97
0
      ret.set(init_msg_c::types::f1_setup_request);
98
0
      break;
99
0
    case 3:
100
0
      ret.set(init_msg_c::types::gnb_du_cfg_upd);
101
0
      break;
102
0
    case 4:
103
0
      ret.set(init_msg_c::types::gnb_cu_cfg_upd);
104
0
      break;
105
0
    case 5:
106
0
      ret.set(init_msg_c::types::ue_context_setup_request);
107
0
      break;
108
0
    case 6:
109
0
      ret.set(init_msg_c::types::ue_context_release_cmd);
110
0
      break;
111
0
    case 7:
112
0
      ret.set(init_msg_c::types::ue_context_mod_request);
113
0
      break;
114
0
    case 8:
115
0
      ret.set(init_msg_c::types::ue_context_mod_required);
116
0
      break;
117
0
    case 20:
118
0
      ret.set(init_msg_c::types::write_replace_warning_request);
119
0
      break;
120
0
    case 21:
121
0
      ret.set(init_msg_c::types::pws_cancel_request);
122
0
      break;
123
0
    case 16:
124
0
      ret.set(init_msg_c::types::gnb_du_res_coordination_request);
125
0
      break;
126
0
    case 26:
127
0
      ret.set(init_msg_c::types::f1_removal_request);
128
0
      break;
129
0
    case 32:
130
0
      ret.set(init_msg_c::types::bap_map_cfg);
131
0
      break;
132
0
    case 33:
133
0
      ret.set(init_msg_c::types::gnb_du_res_cfg);
134
0
      break;
135
0
    case 34:
136
0
      ret.set(init_msg_c::types::iab_tnl_address_request);
137
0
      break;
138
0
    case 35:
139
0
      ret.set(init_msg_c::types::iab_up_cfg_upd_request);
140
0
      break;
141
0
    case 36:
142
0
      ret.set(init_msg_c::types::res_status_request);
143
0
      break;
144
0
    case 41:
145
0
      ret.set(init_msg_c::types::positioning_meas_request);
146
0
      break;
147
0
    case 48:
148
0
      ret.set(init_msg_c::types::trp_info_request);
149
0
      break;
150
0
    case 49:
151
0
      ret.set(init_msg_c::types::positioning_info_request);
152
0
      break;
153
0
    case 50:
154
0
      ret.set(init_msg_c::types::positioning_activation_request);
155
0
      break;
156
0
    case 52:
157
0
      ret.set(init_msg_c::types::e_c_id_meas_initiation_request);
158
0
      break;
159
0
    case 59:
160
0
      ret.set(init_msg_c::types::broadcast_context_setup_request);
161
0
      break;
162
0
    case 60:
163
0
      ret.set(init_msg_c::types::broadcast_context_release_cmd);
164
0
      break;
165
0
    case 62:
166
0
      ret.set(init_msg_c::types::broadcast_context_mod_request);
167
0
      break;
168
0
    case 64:
169
0
      ret.set(init_msg_c::types::multicast_context_setup_request);
170
0
      break;
171
0
    case 65:
172
0
      ret.set(init_msg_c::types::multicast_context_release_cmd);
173
0
      break;
174
0
    case 67:
175
0
      ret.set(init_msg_c::types::multicast_context_mod_request);
176
0
      break;
177
0
    case 68:
178
0
      ret.set(init_msg_c::types::multicast_distribution_setup_request);
179
0
      break;
180
0
    case 69:
181
0
      ret.set(init_msg_c::types::multicast_distribution_release_cmd);
182
0
      break;
183
0
    case 70:
184
0
      ret.set(init_msg_c::types::pdc_meas_initiation_request);
185
0
      break;
186
0
    case 75:
187
0
      ret.set(init_msg_c::types::prs_cfg_request);
188
0
      break;
189
0
    case 76:
190
0
      ret.set(init_msg_c::types::meas_precfg_required);
191
0
      break;
192
0
    case 88:
193
0
      ret.set(init_msg_c::types::timing_synchronisation_status_request);
194
0
      break;
195
0
    case 92:
196
0
      ret.set(init_msg_c::types::multicast_context_notif_ind);
197
0
      break;
198
0
    case 93:
199
0
      ret.set(init_msg_c::types::multicast_common_cfg_request);
200
0
      break;
201
0
    case 2:
202
0
      ret.set(init_msg_c::types::error_ind);
203
0
      break;
204
0
    case 10:
205
0
      ret.set(init_msg_c::types::ue_context_release_request);
206
0
      break;
207
0
    case 12:
208
0
      ret.set(init_msg_c::types::dl_rrc_msg_transfer);
209
0
      break;
210
0
    case 13:
211
0
      ret.set(init_msg_c::types::ul_rrc_msg_transfer);
212
0
      break;
213
0
    case 15:
214
0
      ret.set(init_msg_c::types::ue_inactivity_notif);
215
0
      break;
216
0
    case 14:
217
0
      ret.set(init_msg_c::types::private_msg);
218
0
      break;
219
0
    case 11:
220
0
      ret.set(init_msg_c::types::init_ul_rrc_msg_transfer);
221
0
      break;
222
0
    case 17:
223
0
      ret.set(init_msg_c::types::sys_info_delivery_cmd);
224
0
      break;
225
0
    case 18:
226
0
      ret.set(init_msg_c::types::paging);
227
0
      break;
228
0
    case 19:
229
0
      ret.set(init_msg_c::types::notify);
230
0
      break;
231
0
    case 22:
232
0
      ret.set(init_msg_c::types::pws_restart_ind);
233
0
      break;
234
0
    case 23:
235
0
      ret.set(init_msg_c::types::pws_fail_ind);
236
0
      break;
237
0
    case 24:
238
0
      ret.set(init_msg_c::types::gnb_du_status_ind);
239
0
      break;
240
0
    case 25:
241
0
      ret.set(init_msg_c::types::rrc_delivery_report);
242
0
      break;
243
0
    case 27:
244
0
      ret.set(init_msg_c::types::network_access_rate_reduction);
245
0
      break;
246
0
    case 28:
247
0
      ret.set(init_msg_c::types::trace_start);
248
0
      break;
249
0
    case 29:
250
0
      ret.set(init_msg_c::types::deactiv_trace);
251
0
      break;
252
0
    case 30:
253
0
      ret.set(init_msg_c::types::du_cu_radio_info_transfer);
254
0
      break;
255
0
    case 31:
256
0
      ret.set(init_msg_c::types::cu_du_radio_info_transfer);
257
0
      break;
258
0
    case 37:
259
0
      ret.set(init_msg_c::types::res_status_upd);
260
0
      break;
261
0
    case 38:
262
0
      ret.set(init_msg_c::types::access_and_mob_ind);
263
0
      break;
264
0
    case 58:
265
0
      ret.set(init_msg_c::types::ref_time_info_report_ctrl);
266
0
      break;
267
0
    case 57:
268
0
      ret.set(init_msg_c::types::ref_time_info_report);
269
0
      break;
270
0
    case 39:
271
0
      ret.set(init_msg_c::types::access_success);
272
0
      break;
273
0
    case 40:
274
0
      ret.set(init_msg_c::types::cell_traffic_trace);
275
0
      break;
276
0
    case 42:
277
0
      ret.set(init_msg_c::types::positioning_assist_info_ctrl);
278
0
      break;
279
0
    case 43:
280
0
      ret.set(init_msg_c::types::positioning_assist_info_feedback);
281
0
      break;
282
0
    case 44:
283
0
      ret.set(init_msg_c::types::positioning_meas_report);
284
0
      break;
285
0
    case 45:
286
0
      ret.set(init_msg_c::types::positioning_meas_abort);
287
0
      break;
288
0
    case 46:
289
0
      ret.set(init_msg_c::types::positioning_meas_fail_ind);
290
0
      break;
291
0
    case 47:
292
0
      ret.set(init_msg_c::types::positioning_meas_upd);
293
0
      break;
294
0
    case 51:
295
0
      ret.set(init_msg_c::types::positioning_deactivation);
296
0
      break;
297
0
    case 53:
298
0
      ret.set(init_msg_c::types::e_c_id_meas_fail_ind);
299
0
      break;
300
0
    case 54:
301
0
      ret.set(init_msg_c::types::e_c_id_meas_report);
302
0
      break;
303
0
    case 55:
304
0
      ret.set(init_msg_c::types::e_c_id_meas_termination_cmd);
305
0
      break;
306
0
    case 56:
307
0
      ret.set(init_msg_c::types::positioning_info_upd);
308
0
      break;
309
0
    case 63:
310
0
      ret.set(init_msg_c::types::multicast_group_paging);
311
0
      break;
312
0
    case 61:
313
0
      ret.set(init_msg_c::types::broadcast_context_release_request);
314
0
      break;
315
0
    case 66:
316
0
      ret.set(init_msg_c::types::multicast_context_release_request);
317
0
      break;
318
0
    case 71:
319
0
      ret.set(init_msg_c::types::pdc_meas_report);
320
0
      break;
321
0
    case 79:
322
0
      ret.set(init_msg_c::types::pdc_meas_termination_cmd);
323
0
      break;
324
0
    case 80:
325
0
      ret.set(init_msg_c::types::pdc_meas_fail_ind);
326
0
      break;
327
0
    case 77:
328
0
      ret.set(init_msg_c::types::meas_activation);
329
0
      break;
330
0
    case 78:
331
0
      ret.set(init_msg_c::types::qo_e_info_transfer);
332
0
      break;
333
0
    case 81:
334
0
      ret.set(init_msg_c::types::pos_sys_info_delivery_cmd);
335
0
      break;
336
0
    case 82:
337
0
      ret.set(init_msg_c::types::du_cu_cell_switch_notif);
338
0
      break;
339
0
    case 83:
340
0
      ret.set(init_msg_c::types::cu_du_cell_switch_notif);
341
0
      break;
342
0
    case 84:
343
0
      ret.set(init_msg_c::types::du_cu_tai_nformation_transfer);
344
0
      break;
345
0
    case 85:
346
0
      ret.set(init_msg_c::types::cu_du_tai_nformation_transfer);
347
0
      break;
348
0
    case 86:
349
0
      ret.set(init_msg_c::types::qo_e_info_transfer_ctrl);
350
0
      break;
351
0
    case 87:
352
0
      ret.set(init_msg_c::types::rach_ind);
353
0
      break;
354
0
    case 89:
355
0
      ret.set(init_msg_c::types::timing_synchronisation_status_report);
356
0
      break;
357
0
    case 90:
358
0
      ret.set(init_msg_c::types::miabf1_setup_trigger);
359
0
      break;
360
0
    case 91:
361
0
      ret.set(init_msg_c::types::miabf1_setup_outcome_notif);
362
0
      break;
363
0
    case 94:
364
0
      ret.set(init_msg_c::types::broadcast_transport_res_request);
365
0
      break;
366
0
    case 95:
367
0
      ret.set(init_msg_c::types::du_cu_access_and_mob_ind);
368
0
      break;
369
0
    case 96:
370
0
      ret.set(init_msg_c::types::srs_info_reserv_notif);
371
0
      break;
372
0
    case 97:
373
0
      ret.set(init_msg_c::types::cu_du_mob_initiation_request);
374
0
      break;
375
0
    default:
376
0
      asn1::log_error("The proc_code={} is not recognized", proc_code);
377
0
  }
378
0
  return ret;
379
0
}
380
f1ap_elem_procs_o::successful_outcome_c f1ap_elem_procs_o::get_successful_outcome(const uint16_t& proc_code)
381
0
{
382
0
  successful_outcome_c ret{};
383
0
  switch (proc_code) {
384
0
    case 0:
385
0
      ret.set(successful_outcome_c::types::reset_ack);
386
0
      break;
387
0
    case 1:
388
0
      ret.set(successful_outcome_c::types::f1_setup_resp);
389
0
      break;
390
0
    case 3:
391
0
      ret.set(successful_outcome_c::types::gnb_du_cfg_upd_ack);
392
0
      break;
393
0
    case 4:
394
0
      ret.set(successful_outcome_c::types::gnb_cu_cfg_upd_ack);
395
0
      break;
396
0
    case 5:
397
0
      ret.set(successful_outcome_c::types::ue_context_setup_resp);
398
0
      break;
399
0
    case 6:
400
0
      ret.set(successful_outcome_c::types::ue_context_release_complete);
401
0
      break;
402
0
    case 7:
403
0
      ret.set(successful_outcome_c::types::ue_context_mod_resp);
404
0
      break;
405
0
    case 8:
406
0
      ret.set(successful_outcome_c::types::ue_context_mod_confirm);
407
0
      break;
408
0
    case 20:
409
0
      ret.set(successful_outcome_c::types::write_replace_warning_resp);
410
0
      break;
411
0
    case 21:
412
0
      ret.set(successful_outcome_c::types::pws_cancel_resp);
413
0
      break;
414
0
    case 16:
415
0
      ret.set(successful_outcome_c::types::gnb_du_res_coordination_resp);
416
0
      break;
417
0
    case 26:
418
0
      ret.set(successful_outcome_c::types::f1_removal_resp);
419
0
      break;
420
0
    case 32:
421
0
      ret.set(successful_outcome_c::types::bap_map_cfg_ack);
422
0
      break;
423
0
    case 33:
424
0
      ret.set(successful_outcome_c::types::gnb_du_res_cfg_ack);
425
0
      break;
426
0
    case 34:
427
0
      ret.set(successful_outcome_c::types::iab_tnl_address_resp);
428
0
      break;
429
0
    case 35:
430
0
      ret.set(successful_outcome_c::types::iab_up_cfg_upd_resp);
431
0
      break;
432
0
    case 36:
433
0
      ret.set(successful_outcome_c::types::res_status_resp);
434
0
      break;
435
0
    case 41:
436
0
      ret.set(successful_outcome_c::types::positioning_meas_resp);
437
0
      break;
438
0
    case 48:
439
0
      ret.set(successful_outcome_c::types::trp_info_resp);
440
0
      break;
441
0
    case 49:
442
0
      ret.set(successful_outcome_c::types::positioning_info_resp);
443
0
      break;
444
0
    case 50:
445
0
      ret.set(successful_outcome_c::types::positioning_activation_resp);
446
0
      break;
447
0
    case 52:
448
0
      ret.set(successful_outcome_c::types::e_c_id_meas_initiation_resp);
449
0
      break;
450
0
    case 59:
451
0
      ret.set(successful_outcome_c::types::broadcast_context_setup_resp);
452
0
      break;
453
0
    case 60:
454
0
      ret.set(successful_outcome_c::types::broadcast_context_release_complete);
455
0
      break;
456
0
    case 62:
457
0
      ret.set(successful_outcome_c::types::broadcast_context_mod_resp);
458
0
      break;
459
0
    case 64:
460
0
      ret.set(successful_outcome_c::types::multicast_context_setup_resp);
461
0
      break;
462
0
    case 65:
463
0
      ret.set(successful_outcome_c::types::multicast_context_release_complete);
464
0
      break;
465
0
    case 67:
466
0
      ret.set(successful_outcome_c::types::multicast_context_mod_resp);
467
0
      break;
468
0
    case 68:
469
0
      ret.set(successful_outcome_c::types::multicast_distribution_setup_resp);
470
0
      break;
471
0
    case 69:
472
0
      ret.set(successful_outcome_c::types::multicast_distribution_release_complete);
473
0
      break;
474
0
    case 70:
475
0
      ret.set(successful_outcome_c::types::pdc_meas_initiation_resp);
476
0
      break;
477
0
    case 75:
478
0
      ret.set(successful_outcome_c::types::prs_cfg_resp);
479
0
      break;
480
0
    case 76:
481
0
      ret.set(successful_outcome_c::types::meas_precfg_confirm);
482
0
      break;
483
0
    case 88:
484
0
      ret.set(successful_outcome_c::types::timing_synchronisation_status_resp);
485
0
      break;
486
0
    case 92:
487
0
      ret.set(successful_outcome_c::types::multicast_context_notif_confirm);
488
0
      break;
489
0
    case 93:
490
0
      ret.set(successful_outcome_c::types::multicast_common_cfg_resp);
491
0
      break;
492
0
    default:
493
0
      asn1::log_error("The proc_code={} is not recognized", proc_code);
494
0
  }
495
0
  return ret;
496
0
}
497
f1ap_elem_procs_o::unsuccessful_outcome_c f1ap_elem_procs_o::get_unsuccessful_outcome(const uint16_t& proc_code)
498
0
{
499
0
  unsuccessful_outcome_c ret{};
500
0
  switch (proc_code) {
501
0
    case 1:
502
0
      ret.set(unsuccessful_outcome_c::types::f1_setup_fail);
503
0
      break;
504
0
    case 3:
505
0
      ret.set(unsuccessful_outcome_c::types::gnb_du_cfg_upd_fail);
506
0
      break;
507
0
    case 4:
508
0
      ret.set(unsuccessful_outcome_c::types::gnb_cu_cfg_upd_fail);
509
0
      break;
510
0
    case 5:
511
0
      ret.set(unsuccessful_outcome_c::types::ue_context_setup_fail);
512
0
      break;
513
0
    case 7:
514
0
      ret.set(unsuccessful_outcome_c::types::ue_context_mod_fail);
515
0
      break;
516
0
    case 8:
517
0
      ret.set(unsuccessful_outcome_c::types::ue_context_mod_refuse);
518
0
      break;
519
0
    case 26:
520
0
      ret.set(unsuccessful_outcome_c::types::f1_removal_fail);
521
0
      break;
522
0
    case 32:
523
0
      ret.set(unsuccessful_outcome_c::types::bap_map_cfg_fail);
524
0
      break;
525
0
    case 33:
526
0
      ret.set(unsuccessful_outcome_c::types::gnb_du_res_cfg_fail);
527
0
      break;
528
0
    case 34:
529
0
      ret.set(unsuccessful_outcome_c::types::iab_tnl_address_fail);
530
0
      break;
531
0
    case 35:
532
0
      ret.set(unsuccessful_outcome_c::types::iab_up_cfg_upd_fail);
533
0
      break;
534
0
    case 36:
535
0
      ret.set(unsuccessful_outcome_c::types::res_status_fail);
536
0
      break;
537
0
    case 41:
538
0
      ret.set(unsuccessful_outcome_c::types::positioning_meas_fail);
539
0
      break;
540
0
    case 48:
541
0
      ret.set(unsuccessful_outcome_c::types::trp_info_fail);
542
0
      break;
543
0
    case 49:
544
0
      ret.set(unsuccessful_outcome_c::types::positioning_info_fail);
545
0
      break;
546
0
    case 50:
547
0
      ret.set(unsuccessful_outcome_c::types::positioning_activation_fail);
548
0
      break;
549
0
    case 52:
550
0
      ret.set(unsuccessful_outcome_c::types::e_c_id_meas_initiation_fail);
551
0
      break;
552
0
    case 59:
553
0
      ret.set(unsuccessful_outcome_c::types::broadcast_context_setup_fail);
554
0
      break;
555
0
    case 62:
556
0
      ret.set(unsuccessful_outcome_c::types::broadcast_context_mod_fail);
557
0
      break;
558
0
    case 64:
559
0
      ret.set(unsuccessful_outcome_c::types::multicast_context_setup_fail);
560
0
      break;
561
0
    case 67:
562
0
      ret.set(unsuccessful_outcome_c::types::multicast_context_mod_fail);
563
0
      break;
564
0
    case 68:
565
0
      ret.set(unsuccessful_outcome_c::types::multicast_distribution_setup_fail);
566
0
      break;
567
0
    case 70:
568
0
      ret.set(unsuccessful_outcome_c::types::pdc_meas_initiation_fail);
569
0
      break;
570
0
    case 75:
571
0
      ret.set(unsuccessful_outcome_c::types::prs_cfg_fail);
572
0
      break;
573
0
    case 76:
574
0
      ret.set(unsuccessful_outcome_c::types::meas_precfg_refuse);
575
0
      break;
576
0
    case 88:
577
0
      ret.set(unsuccessful_outcome_c::types::timing_synchronisation_status_fail);
578
0
      break;
579
0
    case 92:
580
0
      ret.set(unsuccessful_outcome_c::types::multicast_context_notif_refuse);
581
0
      break;
582
0
    case 93:
583
0
      ret.set(unsuccessful_outcome_c::types::multicast_common_cfg_refuse);
584
0
      break;
585
0
    default:
586
0
      asn1::log_error("The proc_code={} is not recognized", proc_code);
587
0
  }
588
0
  return ret;
589
0
}
590
crit_e f1ap_elem_procs_o::get_crit(const uint16_t& proc_code)
591
0
{
592
0
  switch (proc_code) {
593
0
    case 0:
594
0
      return crit_e::reject;
595
0
    case 1:
596
0
      return crit_e::reject;
597
0
    case 3:
598
0
      return crit_e::reject;
599
0
    case 4:
600
0
      return crit_e::reject;
601
0
    case 5:
602
0
      return crit_e::reject;
603
0
    case 6:
604
0
      return crit_e::reject;
605
0
    case 7:
606
0
      return crit_e::reject;
607
0
    case 8:
608
0
      return crit_e::reject;
609
0
    case 20:
610
0
      return crit_e::reject;
611
0
    case 21:
612
0
      return crit_e::reject;
613
0
    case 16:
614
0
      return crit_e::reject;
615
0
    case 26:
616
0
      return crit_e::reject;
617
0
    case 32:
618
0
      return crit_e::reject;
619
0
    case 33:
620
0
      return crit_e::reject;
621
0
    case 34:
622
0
      return crit_e::reject;
623
0
    case 35:
624
0
      return crit_e::reject;
625
0
    case 36:
626
0
      return crit_e::reject;
627
0
    case 41:
628
0
      return crit_e::reject;
629
0
    case 48:
630
0
      return crit_e::reject;
631
0
    case 49:
632
0
      return crit_e::reject;
633
0
    case 50:
634
0
      return crit_e::reject;
635
0
    case 52:
636
0
      return crit_e::reject;
637
0
    case 59:
638
0
      return crit_e::reject;
639
0
    case 60:
640
0
      return crit_e::reject;
641
0
    case 62:
642
0
      return crit_e::reject;
643
0
    case 64:
644
0
      return crit_e::reject;
645
0
    case 65:
646
0
      return crit_e::reject;
647
0
    case 67:
648
0
      return crit_e::reject;
649
0
    case 68:
650
0
      return crit_e::reject;
651
0
    case 69:
652
0
      return crit_e::reject;
653
0
    case 70:
654
0
      return crit_e::reject;
655
0
    case 75:
656
0
      return crit_e::reject;
657
0
    case 76:
658
0
      return crit_e::reject;
659
0
    case 88:
660
0
      return crit_e::reject;
661
0
    case 92:
662
0
      return crit_e::reject;
663
0
    case 93:
664
0
      return crit_e::reject;
665
0
    case 2:
666
0
      return crit_e::ignore;
667
0
    case 10:
668
0
      return crit_e::ignore;
669
0
    case 12:
670
0
      return crit_e::ignore;
671
0
    case 13:
672
0
      return crit_e::ignore;
673
0
    case 15:
674
0
      return crit_e::ignore;
675
0
    case 14:
676
0
      return crit_e::ignore;
677
0
    case 11:
678
0
      return crit_e::ignore;
679
0
    case 17:
680
0
      return crit_e::ignore;
681
0
    case 18:
682
0
      return crit_e::ignore;
683
0
    case 19:
684
0
      return crit_e::ignore;
685
0
    case 22:
686
0
      return crit_e::ignore;
687
0
    case 23:
688
0
      return crit_e::ignore;
689
0
    case 24:
690
0
      return crit_e::ignore;
691
0
    case 25:
692
0
      return crit_e::ignore;
693
0
    case 27:
694
0
      return crit_e::ignore;
695
0
    case 28:
696
0
      return crit_e::ignore;
697
0
    case 29:
698
0
      return crit_e::ignore;
699
0
    case 30:
700
0
      return crit_e::ignore;
701
0
    case 31:
702
0
      return crit_e::ignore;
703
0
    case 37:
704
0
      return crit_e::ignore;
705
0
    case 38:
706
0
      return crit_e::ignore;
707
0
    case 58:
708
0
      return crit_e::ignore;
709
0
    case 57:
710
0
      return crit_e::ignore;
711
0
    case 39:
712
0
      return crit_e::ignore;
713
0
    case 40:
714
0
      return crit_e::ignore;
715
0
    case 42:
716
0
      return crit_e::ignore;
717
0
    case 43:
718
0
      return crit_e::ignore;
719
0
    case 44:
720
0
      return crit_e::ignore;
721
0
    case 45:
722
0
      return crit_e::ignore;
723
0
    case 46:
724
0
      return crit_e::ignore;
725
0
    case 47:
726
0
      return crit_e::ignore;
727
0
    case 51:
728
0
      return crit_e::ignore;
729
0
    case 53:
730
0
      return crit_e::ignore;
731
0
    case 54:
732
0
      return crit_e::ignore;
733
0
    case 55:
734
0
      return crit_e::ignore;
735
0
    case 56:
736
0
      return crit_e::ignore;
737
0
    case 63:
738
0
      return crit_e::ignore;
739
0
    case 61:
740
0
      return crit_e::reject;
741
0
    case 66:
742
0
      return crit_e::reject;
743
0
    case 71:
744
0
      return crit_e::ignore;
745
0
    case 79:
746
0
      return crit_e::ignore;
747
0
    case 80:
748
0
      return crit_e::ignore;
749
0
    case 77:
750
0
      return crit_e::ignore;
751
0
    case 78:
752
0
      return crit_e::ignore;
753
0
    case 81:
754
0
      return crit_e::ignore;
755
0
    case 82:
756
0
      return crit_e::ignore;
757
0
    case 83:
758
0
      return crit_e::ignore;
759
0
    case 84:
760
0
      return crit_e::ignore;
761
0
    case 85:
762
0
      return crit_e::ignore;
763
0
    case 86:
764
0
      return crit_e::ignore;
765
0
    case 87:
766
0
      return crit_e::ignore;
767
0
    case 89:
768
0
      return crit_e::ignore;
769
0
    case 90:
770
0
      return crit_e::reject;
771
0
    case 91:
772
0
      return crit_e::reject;
773
0
    case 94:
774
0
      return crit_e::reject;
775
0
    case 95:
776
0
      return crit_e::ignore;
777
0
    case 96:
778
0
      return crit_e::reject;
779
0
    case 97:
780
0
      return crit_e::ignore;
781
0
    default:
782
0
      asn1::log_error("The proc_code={} is not recognized", proc_code);
783
0
  }
784
0
  return {};
785
0
}
786
787
// InitiatingMessage ::= OPEN TYPE
788
void f1ap_elem_procs_o::init_msg_c::set(types::options e)
789
0
{
790
0
  type_ = e;
791
0
  switch (type_) {
792
0
    case types::reset:
793
0
      c = reset_s{};
794
0
      break;
795
0
    case types::f1_setup_request:
796
0
      c = f1_setup_request_s{};
797
0
      break;
798
0
    case types::gnb_du_cfg_upd:
799
0
      c = gnb_du_cfg_upd_s{};
800
0
      break;
801
0
    case types::gnb_cu_cfg_upd:
802
0
      c = gnb_cu_cfg_upd_s{};
803
0
      break;
804
0
    case types::ue_context_setup_request:
805
0
      c = ue_context_setup_request_s{};
806
0
      break;
807
0
    case types::ue_context_release_cmd:
808
0
      c = ue_context_release_cmd_s{};
809
0
      break;
810
0
    case types::ue_context_mod_request:
811
0
      c = ue_context_mod_request_s{};
812
0
      break;
813
0
    case types::ue_context_mod_required:
814
0
      c = ue_context_mod_required_s{};
815
0
      break;
816
0
    case types::write_replace_warning_request:
817
0
      c = write_replace_warning_request_s{};
818
0
      break;
819
0
    case types::pws_cancel_request:
820
0
      c = pws_cancel_request_s{};
821
0
      break;
822
0
    case types::gnb_du_res_coordination_request:
823
0
      c = gnb_du_res_coordination_request_s{};
824
0
      break;
825
0
    case types::f1_removal_request:
826
0
      c = f1_removal_request_s{};
827
0
      break;
828
0
    case types::bap_map_cfg:
829
0
      c = bap_map_cfg_s{};
830
0
      break;
831
0
    case types::gnb_du_res_cfg:
832
0
      c = gnb_du_res_cfg_s{};
833
0
      break;
834
0
    case types::iab_tnl_address_request:
835
0
      c = iab_tnl_address_request_s{};
836
0
      break;
837
0
    case types::iab_up_cfg_upd_request:
838
0
      c = iab_up_cfg_upd_request_s{};
839
0
      break;
840
0
    case types::res_status_request:
841
0
      c = res_status_request_s{};
842
0
      break;
843
0
    case types::positioning_meas_request:
844
0
      c = positioning_meas_request_s{};
845
0
      break;
846
0
    case types::trp_info_request:
847
0
      c = trp_info_request_s{};
848
0
      break;
849
0
    case types::positioning_info_request:
850
0
      c = positioning_info_request_s{};
851
0
      break;
852
0
    case types::positioning_activation_request:
853
0
      c = positioning_activation_request_s{};
854
0
      break;
855
0
    case types::e_c_id_meas_initiation_request:
856
0
      c = e_c_id_meas_initiation_request_s{};
857
0
      break;
858
0
    case types::broadcast_context_setup_request:
859
0
      c = broadcast_context_setup_request_s{};
860
0
      break;
861
0
    case types::broadcast_context_release_cmd:
862
0
      c = broadcast_context_release_cmd_s{};
863
0
      break;
864
0
    case types::broadcast_context_mod_request:
865
0
      c = broadcast_context_mod_request_s{};
866
0
      break;
867
0
    case types::multicast_context_setup_request:
868
0
      c = multicast_context_setup_request_s{};
869
0
      break;
870
0
    case types::multicast_context_release_cmd:
871
0
      c = multicast_context_release_cmd_s{};
872
0
      break;
873
0
    case types::multicast_context_mod_request:
874
0
      c = multicast_context_mod_request_s{};
875
0
      break;
876
0
    case types::multicast_distribution_setup_request:
877
0
      c = multicast_distribution_setup_request_s{};
878
0
      break;
879
0
    case types::multicast_distribution_release_cmd:
880
0
      c = multicast_distribution_release_cmd_s{};
881
0
      break;
882
0
    case types::pdc_meas_initiation_request:
883
0
      c = pdc_meas_initiation_request_s{};
884
0
      break;
885
0
    case types::prs_cfg_request:
886
0
      c = prs_cfg_request_s{};
887
0
      break;
888
0
    case types::meas_precfg_required:
889
0
      c = meas_precfg_required_s{};
890
0
      break;
891
0
    case types::timing_synchronisation_status_request:
892
0
      c = timing_synchronisation_status_request_s{};
893
0
      break;
894
0
    case types::multicast_context_notif_ind:
895
0
      c = multicast_context_notif_ind_s{};
896
0
      break;
897
0
    case types::multicast_common_cfg_request:
898
0
      c = multicast_common_cfg_request_s{};
899
0
      break;
900
0
    case types::error_ind:
901
0
      c = error_ind_s{};
902
0
      break;
903
0
    case types::ue_context_release_request:
904
0
      c = ue_context_release_request_s{};
905
0
      break;
906
0
    case types::dl_rrc_msg_transfer:
907
0
      c = dl_rrc_msg_transfer_s{};
908
0
      break;
909
0
    case types::ul_rrc_msg_transfer:
910
0
      c = ul_rrc_msg_transfer_s{};
911
0
      break;
912
0
    case types::ue_inactivity_notif:
913
0
      c = ue_inactivity_notif_s{};
914
0
      break;
915
0
    case types::private_msg:
916
0
      c = private_msg_s{};
917
0
      break;
918
0
    case types::init_ul_rrc_msg_transfer:
919
0
      c = init_ul_rrc_msg_transfer_s{};
920
0
      break;
921
0
    case types::sys_info_delivery_cmd:
922
0
      c = sys_info_delivery_cmd_s{};
923
0
      break;
924
0
    case types::paging:
925
0
      c = paging_s{};
926
0
      break;
927
0
    case types::notify:
928
0
      c = notify_s{};
929
0
      break;
930
0
    case types::pws_restart_ind:
931
0
      c = pws_restart_ind_s{};
932
0
      break;
933
0
    case types::pws_fail_ind:
934
0
      c = pws_fail_ind_s{};
935
0
      break;
936
0
    case types::gnb_du_status_ind:
937
0
      c = gnb_du_status_ind_s{};
938
0
      break;
939
0
    case types::rrc_delivery_report:
940
0
      c = rrc_delivery_report_s{};
941
0
      break;
942
0
    case types::network_access_rate_reduction:
943
0
      c = network_access_rate_reduction_s{};
944
0
      break;
945
0
    case types::trace_start:
946
0
      c = trace_start_s{};
947
0
      break;
948
0
    case types::deactiv_trace:
949
0
      c = deactiv_trace_s{};
950
0
      break;
951
0
    case types::du_cu_radio_info_transfer:
952
0
      c = du_cu_radio_info_transfer_s{};
953
0
      break;
954
0
    case types::cu_du_radio_info_transfer:
955
0
      c = cu_du_radio_info_transfer_s{};
956
0
      break;
957
0
    case types::res_status_upd:
958
0
      c = res_status_upd_s{};
959
0
      break;
960
0
    case types::access_and_mob_ind:
961
0
      c = access_and_mob_ind_s{};
962
0
      break;
963
0
    case types::ref_time_info_report_ctrl:
964
0
      c = ref_time_info_report_ctrl_s{};
965
0
      break;
966
0
    case types::ref_time_info_report:
967
0
      c = ref_time_info_report_s{};
968
0
      break;
969
0
    case types::access_success:
970
0
      c = access_success_s{};
971
0
      break;
972
0
    case types::cell_traffic_trace:
973
0
      c = cell_traffic_trace_s{};
974
0
      break;
975
0
    case types::positioning_assist_info_ctrl:
976
0
      c = positioning_assist_info_ctrl_s{};
977
0
      break;
978
0
    case types::positioning_assist_info_feedback:
979
0
      c = positioning_assist_info_feedback_s{};
980
0
      break;
981
0
    case types::positioning_meas_report:
982
0
      c = positioning_meas_report_s{};
983
0
      break;
984
0
    case types::positioning_meas_abort:
985
0
      c = positioning_meas_abort_s{};
986
0
      break;
987
0
    case types::positioning_meas_fail_ind:
988
0
      c = positioning_meas_fail_ind_s{};
989
0
      break;
990
0
    case types::positioning_meas_upd:
991
0
      c = positioning_meas_upd_s{};
992
0
      break;
993
0
    case types::positioning_deactivation:
994
0
      c = positioning_deactivation_s{};
995
0
      break;
996
0
    case types::e_c_id_meas_fail_ind:
997
0
      c = e_c_id_meas_fail_ind_s{};
998
0
      break;
999
0
    case types::e_c_id_meas_report:
1000
0
      c = e_c_id_meas_report_s{};
1001
0
      break;
1002
0
    case types::e_c_id_meas_termination_cmd:
1003
0
      c = e_c_id_meas_termination_cmd_s{};
1004
0
      break;
1005
0
    case types::positioning_info_upd:
1006
0
      c = positioning_info_upd_s{};
1007
0
      break;
1008
0
    case types::multicast_group_paging:
1009
0
      c = multicast_group_paging_s{};
1010
0
      break;
1011
0
    case types::broadcast_context_release_request:
1012
0
      c = broadcast_context_release_request_s{};
1013
0
      break;
1014
0
    case types::multicast_context_release_request:
1015
0
      c = multicast_context_release_request_s{};
1016
0
      break;
1017
0
    case types::pdc_meas_report:
1018
0
      c = pdc_meas_report_s{};
1019
0
      break;
1020
0
    case types::pdc_meas_termination_cmd:
1021
0
      c = pdc_meas_termination_cmd_s{};
1022
0
      break;
1023
0
    case types::pdc_meas_fail_ind:
1024
0
      c = pdc_meas_fail_ind_s{};
1025
0
      break;
1026
0
    case types::meas_activation:
1027
0
      c = meas_activation_s{};
1028
0
      break;
1029
0
    case types::qo_e_info_transfer:
1030
0
      c = qo_e_info_transfer_s{};
1031
0
      break;
1032
0
    case types::pos_sys_info_delivery_cmd:
1033
0
      c = pos_sys_info_delivery_cmd_s{};
1034
0
      break;
1035
0
    case types::du_cu_cell_switch_notif:
1036
0
      c = du_cu_cell_switch_notif_s{};
1037
0
      break;
1038
0
    case types::cu_du_cell_switch_notif:
1039
0
      c = cu_du_cell_switch_notif_s{};
1040
0
      break;
1041
0
    case types::du_cu_tai_nformation_transfer:
1042
0
      c = du_cu_tai_nformation_transfer_s{};
1043
0
      break;
1044
0
    case types::cu_du_tai_nformation_transfer:
1045
0
      c = cu_du_tai_nformation_transfer_s{};
1046
0
      break;
1047
0
    case types::qo_e_info_transfer_ctrl:
1048
0
      c = qo_e_info_transfer_ctrl_s{};
1049
0
      break;
1050
0
    case types::rach_ind:
1051
0
      c = rach_ind_s{};
1052
0
      break;
1053
0
    case types::timing_synchronisation_status_report:
1054
0
      c = timing_synchronisation_status_report_s{};
1055
0
      break;
1056
0
    case types::miabf1_setup_trigger:
1057
0
      c = miabf1_setup_trigger_s{};
1058
0
      break;
1059
0
    case types::miabf1_setup_outcome_notif:
1060
0
      c = miabf1_setup_outcome_notif_s{};
1061
0
      break;
1062
0
    case types::broadcast_transport_res_request:
1063
0
      c = broadcast_transport_res_request_s{};
1064
0
      break;
1065
0
    case types::du_cu_access_and_mob_ind:
1066
0
      c = du_cu_access_and_mob_ind_s{};
1067
0
      break;
1068
0
    case types::srs_info_reserv_notif:
1069
0
      c = srs_info_reserv_notif_s{};
1070
0
      break;
1071
0
    case types::cu_du_mob_initiation_request:
1072
0
      c = cu_du_mob_initiation_request_s{};
1073
0
      break;
1074
0
    case types::nulltype:
1075
0
      break;
1076
0
    default:
1077
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::init_msg_c");
1078
0
  }
1079
0
}
1080
reset_s& f1ap_elem_procs_o::init_msg_c::reset()
1081
0
{
1082
0
  assert_choice_type(types::reset, type_, "InitiatingMessage");
1083
0
  return c.get<reset_s>();
1084
0
}
1085
f1_setup_request_s& f1ap_elem_procs_o::init_msg_c::f1_setup_request()
1086
0
{
1087
0
  assert_choice_type(types::f1_setup_request, type_, "InitiatingMessage");
1088
0
  return c.get<f1_setup_request_s>();
1089
0
}
1090
gnb_du_cfg_upd_s& f1ap_elem_procs_o::init_msg_c::gnb_du_cfg_upd()
1091
0
{
1092
0
  assert_choice_type(types::gnb_du_cfg_upd, type_, "InitiatingMessage");
1093
0
  return c.get<gnb_du_cfg_upd_s>();
1094
0
}
1095
gnb_cu_cfg_upd_s& f1ap_elem_procs_o::init_msg_c::gnb_cu_cfg_upd()
1096
0
{
1097
0
  assert_choice_type(types::gnb_cu_cfg_upd, type_, "InitiatingMessage");
1098
0
  return c.get<gnb_cu_cfg_upd_s>();
1099
0
}
1100
ue_context_setup_request_s& f1ap_elem_procs_o::init_msg_c::ue_context_setup_request()
1101
0
{
1102
0
  assert_choice_type(types::ue_context_setup_request, type_, "InitiatingMessage");
1103
0
  return c.get<ue_context_setup_request_s>();
1104
0
}
1105
ue_context_release_cmd_s& f1ap_elem_procs_o::init_msg_c::ue_context_release_cmd()
1106
0
{
1107
0
  assert_choice_type(types::ue_context_release_cmd, type_, "InitiatingMessage");
1108
0
  return c.get<ue_context_release_cmd_s>();
1109
0
}
1110
ue_context_mod_request_s& f1ap_elem_procs_o::init_msg_c::ue_context_mod_request()
1111
0
{
1112
0
  assert_choice_type(types::ue_context_mod_request, type_, "InitiatingMessage");
1113
0
  return c.get<ue_context_mod_request_s>();
1114
0
}
1115
ue_context_mod_required_s& f1ap_elem_procs_o::init_msg_c::ue_context_mod_required()
1116
0
{
1117
0
  assert_choice_type(types::ue_context_mod_required, type_, "InitiatingMessage");
1118
0
  return c.get<ue_context_mod_required_s>();
1119
0
}
1120
write_replace_warning_request_s& f1ap_elem_procs_o::init_msg_c::write_replace_warning_request()
1121
0
{
1122
0
  assert_choice_type(types::write_replace_warning_request, type_, "InitiatingMessage");
1123
0
  return c.get<write_replace_warning_request_s>();
1124
0
}
1125
pws_cancel_request_s& f1ap_elem_procs_o::init_msg_c::pws_cancel_request()
1126
0
{
1127
0
  assert_choice_type(types::pws_cancel_request, type_, "InitiatingMessage");
1128
0
  return c.get<pws_cancel_request_s>();
1129
0
}
1130
gnb_du_res_coordination_request_s& f1ap_elem_procs_o::init_msg_c::gnb_du_res_coordination_request()
1131
0
{
1132
0
  assert_choice_type(types::gnb_du_res_coordination_request, type_, "InitiatingMessage");
1133
0
  return c.get<gnb_du_res_coordination_request_s>();
1134
0
}
1135
f1_removal_request_s& f1ap_elem_procs_o::init_msg_c::f1_removal_request()
1136
0
{
1137
0
  assert_choice_type(types::f1_removal_request, type_, "InitiatingMessage");
1138
0
  return c.get<f1_removal_request_s>();
1139
0
}
1140
bap_map_cfg_s& f1ap_elem_procs_o::init_msg_c::bap_map_cfg()
1141
0
{
1142
0
  assert_choice_type(types::bap_map_cfg, type_, "InitiatingMessage");
1143
0
  return c.get<bap_map_cfg_s>();
1144
0
}
1145
gnb_du_res_cfg_s& f1ap_elem_procs_o::init_msg_c::gnb_du_res_cfg()
1146
0
{
1147
0
  assert_choice_type(types::gnb_du_res_cfg, type_, "InitiatingMessage");
1148
0
  return c.get<gnb_du_res_cfg_s>();
1149
0
}
1150
iab_tnl_address_request_s& f1ap_elem_procs_o::init_msg_c::iab_tnl_address_request()
1151
0
{
1152
0
  assert_choice_type(types::iab_tnl_address_request, type_, "InitiatingMessage");
1153
0
  return c.get<iab_tnl_address_request_s>();
1154
0
}
1155
iab_up_cfg_upd_request_s& f1ap_elem_procs_o::init_msg_c::iab_up_cfg_upd_request()
1156
0
{
1157
0
  assert_choice_type(types::iab_up_cfg_upd_request, type_, "InitiatingMessage");
1158
0
  return c.get<iab_up_cfg_upd_request_s>();
1159
0
}
1160
res_status_request_s& f1ap_elem_procs_o::init_msg_c::res_status_request()
1161
0
{
1162
0
  assert_choice_type(types::res_status_request, type_, "InitiatingMessage");
1163
0
  return c.get<res_status_request_s>();
1164
0
}
1165
positioning_meas_request_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_request()
1166
0
{
1167
0
  assert_choice_type(types::positioning_meas_request, type_, "InitiatingMessage");
1168
0
  return c.get<positioning_meas_request_s>();
1169
0
}
1170
trp_info_request_s& f1ap_elem_procs_o::init_msg_c::trp_info_request()
1171
0
{
1172
0
  assert_choice_type(types::trp_info_request, type_, "InitiatingMessage");
1173
0
  return c.get<trp_info_request_s>();
1174
0
}
1175
positioning_info_request_s& f1ap_elem_procs_o::init_msg_c::positioning_info_request()
1176
0
{
1177
0
  assert_choice_type(types::positioning_info_request, type_, "InitiatingMessage");
1178
0
  return c.get<positioning_info_request_s>();
1179
0
}
1180
positioning_activation_request_s& f1ap_elem_procs_o::init_msg_c::positioning_activation_request()
1181
0
{
1182
0
  assert_choice_type(types::positioning_activation_request, type_, "InitiatingMessage");
1183
0
  return c.get<positioning_activation_request_s>();
1184
0
}
1185
e_c_id_meas_initiation_request_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_initiation_request()
1186
0
{
1187
0
  assert_choice_type(types::e_c_id_meas_initiation_request, type_, "InitiatingMessage");
1188
0
  return c.get<e_c_id_meas_initiation_request_s>();
1189
0
}
1190
broadcast_context_setup_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_setup_request()
1191
0
{
1192
0
  assert_choice_type(types::broadcast_context_setup_request, type_, "InitiatingMessage");
1193
0
  return c.get<broadcast_context_setup_request_s>();
1194
0
}
1195
broadcast_context_release_cmd_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_release_cmd()
1196
0
{
1197
0
  assert_choice_type(types::broadcast_context_release_cmd, type_, "InitiatingMessage");
1198
0
  return c.get<broadcast_context_release_cmd_s>();
1199
0
}
1200
broadcast_context_mod_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_mod_request()
1201
0
{
1202
0
  assert_choice_type(types::broadcast_context_mod_request, type_, "InitiatingMessage");
1203
0
  return c.get<broadcast_context_mod_request_s>();
1204
0
}
1205
multicast_context_setup_request_s& f1ap_elem_procs_o::init_msg_c::multicast_context_setup_request()
1206
0
{
1207
0
  assert_choice_type(types::multicast_context_setup_request, type_, "InitiatingMessage");
1208
0
  return c.get<multicast_context_setup_request_s>();
1209
0
}
1210
multicast_context_release_cmd_s& f1ap_elem_procs_o::init_msg_c::multicast_context_release_cmd()
1211
0
{
1212
0
  assert_choice_type(types::multicast_context_release_cmd, type_, "InitiatingMessage");
1213
0
  return c.get<multicast_context_release_cmd_s>();
1214
0
}
1215
multicast_context_mod_request_s& f1ap_elem_procs_o::init_msg_c::multicast_context_mod_request()
1216
0
{
1217
0
  assert_choice_type(types::multicast_context_mod_request, type_, "InitiatingMessage");
1218
0
  return c.get<multicast_context_mod_request_s>();
1219
0
}
1220
multicast_distribution_setup_request_s& f1ap_elem_procs_o::init_msg_c::multicast_distribution_setup_request()
1221
0
{
1222
0
  assert_choice_type(types::multicast_distribution_setup_request, type_, "InitiatingMessage");
1223
0
  return c.get<multicast_distribution_setup_request_s>();
1224
0
}
1225
multicast_distribution_release_cmd_s& f1ap_elem_procs_o::init_msg_c::multicast_distribution_release_cmd()
1226
0
{
1227
0
  assert_choice_type(types::multicast_distribution_release_cmd, type_, "InitiatingMessage");
1228
0
  return c.get<multicast_distribution_release_cmd_s>();
1229
0
}
1230
pdc_meas_initiation_request_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_initiation_request()
1231
0
{
1232
0
  assert_choice_type(types::pdc_meas_initiation_request, type_, "InitiatingMessage");
1233
0
  return c.get<pdc_meas_initiation_request_s>();
1234
0
}
1235
prs_cfg_request_s& f1ap_elem_procs_o::init_msg_c::prs_cfg_request()
1236
0
{
1237
0
  assert_choice_type(types::prs_cfg_request, type_, "InitiatingMessage");
1238
0
  return c.get<prs_cfg_request_s>();
1239
0
}
1240
meas_precfg_required_s& f1ap_elem_procs_o::init_msg_c::meas_precfg_required()
1241
0
{
1242
0
  assert_choice_type(types::meas_precfg_required, type_, "InitiatingMessage");
1243
0
  return c.get<meas_precfg_required_s>();
1244
0
}
1245
timing_synchronisation_status_request_s& f1ap_elem_procs_o::init_msg_c::timing_synchronisation_status_request()
1246
0
{
1247
0
  assert_choice_type(types::timing_synchronisation_status_request, type_, "InitiatingMessage");
1248
0
  return c.get<timing_synchronisation_status_request_s>();
1249
0
}
1250
multicast_context_notif_ind_s& f1ap_elem_procs_o::init_msg_c::multicast_context_notif_ind()
1251
0
{
1252
0
  assert_choice_type(types::multicast_context_notif_ind, type_, "InitiatingMessage");
1253
0
  return c.get<multicast_context_notif_ind_s>();
1254
0
}
1255
multicast_common_cfg_request_s& f1ap_elem_procs_o::init_msg_c::multicast_common_cfg_request()
1256
0
{
1257
0
  assert_choice_type(types::multicast_common_cfg_request, type_, "InitiatingMessage");
1258
0
  return c.get<multicast_common_cfg_request_s>();
1259
0
}
1260
error_ind_s& f1ap_elem_procs_o::init_msg_c::error_ind()
1261
0
{
1262
0
  assert_choice_type(types::error_ind, type_, "InitiatingMessage");
1263
0
  return c.get<error_ind_s>();
1264
0
}
1265
ue_context_release_request_s& f1ap_elem_procs_o::init_msg_c::ue_context_release_request()
1266
0
{
1267
0
  assert_choice_type(types::ue_context_release_request, type_, "InitiatingMessage");
1268
0
  return c.get<ue_context_release_request_s>();
1269
0
}
1270
dl_rrc_msg_transfer_s& f1ap_elem_procs_o::init_msg_c::dl_rrc_msg_transfer()
1271
0
{
1272
0
  assert_choice_type(types::dl_rrc_msg_transfer, type_, "InitiatingMessage");
1273
0
  return c.get<dl_rrc_msg_transfer_s>();
1274
0
}
1275
ul_rrc_msg_transfer_s& f1ap_elem_procs_o::init_msg_c::ul_rrc_msg_transfer()
1276
0
{
1277
0
  assert_choice_type(types::ul_rrc_msg_transfer, type_, "InitiatingMessage");
1278
0
  return c.get<ul_rrc_msg_transfer_s>();
1279
0
}
1280
ue_inactivity_notif_s& f1ap_elem_procs_o::init_msg_c::ue_inactivity_notif()
1281
0
{
1282
0
  assert_choice_type(types::ue_inactivity_notif, type_, "InitiatingMessage");
1283
0
  return c.get<ue_inactivity_notif_s>();
1284
0
}
1285
private_msg_s& f1ap_elem_procs_o::init_msg_c::private_msg()
1286
0
{
1287
0
  assert_choice_type(types::private_msg, type_, "InitiatingMessage");
1288
0
  return c.get<private_msg_s>();
1289
0
}
1290
init_ul_rrc_msg_transfer_s& f1ap_elem_procs_o::init_msg_c::init_ul_rrc_msg_transfer()
1291
0
{
1292
0
  assert_choice_type(types::init_ul_rrc_msg_transfer, type_, "InitiatingMessage");
1293
0
  return c.get<init_ul_rrc_msg_transfer_s>();
1294
0
}
1295
sys_info_delivery_cmd_s& f1ap_elem_procs_o::init_msg_c::sys_info_delivery_cmd()
1296
0
{
1297
0
  assert_choice_type(types::sys_info_delivery_cmd, type_, "InitiatingMessage");
1298
0
  return c.get<sys_info_delivery_cmd_s>();
1299
0
}
1300
paging_s& f1ap_elem_procs_o::init_msg_c::paging()
1301
0
{
1302
0
  assert_choice_type(types::paging, type_, "InitiatingMessage");
1303
0
  return c.get<paging_s>();
1304
0
}
1305
notify_s& f1ap_elem_procs_o::init_msg_c::notify()
1306
0
{
1307
0
  assert_choice_type(types::notify, type_, "InitiatingMessage");
1308
0
  return c.get<notify_s>();
1309
0
}
1310
pws_restart_ind_s& f1ap_elem_procs_o::init_msg_c::pws_restart_ind()
1311
0
{
1312
0
  assert_choice_type(types::pws_restart_ind, type_, "InitiatingMessage");
1313
0
  return c.get<pws_restart_ind_s>();
1314
0
}
1315
pws_fail_ind_s& f1ap_elem_procs_o::init_msg_c::pws_fail_ind()
1316
0
{
1317
0
  assert_choice_type(types::pws_fail_ind, type_, "InitiatingMessage");
1318
0
  return c.get<pws_fail_ind_s>();
1319
0
}
1320
gnb_du_status_ind_s& f1ap_elem_procs_o::init_msg_c::gnb_du_status_ind()
1321
0
{
1322
0
  assert_choice_type(types::gnb_du_status_ind, type_, "InitiatingMessage");
1323
0
  return c.get<gnb_du_status_ind_s>();
1324
0
}
1325
rrc_delivery_report_s& f1ap_elem_procs_o::init_msg_c::rrc_delivery_report()
1326
0
{
1327
0
  assert_choice_type(types::rrc_delivery_report, type_, "InitiatingMessage");
1328
0
  return c.get<rrc_delivery_report_s>();
1329
0
}
1330
network_access_rate_reduction_s& f1ap_elem_procs_o::init_msg_c::network_access_rate_reduction()
1331
0
{
1332
0
  assert_choice_type(types::network_access_rate_reduction, type_, "InitiatingMessage");
1333
0
  return c.get<network_access_rate_reduction_s>();
1334
0
}
1335
trace_start_s& f1ap_elem_procs_o::init_msg_c::trace_start()
1336
0
{
1337
0
  assert_choice_type(types::trace_start, type_, "InitiatingMessage");
1338
0
  return c.get<trace_start_s>();
1339
0
}
1340
deactiv_trace_s& f1ap_elem_procs_o::init_msg_c::deactiv_trace()
1341
0
{
1342
0
  assert_choice_type(types::deactiv_trace, type_, "InitiatingMessage");
1343
0
  return c.get<deactiv_trace_s>();
1344
0
}
1345
du_cu_radio_info_transfer_s& f1ap_elem_procs_o::init_msg_c::du_cu_radio_info_transfer()
1346
0
{
1347
0
  assert_choice_type(types::du_cu_radio_info_transfer, type_, "InitiatingMessage");
1348
0
  return c.get<du_cu_radio_info_transfer_s>();
1349
0
}
1350
cu_du_radio_info_transfer_s& f1ap_elem_procs_o::init_msg_c::cu_du_radio_info_transfer()
1351
0
{
1352
0
  assert_choice_type(types::cu_du_radio_info_transfer, type_, "InitiatingMessage");
1353
0
  return c.get<cu_du_radio_info_transfer_s>();
1354
0
}
1355
res_status_upd_s& f1ap_elem_procs_o::init_msg_c::res_status_upd()
1356
0
{
1357
0
  assert_choice_type(types::res_status_upd, type_, "InitiatingMessage");
1358
0
  return c.get<res_status_upd_s>();
1359
0
}
1360
access_and_mob_ind_s& f1ap_elem_procs_o::init_msg_c::access_and_mob_ind()
1361
0
{
1362
0
  assert_choice_type(types::access_and_mob_ind, type_, "InitiatingMessage");
1363
0
  return c.get<access_and_mob_ind_s>();
1364
0
}
1365
ref_time_info_report_ctrl_s& f1ap_elem_procs_o::init_msg_c::ref_time_info_report_ctrl()
1366
0
{
1367
0
  assert_choice_type(types::ref_time_info_report_ctrl, type_, "InitiatingMessage");
1368
0
  return c.get<ref_time_info_report_ctrl_s>();
1369
0
}
1370
ref_time_info_report_s& f1ap_elem_procs_o::init_msg_c::ref_time_info_report()
1371
0
{
1372
0
  assert_choice_type(types::ref_time_info_report, type_, "InitiatingMessage");
1373
0
  return c.get<ref_time_info_report_s>();
1374
0
}
1375
access_success_s& f1ap_elem_procs_o::init_msg_c::access_success()
1376
0
{
1377
0
  assert_choice_type(types::access_success, type_, "InitiatingMessage");
1378
0
  return c.get<access_success_s>();
1379
0
}
1380
cell_traffic_trace_s& f1ap_elem_procs_o::init_msg_c::cell_traffic_trace()
1381
0
{
1382
0
  assert_choice_type(types::cell_traffic_trace, type_, "InitiatingMessage");
1383
0
  return c.get<cell_traffic_trace_s>();
1384
0
}
1385
positioning_assist_info_ctrl_s& f1ap_elem_procs_o::init_msg_c::positioning_assist_info_ctrl()
1386
0
{
1387
0
  assert_choice_type(types::positioning_assist_info_ctrl, type_, "InitiatingMessage");
1388
0
  return c.get<positioning_assist_info_ctrl_s>();
1389
0
}
1390
positioning_assist_info_feedback_s& f1ap_elem_procs_o::init_msg_c::positioning_assist_info_feedback()
1391
0
{
1392
0
  assert_choice_type(types::positioning_assist_info_feedback, type_, "InitiatingMessage");
1393
0
  return c.get<positioning_assist_info_feedback_s>();
1394
0
}
1395
positioning_meas_report_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_report()
1396
0
{
1397
0
  assert_choice_type(types::positioning_meas_report, type_, "InitiatingMessage");
1398
0
  return c.get<positioning_meas_report_s>();
1399
0
}
1400
positioning_meas_abort_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_abort()
1401
0
{
1402
0
  assert_choice_type(types::positioning_meas_abort, type_, "InitiatingMessage");
1403
0
  return c.get<positioning_meas_abort_s>();
1404
0
}
1405
positioning_meas_fail_ind_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_fail_ind()
1406
0
{
1407
0
  assert_choice_type(types::positioning_meas_fail_ind, type_, "InitiatingMessage");
1408
0
  return c.get<positioning_meas_fail_ind_s>();
1409
0
}
1410
positioning_meas_upd_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_upd()
1411
0
{
1412
0
  assert_choice_type(types::positioning_meas_upd, type_, "InitiatingMessage");
1413
0
  return c.get<positioning_meas_upd_s>();
1414
0
}
1415
positioning_deactivation_s& f1ap_elem_procs_o::init_msg_c::positioning_deactivation()
1416
0
{
1417
0
  assert_choice_type(types::positioning_deactivation, type_, "InitiatingMessage");
1418
0
  return c.get<positioning_deactivation_s>();
1419
0
}
1420
e_c_id_meas_fail_ind_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_fail_ind()
1421
0
{
1422
0
  assert_choice_type(types::e_c_id_meas_fail_ind, type_, "InitiatingMessage");
1423
0
  return c.get<e_c_id_meas_fail_ind_s>();
1424
0
}
1425
e_c_id_meas_report_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_report()
1426
0
{
1427
0
  assert_choice_type(types::e_c_id_meas_report, type_, "InitiatingMessage");
1428
0
  return c.get<e_c_id_meas_report_s>();
1429
0
}
1430
e_c_id_meas_termination_cmd_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_termination_cmd()
1431
0
{
1432
0
  assert_choice_type(types::e_c_id_meas_termination_cmd, type_, "InitiatingMessage");
1433
0
  return c.get<e_c_id_meas_termination_cmd_s>();
1434
0
}
1435
positioning_info_upd_s& f1ap_elem_procs_o::init_msg_c::positioning_info_upd()
1436
0
{
1437
0
  assert_choice_type(types::positioning_info_upd, type_, "InitiatingMessage");
1438
0
  return c.get<positioning_info_upd_s>();
1439
0
}
1440
multicast_group_paging_s& f1ap_elem_procs_o::init_msg_c::multicast_group_paging()
1441
0
{
1442
0
  assert_choice_type(types::multicast_group_paging, type_, "InitiatingMessage");
1443
0
  return c.get<multicast_group_paging_s>();
1444
0
}
1445
broadcast_context_release_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_release_request()
1446
0
{
1447
0
  assert_choice_type(types::broadcast_context_release_request, type_, "InitiatingMessage");
1448
0
  return c.get<broadcast_context_release_request_s>();
1449
0
}
1450
multicast_context_release_request_s& f1ap_elem_procs_o::init_msg_c::multicast_context_release_request()
1451
0
{
1452
0
  assert_choice_type(types::multicast_context_release_request, type_, "InitiatingMessage");
1453
0
  return c.get<multicast_context_release_request_s>();
1454
0
}
1455
pdc_meas_report_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_report()
1456
0
{
1457
0
  assert_choice_type(types::pdc_meas_report, type_, "InitiatingMessage");
1458
0
  return c.get<pdc_meas_report_s>();
1459
0
}
1460
pdc_meas_termination_cmd_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_termination_cmd()
1461
0
{
1462
0
  assert_choice_type(types::pdc_meas_termination_cmd, type_, "InitiatingMessage");
1463
0
  return c.get<pdc_meas_termination_cmd_s>();
1464
0
}
1465
pdc_meas_fail_ind_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_fail_ind()
1466
0
{
1467
0
  assert_choice_type(types::pdc_meas_fail_ind, type_, "InitiatingMessage");
1468
0
  return c.get<pdc_meas_fail_ind_s>();
1469
0
}
1470
meas_activation_s& f1ap_elem_procs_o::init_msg_c::meas_activation()
1471
0
{
1472
0
  assert_choice_type(types::meas_activation, type_, "InitiatingMessage");
1473
0
  return c.get<meas_activation_s>();
1474
0
}
1475
qo_e_info_transfer_s& f1ap_elem_procs_o::init_msg_c::qo_e_info_transfer()
1476
0
{
1477
0
  assert_choice_type(types::qo_e_info_transfer, type_, "InitiatingMessage");
1478
0
  return c.get<qo_e_info_transfer_s>();
1479
0
}
1480
pos_sys_info_delivery_cmd_s& f1ap_elem_procs_o::init_msg_c::pos_sys_info_delivery_cmd()
1481
0
{
1482
0
  assert_choice_type(types::pos_sys_info_delivery_cmd, type_, "InitiatingMessage");
1483
0
  return c.get<pos_sys_info_delivery_cmd_s>();
1484
0
}
1485
du_cu_cell_switch_notif_s& f1ap_elem_procs_o::init_msg_c::du_cu_cell_switch_notif()
1486
0
{
1487
0
  assert_choice_type(types::du_cu_cell_switch_notif, type_, "InitiatingMessage");
1488
0
  return c.get<du_cu_cell_switch_notif_s>();
1489
0
}
1490
cu_du_cell_switch_notif_s& f1ap_elem_procs_o::init_msg_c::cu_du_cell_switch_notif()
1491
0
{
1492
0
  assert_choice_type(types::cu_du_cell_switch_notif, type_, "InitiatingMessage");
1493
0
  return c.get<cu_du_cell_switch_notif_s>();
1494
0
}
1495
du_cu_tai_nformation_transfer_s& f1ap_elem_procs_o::init_msg_c::du_cu_tai_nformation_transfer()
1496
0
{
1497
0
  assert_choice_type(types::du_cu_tai_nformation_transfer, type_, "InitiatingMessage");
1498
0
  return c.get<du_cu_tai_nformation_transfer_s>();
1499
0
}
1500
cu_du_tai_nformation_transfer_s& f1ap_elem_procs_o::init_msg_c::cu_du_tai_nformation_transfer()
1501
0
{
1502
0
  assert_choice_type(types::cu_du_tai_nformation_transfer, type_, "InitiatingMessage");
1503
0
  return c.get<cu_du_tai_nformation_transfer_s>();
1504
0
}
1505
qo_e_info_transfer_ctrl_s& f1ap_elem_procs_o::init_msg_c::qo_e_info_transfer_ctrl()
1506
0
{
1507
0
  assert_choice_type(types::qo_e_info_transfer_ctrl, type_, "InitiatingMessage");
1508
0
  return c.get<qo_e_info_transfer_ctrl_s>();
1509
0
}
1510
rach_ind_s& f1ap_elem_procs_o::init_msg_c::rach_ind()
1511
0
{
1512
0
  assert_choice_type(types::rach_ind, type_, "InitiatingMessage");
1513
0
  return c.get<rach_ind_s>();
1514
0
}
1515
timing_synchronisation_status_report_s& f1ap_elem_procs_o::init_msg_c::timing_synchronisation_status_report()
1516
0
{
1517
0
  assert_choice_type(types::timing_synchronisation_status_report, type_, "InitiatingMessage");
1518
0
  return c.get<timing_synchronisation_status_report_s>();
1519
0
}
1520
miabf1_setup_trigger_s& f1ap_elem_procs_o::init_msg_c::miabf1_setup_trigger()
1521
0
{
1522
0
  assert_choice_type(types::miabf1_setup_trigger, type_, "InitiatingMessage");
1523
0
  return c.get<miabf1_setup_trigger_s>();
1524
0
}
1525
miabf1_setup_outcome_notif_s& f1ap_elem_procs_o::init_msg_c::miabf1_setup_outcome_notif()
1526
0
{
1527
0
  assert_choice_type(types::miabf1_setup_outcome_notif, type_, "InitiatingMessage");
1528
0
  return c.get<miabf1_setup_outcome_notif_s>();
1529
0
}
1530
broadcast_transport_res_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_transport_res_request()
1531
0
{
1532
0
  assert_choice_type(types::broadcast_transport_res_request, type_, "InitiatingMessage");
1533
0
  return c.get<broadcast_transport_res_request_s>();
1534
0
}
1535
du_cu_access_and_mob_ind_s& f1ap_elem_procs_o::init_msg_c::du_cu_access_and_mob_ind()
1536
0
{
1537
0
  assert_choice_type(types::du_cu_access_and_mob_ind, type_, "InitiatingMessage");
1538
0
  return c.get<du_cu_access_and_mob_ind_s>();
1539
0
}
1540
srs_info_reserv_notif_s& f1ap_elem_procs_o::init_msg_c::srs_info_reserv_notif()
1541
0
{
1542
0
  assert_choice_type(types::srs_info_reserv_notif, type_, "InitiatingMessage");
1543
0
  return c.get<srs_info_reserv_notif_s>();
1544
0
}
1545
cu_du_mob_initiation_request_s& f1ap_elem_procs_o::init_msg_c::cu_du_mob_initiation_request()
1546
0
{
1547
0
  assert_choice_type(types::cu_du_mob_initiation_request, type_, "InitiatingMessage");
1548
0
  return c.get<cu_du_mob_initiation_request_s>();
1549
0
}
1550
const reset_s& f1ap_elem_procs_o::init_msg_c::reset() const
1551
0
{
1552
0
  assert_choice_type(types::reset, type_, "InitiatingMessage");
1553
0
  return c.get<reset_s>();
1554
0
}
1555
const f1_setup_request_s& f1ap_elem_procs_o::init_msg_c::f1_setup_request() const
1556
0
{
1557
0
  assert_choice_type(types::f1_setup_request, type_, "InitiatingMessage");
1558
0
  return c.get<f1_setup_request_s>();
1559
0
}
1560
const gnb_du_cfg_upd_s& f1ap_elem_procs_o::init_msg_c::gnb_du_cfg_upd() const
1561
0
{
1562
0
  assert_choice_type(types::gnb_du_cfg_upd, type_, "InitiatingMessage");
1563
0
  return c.get<gnb_du_cfg_upd_s>();
1564
0
}
1565
const gnb_cu_cfg_upd_s& f1ap_elem_procs_o::init_msg_c::gnb_cu_cfg_upd() const
1566
0
{
1567
0
  assert_choice_type(types::gnb_cu_cfg_upd, type_, "InitiatingMessage");
1568
0
  return c.get<gnb_cu_cfg_upd_s>();
1569
0
}
1570
const ue_context_setup_request_s& f1ap_elem_procs_o::init_msg_c::ue_context_setup_request() const
1571
0
{
1572
0
  assert_choice_type(types::ue_context_setup_request, type_, "InitiatingMessage");
1573
0
  return c.get<ue_context_setup_request_s>();
1574
0
}
1575
const ue_context_release_cmd_s& f1ap_elem_procs_o::init_msg_c::ue_context_release_cmd() const
1576
0
{
1577
0
  assert_choice_type(types::ue_context_release_cmd, type_, "InitiatingMessage");
1578
0
  return c.get<ue_context_release_cmd_s>();
1579
0
}
1580
const ue_context_mod_request_s& f1ap_elem_procs_o::init_msg_c::ue_context_mod_request() const
1581
0
{
1582
0
  assert_choice_type(types::ue_context_mod_request, type_, "InitiatingMessage");
1583
0
  return c.get<ue_context_mod_request_s>();
1584
0
}
1585
const ue_context_mod_required_s& f1ap_elem_procs_o::init_msg_c::ue_context_mod_required() const
1586
0
{
1587
0
  assert_choice_type(types::ue_context_mod_required, type_, "InitiatingMessage");
1588
0
  return c.get<ue_context_mod_required_s>();
1589
0
}
1590
const write_replace_warning_request_s& f1ap_elem_procs_o::init_msg_c::write_replace_warning_request() const
1591
0
{
1592
0
  assert_choice_type(types::write_replace_warning_request, type_, "InitiatingMessage");
1593
0
  return c.get<write_replace_warning_request_s>();
1594
0
}
1595
const pws_cancel_request_s& f1ap_elem_procs_o::init_msg_c::pws_cancel_request() const
1596
0
{
1597
0
  assert_choice_type(types::pws_cancel_request, type_, "InitiatingMessage");
1598
0
  return c.get<pws_cancel_request_s>();
1599
0
}
1600
const gnb_du_res_coordination_request_s& f1ap_elem_procs_o::init_msg_c::gnb_du_res_coordination_request() const
1601
0
{
1602
0
  assert_choice_type(types::gnb_du_res_coordination_request, type_, "InitiatingMessage");
1603
0
  return c.get<gnb_du_res_coordination_request_s>();
1604
0
}
1605
const f1_removal_request_s& f1ap_elem_procs_o::init_msg_c::f1_removal_request() const
1606
0
{
1607
0
  assert_choice_type(types::f1_removal_request, type_, "InitiatingMessage");
1608
0
  return c.get<f1_removal_request_s>();
1609
0
}
1610
const bap_map_cfg_s& f1ap_elem_procs_o::init_msg_c::bap_map_cfg() const
1611
0
{
1612
0
  assert_choice_type(types::bap_map_cfg, type_, "InitiatingMessage");
1613
0
  return c.get<bap_map_cfg_s>();
1614
0
}
1615
const gnb_du_res_cfg_s& f1ap_elem_procs_o::init_msg_c::gnb_du_res_cfg() const
1616
0
{
1617
0
  assert_choice_type(types::gnb_du_res_cfg, type_, "InitiatingMessage");
1618
0
  return c.get<gnb_du_res_cfg_s>();
1619
0
}
1620
const iab_tnl_address_request_s& f1ap_elem_procs_o::init_msg_c::iab_tnl_address_request() const
1621
0
{
1622
0
  assert_choice_type(types::iab_tnl_address_request, type_, "InitiatingMessage");
1623
0
  return c.get<iab_tnl_address_request_s>();
1624
0
}
1625
const iab_up_cfg_upd_request_s& f1ap_elem_procs_o::init_msg_c::iab_up_cfg_upd_request() const
1626
0
{
1627
0
  assert_choice_type(types::iab_up_cfg_upd_request, type_, "InitiatingMessage");
1628
0
  return c.get<iab_up_cfg_upd_request_s>();
1629
0
}
1630
const res_status_request_s& f1ap_elem_procs_o::init_msg_c::res_status_request() const
1631
0
{
1632
0
  assert_choice_type(types::res_status_request, type_, "InitiatingMessage");
1633
0
  return c.get<res_status_request_s>();
1634
0
}
1635
const positioning_meas_request_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_request() const
1636
0
{
1637
0
  assert_choice_type(types::positioning_meas_request, type_, "InitiatingMessage");
1638
0
  return c.get<positioning_meas_request_s>();
1639
0
}
1640
const trp_info_request_s& f1ap_elem_procs_o::init_msg_c::trp_info_request() const
1641
0
{
1642
0
  assert_choice_type(types::trp_info_request, type_, "InitiatingMessage");
1643
0
  return c.get<trp_info_request_s>();
1644
0
}
1645
const positioning_info_request_s& f1ap_elem_procs_o::init_msg_c::positioning_info_request() const
1646
0
{
1647
0
  assert_choice_type(types::positioning_info_request, type_, "InitiatingMessage");
1648
0
  return c.get<positioning_info_request_s>();
1649
0
}
1650
const positioning_activation_request_s& f1ap_elem_procs_o::init_msg_c::positioning_activation_request() const
1651
0
{
1652
0
  assert_choice_type(types::positioning_activation_request, type_, "InitiatingMessage");
1653
0
  return c.get<positioning_activation_request_s>();
1654
0
}
1655
const e_c_id_meas_initiation_request_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_initiation_request() const
1656
0
{
1657
0
  assert_choice_type(types::e_c_id_meas_initiation_request, type_, "InitiatingMessage");
1658
0
  return c.get<e_c_id_meas_initiation_request_s>();
1659
0
}
1660
const broadcast_context_setup_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_setup_request() const
1661
0
{
1662
0
  assert_choice_type(types::broadcast_context_setup_request, type_, "InitiatingMessage");
1663
0
  return c.get<broadcast_context_setup_request_s>();
1664
0
}
1665
const broadcast_context_release_cmd_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_release_cmd() const
1666
0
{
1667
0
  assert_choice_type(types::broadcast_context_release_cmd, type_, "InitiatingMessage");
1668
0
  return c.get<broadcast_context_release_cmd_s>();
1669
0
}
1670
const broadcast_context_mod_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_mod_request() const
1671
0
{
1672
0
  assert_choice_type(types::broadcast_context_mod_request, type_, "InitiatingMessage");
1673
0
  return c.get<broadcast_context_mod_request_s>();
1674
0
}
1675
const multicast_context_setup_request_s& f1ap_elem_procs_o::init_msg_c::multicast_context_setup_request() const
1676
0
{
1677
0
  assert_choice_type(types::multicast_context_setup_request, type_, "InitiatingMessage");
1678
0
  return c.get<multicast_context_setup_request_s>();
1679
0
}
1680
const multicast_context_release_cmd_s& f1ap_elem_procs_o::init_msg_c::multicast_context_release_cmd() const
1681
0
{
1682
0
  assert_choice_type(types::multicast_context_release_cmd, type_, "InitiatingMessage");
1683
0
  return c.get<multicast_context_release_cmd_s>();
1684
0
}
1685
const multicast_context_mod_request_s& f1ap_elem_procs_o::init_msg_c::multicast_context_mod_request() const
1686
0
{
1687
0
  assert_choice_type(types::multicast_context_mod_request, type_, "InitiatingMessage");
1688
0
  return c.get<multicast_context_mod_request_s>();
1689
0
}
1690
const multicast_distribution_setup_request_s&
1691
f1ap_elem_procs_o::init_msg_c::multicast_distribution_setup_request() const
1692
0
{
1693
0
  assert_choice_type(types::multicast_distribution_setup_request, type_, "InitiatingMessage");
1694
0
  return c.get<multicast_distribution_setup_request_s>();
1695
0
}
1696
const multicast_distribution_release_cmd_s& f1ap_elem_procs_o::init_msg_c::multicast_distribution_release_cmd() const
1697
0
{
1698
0
  assert_choice_type(types::multicast_distribution_release_cmd, type_, "InitiatingMessage");
1699
0
  return c.get<multicast_distribution_release_cmd_s>();
1700
0
}
1701
const pdc_meas_initiation_request_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_initiation_request() const
1702
0
{
1703
0
  assert_choice_type(types::pdc_meas_initiation_request, type_, "InitiatingMessage");
1704
0
  return c.get<pdc_meas_initiation_request_s>();
1705
0
}
1706
const prs_cfg_request_s& f1ap_elem_procs_o::init_msg_c::prs_cfg_request() const
1707
0
{
1708
0
  assert_choice_type(types::prs_cfg_request, type_, "InitiatingMessage");
1709
0
  return c.get<prs_cfg_request_s>();
1710
0
}
1711
const meas_precfg_required_s& f1ap_elem_procs_o::init_msg_c::meas_precfg_required() const
1712
0
{
1713
0
  assert_choice_type(types::meas_precfg_required, type_, "InitiatingMessage");
1714
0
  return c.get<meas_precfg_required_s>();
1715
0
}
1716
const timing_synchronisation_status_request_s&
1717
f1ap_elem_procs_o::init_msg_c::timing_synchronisation_status_request() const
1718
0
{
1719
0
  assert_choice_type(types::timing_synchronisation_status_request, type_, "InitiatingMessage");
1720
0
  return c.get<timing_synchronisation_status_request_s>();
1721
0
}
1722
const multicast_context_notif_ind_s& f1ap_elem_procs_o::init_msg_c::multicast_context_notif_ind() const
1723
0
{
1724
0
  assert_choice_type(types::multicast_context_notif_ind, type_, "InitiatingMessage");
1725
0
  return c.get<multicast_context_notif_ind_s>();
1726
0
}
1727
const multicast_common_cfg_request_s& f1ap_elem_procs_o::init_msg_c::multicast_common_cfg_request() const
1728
0
{
1729
0
  assert_choice_type(types::multicast_common_cfg_request, type_, "InitiatingMessage");
1730
0
  return c.get<multicast_common_cfg_request_s>();
1731
0
}
1732
const error_ind_s& f1ap_elem_procs_o::init_msg_c::error_ind() const
1733
0
{
1734
0
  assert_choice_type(types::error_ind, type_, "InitiatingMessage");
1735
0
  return c.get<error_ind_s>();
1736
0
}
1737
const ue_context_release_request_s& f1ap_elem_procs_o::init_msg_c::ue_context_release_request() const
1738
0
{
1739
0
  assert_choice_type(types::ue_context_release_request, type_, "InitiatingMessage");
1740
0
  return c.get<ue_context_release_request_s>();
1741
0
}
1742
const dl_rrc_msg_transfer_s& f1ap_elem_procs_o::init_msg_c::dl_rrc_msg_transfer() const
1743
0
{
1744
0
  assert_choice_type(types::dl_rrc_msg_transfer, type_, "InitiatingMessage");
1745
0
  return c.get<dl_rrc_msg_transfer_s>();
1746
0
}
1747
const ul_rrc_msg_transfer_s& f1ap_elem_procs_o::init_msg_c::ul_rrc_msg_transfer() const
1748
0
{
1749
0
  assert_choice_type(types::ul_rrc_msg_transfer, type_, "InitiatingMessage");
1750
0
  return c.get<ul_rrc_msg_transfer_s>();
1751
0
}
1752
const ue_inactivity_notif_s& f1ap_elem_procs_o::init_msg_c::ue_inactivity_notif() const
1753
0
{
1754
0
  assert_choice_type(types::ue_inactivity_notif, type_, "InitiatingMessage");
1755
0
  return c.get<ue_inactivity_notif_s>();
1756
0
}
1757
const private_msg_s& f1ap_elem_procs_o::init_msg_c::private_msg() const
1758
0
{
1759
0
  assert_choice_type(types::private_msg, type_, "InitiatingMessage");
1760
0
  return c.get<private_msg_s>();
1761
0
}
1762
const init_ul_rrc_msg_transfer_s& f1ap_elem_procs_o::init_msg_c::init_ul_rrc_msg_transfer() const
1763
0
{
1764
0
  assert_choice_type(types::init_ul_rrc_msg_transfer, type_, "InitiatingMessage");
1765
0
  return c.get<init_ul_rrc_msg_transfer_s>();
1766
0
}
1767
const sys_info_delivery_cmd_s& f1ap_elem_procs_o::init_msg_c::sys_info_delivery_cmd() const
1768
0
{
1769
0
  assert_choice_type(types::sys_info_delivery_cmd, type_, "InitiatingMessage");
1770
0
  return c.get<sys_info_delivery_cmd_s>();
1771
0
}
1772
const paging_s& f1ap_elem_procs_o::init_msg_c::paging() const
1773
0
{
1774
0
  assert_choice_type(types::paging, type_, "InitiatingMessage");
1775
0
  return c.get<paging_s>();
1776
0
}
1777
const notify_s& f1ap_elem_procs_o::init_msg_c::notify() const
1778
0
{
1779
0
  assert_choice_type(types::notify, type_, "InitiatingMessage");
1780
0
  return c.get<notify_s>();
1781
0
}
1782
const pws_restart_ind_s& f1ap_elem_procs_o::init_msg_c::pws_restart_ind() const
1783
0
{
1784
0
  assert_choice_type(types::pws_restart_ind, type_, "InitiatingMessage");
1785
0
  return c.get<pws_restart_ind_s>();
1786
0
}
1787
const pws_fail_ind_s& f1ap_elem_procs_o::init_msg_c::pws_fail_ind() const
1788
0
{
1789
0
  assert_choice_type(types::pws_fail_ind, type_, "InitiatingMessage");
1790
0
  return c.get<pws_fail_ind_s>();
1791
0
}
1792
const gnb_du_status_ind_s& f1ap_elem_procs_o::init_msg_c::gnb_du_status_ind() const
1793
0
{
1794
0
  assert_choice_type(types::gnb_du_status_ind, type_, "InitiatingMessage");
1795
0
  return c.get<gnb_du_status_ind_s>();
1796
0
}
1797
const rrc_delivery_report_s& f1ap_elem_procs_o::init_msg_c::rrc_delivery_report() const
1798
0
{
1799
0
  assert_choice_type(types::rrc_delivery_report, type_, "InitiatingMessage");
1800
0
  return c.get<rrc_delivery_report_s>();
1801
0
}
1802
const network_access_rate_reduction_s& f1ap_elem_procs_o::init_msg_c::network_access_rate_reduction() const
1803
0
{
1804
0
  assert_choice_type(types::network_access_rate_reduction, type_, "InitiatingMessage");
1805
0
  return c.get<network_access_rate_reduction_s>();
1806
0
}
1807
const trace_start_s& f1ap_elem_procs_o::init_msg_c::trace_start() const
1808
0
{
1809
0
  assert_choice_type(types::trace_start, type_, "InitiatingMessage");
1810
0
  return c.get<trace_start_s>();
1811
0
}
1812
const deactiv_trace_s& f1ap_elem_procs_o::init_msg_c::deactiv_trace() const
1813
0
{
1814
0
  assert_choice_type(types::deactiv_trace, type_, "InitiatingMessage");
1815
0
  return c.get<deactiv_trace_s>();
1816
0
}
1817
const du_cu_radio_info_transfer_s& f1ap_elem_procs_o::init_msg_c::du_cu_radio_info_transfer() const
1818
0
{
1819
0
  assert_choice_type(types::du_cu_radio_info_transfer, type_, "InitiatingMessage");
1820
0
  return c.get<du_cu_radio_info_transfer_s>();
1821
0
}
1822
const cu_du_radio_info_transfer_s& f1ap_elem_procs_o::init_msg_c::cu_du_radio_info_transfer() const
1823
0
{
1824
0
  assert_choice_type(types::cu_du_radio_info_transfer, type_, "InitiatingMessage");
1825
0
  return c.get<cu_du_radio_info_transfer_s>();
1826
0
}
1827
const res_status_upd_s& f1ap_elem_procs_o::init_msg_c::res_status_upd() const
1828
0
{
1829
0
  assert_choice_type(types::res_status_upd, type_, "InitiatingMessage");
1830
0
  return c.get<res_status_upd_s>();
1831
0
}
1832
const access_and_mob_ind_s& f1ap_elem_procs_o::init_msg_c::access_and_mob_ind() const
1833
0
{
1834
0
  assert_choice_type(types::access_and_mob_ind, type_, "InitiatingMessage");
1835
0
  return c.get<access_and_mob_ind_s>();
1836
0
}
1837
const ref_time_info_report_ctrl_s& f1ap_elem_procs_o::init_msg_c::ref_time_info_report_ctrl() const
1838
0
{
1839
0
  assert_choice_type(types::ref_time_info_report_ctrl, type_, "InitiatingMessage");
1840
0
  return c.get<ref_time_info_report_ctrl_s>();
1841
0
}
1842
const ref_time_info_report_s& f1ap_elem_procs_o::init_msg_c::ref_time_info_report() const
1843
0
{
1844
0
  assert_choice_type(types::ref_time_info_report, type_, "InitiatingMessage");
1845
0
  return c.get<ref_time_info_report_s>();
1846
0
}
1847
const access_success_s& f1ap_elem_procs_o::init_msg_c::access_success() const
1848
0
{
1849
0
  assert_choice_type(types::access_success, type_, "InitiatingMessage");
1850
0
  return c.get<access_success_s>();
1851
0
}
1852
const cell_traffic_trace_s& f1ap_elem_procs_o::init_msg_c::cell_traffic_trace() const
1853
0
{
1854
0
  assert_choice_type(types::cell_traffic_trace, type_, "InitiatingMessage");
1855
0
  return c.get<cell_traffic_trace_s>();
1856
0
}
1857
const positioning_assist_info_ctrl_s& f1ap_elem_procs_o::init_msg_c::positioning_assist_info_ctrl() const
1858
0
{
1859
0
  assert_choice_type(types::positioning_assist_info_ctrl, type_, "InitiatingMessage");
1860
0
  return c.get<positioning_assist_info_ctrl_s>();
1861
0
}
1862
const positioning_assist_info_feedback_s& f1ap_elem_procs_o::init_msg_c::positioning_assist_info_feedback() const
1863
0
{
1864
0
  assert_choice_type(types::positioning_assist_info_feedback, type_, "InitiatingMessage");
1865
0
  return c.get<positioning_assist_info_feedback_s>();
1866
0
}
1867
const positioning_meas_report_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_report() const
1868
0
{
1869
0
  assert_choice_type(types::positioning_meas_report, type_, "InitiatingMessage");
1870
0
  return c.get<positioning_meas_report_s>();
1871
0
}
1872
const positioning_meas_abort_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_abort() const
1873
0
{
1874
0
  assert_choice_type(types::positioning_meas_abort, type_, "InitiatingMessage");
1875
0
  return c.get<positioning_meas_abort_s>();
1876
0
}
1877
const positioning_meas_fail_ind_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_fail_ind() const
1878
0
{
1879
0
  assert_choice_type(types::positioning_meas_fail_ind, type_, "InitiatingMessage");
1880
0
  return c.get<positioning_meas_fail_ind_s>();
1881
0
}
1882
const positioning_meas_upd_s& f1ap_elem_procs_o::init_msg_c::positioning_meas_upd() const
1883
0
{
1884
0
  assert_choice_type(types::positioning_meas_upd, type_, "InitiatingMessage");
1885
0
  return c.get<positioning_meas_upd_s>();
1886
0
}
1887
const positioning_deactivation_s& f1ap_elem_procs_o::init_msg_c::positioning_deactivation() const
1888
0
{
1889
0
  assert_choice_type(types::positioning_deactivation, type_, "InitiatingMessage");
1890
0
  return c.get<positioning_deactivation_s>();
1891
0
}
1892
const e_c_id_meas_fail_ind_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_fail_ind() const
1893
0
{
1894
0
  assert_choice_type(types::e_c_id_meas_fail_ind, type_, "InitiatingMessage");
1895
0
  return c.get<e_c_id_meas_fail_ind_s>();
1896
0
}
1897
const e_c_id_meas_report_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_report() const
1898
0
{
1899
0
  assert_choice_type(types::e_c_id_meas_report, type_, "InitiatingMessage");
1900
0
  return c.get<e_c_id_meas_report_s>();
1901
0
}
1902
const e_c_id_meas_termination_cmd_s& f1ap_elem_procs_o::init_msg_c::e_c_id_meas_termination_cmd() const
1903
0
{
1904
0
  assert_choice_type(types::e_c_id_meas_termination_cmd, type_, "InitiatingMessage");
1905
0
  return c.get<e_c_id_meas_termination_cmd_s>();
1906
0
}
1907
const positioning_info_upd_s& f1ap_elem_procs_o::init_msg_c::positioning_info_upd() const
1908
0
{
1909
0
  assert_choice_type(types::positioning_info_upd, type_, "InitiatingMessage");
1910
0
  return c.get<positioning_info_upd_s>();
1911
0
}
1912
const multicast_group_paging_s& f1ap_elem_procs_o::init_msg_c::multicast_group_paging() const
1913
0
{
1914
0
  assert_choice_type(types::multicast_group_paging, type_, "InitiatingMessage");
1915
0
  return c.get<multicast_group_paging_s>();
1916
0
}
1917
const broadcast_context_release_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_context_release_request() const
1918
0
{
1919
0
  assert_choice_type(types::broadcast_context_release_request, type_, "InitiatingMessage");
1920
0
  return c.get<broadcast_context_release_request_s>();
1921
0
}
1922
const multicast_context_release_request_s& f1ap_elem_procs_o::init_msg_c::multicast_context_release_request() const
1923
0
{
1924
0
  assert_choice_type(types::multicast_context_release_request, type_, "InitiatingMessage");
1925
0
  return c.get<multicast_context_release_request_s>();
1926
0
}
1927
const pdc_meas_report_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_report() const
1928
0
{
1929
0
  assert_choice_type(types::pdc_meas_report, type_, "InitiatingMessage");
1930
0
  return c.get<pdc_meas_report_s>();
1931
0
}
1932
const pdc_meas_termination_cmd_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_termination_cmd() const
1933
0
{
1934
0
  assert_choice_type(types::pdc_meas_termination_cmd, type_, "InitiatingMessage");
1935
0
  return c.get<pdc_meas_termination_cmd_s>();
1936
0
}
1937
const pdc_meas_fail_ind_s& f1ap_elem_procs_o::init_msg_c::pdc_meas_fail_ind() const
1938
0
{
1939
0
  assert_choice_type(types::pdc_meas_fail_ind, type_, "InitiatingMessage");
1940
0
  return c.get<pdc_meas_fail_ind_s>();
1941
0
}
1942
const meas_activation_s& f1ap_elem_procs_o::init_msg_c::meas_activation() const
1943
0
{
1944
0
  assert_choice_type(types::meas_activation, type_, "InitiatingMessage");
1945
0
  return c.get<meas_activation_s>();
1946
0
}
1947
const qo_e_info_transfer_s& f1ap_elem_procs_o::init_msg_c::qo_e_info_transfer() const
1948
0
{
1949
0
  assert_choice_type(types::qo_e_info_transfer, type_, "InitiatingMessage");
1950
0
  return c.get<qo_e_info_transfer_s>();
1951
0
}
1952
const pos_sys_info_delivery_cmd_s& f1ap_elem_procs_o::init_msg_c::pos_sys_info_delivery_cmd() const
1953
0
{
1954
0
  assert_choice_type(types::pos_sys_info_delivery_cmd, type_, "InitiatingMessage");
1955
0
  return c.get<pos_sys_info_delivery_cmd_s>();
1956
0
}
1957
const du_cu_cell_switch_notif_s& f1ap_elem_procs_o::init_msg_c::du_cu_cell_switch_notif() const
1958
0
{
1959
0
  assert_choice_type(types::du_cu_cell_switch_notif, type_, "InitiatingMessage");
1960
0
  return c.get<du_cu_cell_switch_notif_s>();
1961
0
}
1962
const cu_du_cell_switch_notif_s& f1ap_elem_procs_o::init_msg_c::cu_du_cell_switch_notif() const
1963
0
{
1964
0
  assert_choice_type(types::cu_du_cell_switch_notif, type_, "InitiatingMessage");
1965
0
  return c.get<cu_du_cell_switch_notif_s>();
1966
0
}
1967
const du_cu_tai_nformation_transfer_s& f1ap_elem_procs_o::init_msg_c::du_cu_tai_nformation_transfer() const
1968
0
{
1969
0
  assert_choice_type(types::du_cu_tai_nformation_transfer, type_, "InitiatingMessage");
1970
0
  return c.get<du_cu_tai_nformation_transfer_s>();
1971
0
}
1972
const cu_du_tai_nformation_transfer_s& f1ap_elem_procs_o::init_msg_c::cu_du_tai_nformation_transfer() const
1973
0
{
1974
0
  assert_choice_type(types::cu_du_tai_nformation_transfer, type_, "InitiatingMessage");
1975
0
  return c.get<cu_du_tai_nformation_transfer_s>();
1976
0
}
1977
const qo_e_info_transfer_ctrl_s& f1ap_elem_procs_o::init_msg_c::qo_e_info_transfer_ctrl() const
1978
0
{
1979
0
  assert_choice_type(types::qo_e_info_transfer_ctrl, type_, "InitiatingMessage");
1980
0
  return c.get<qo_e_info_transfer_ctrl_s>();
1981
0
}
1982
const rach_ind_s& f1ap_elem_procs_o::init_msg_c::rach_ind() const
1983
0
{
1984
0
  assert_choice_type(types::rach_ind, type_, "InitiatingMessage");
1985
0
  return c.get<rach_ind_s>();
1986
0
}
1987
const timing_synchronisation_status_report_s&
1988
f1ap_elem_procs_o::init_msg_c::timing_synchronisation_status_report() const
1989
0
{
1990
0
  assert_choice_type(types::timing_synchronisation_status_report, type_, "InitiatingMessage");
1991
0
  return c.get<timing_synchronisation_status_report_s>();
1992
0
}
1993
const miabf1_setup_trigger_s& f1ap_elem_procs_o::init_msg_c::miabf1_setup_trigger() const
1994
0
{
1995
0
  assert_choice_type(types::miabf1_setup_trigger, type_, "InitiatingMessage");
1996
0
  return c.get<miabf1_setup_trigger_s>();
1997
0
}
1998
const miabf1_setup_outcome_notif_s& f1ap_elem_procs_o::init_msg_c::miabf1_setup_outcome_notif() const
1999
0
{
2000
0
  assert_choice_type(types::miabf1_setup_outcome_notif, type_, "InitiatingMessage");
2001
0
  return c.get<miabf1_setup_outcome_notif_s>();
2002
0
}
2003
const broadcast_transport_res_request_s& f1ap_elem_procs_o::init_msg_c::broadcast_transport_res_request() const
2004
0
{
2005
0
  assert_choice_type(types::broadcast_transport_res_request, type_, "InitiatingMessage");
2006
0
  return c.get<broadcast_transport_res_request_s>();
2007
0
}
2008
const du_cu_access_and_mob_ind_s& f1ap_elem_procs_o::init_msg_c::du_cu_access_and_mob_ind() const
2009
0
{
2010
0
  assert_choice_type(types::du_cu_access_and_mob_ind, type_, "InitiatingMessage");
2011
0
  return c.get<du_cu_access_and_mob_ind_s>();
2012
0
}
2013
const srs_info_reserv_notif_s& f1ap_elem_procs_o::init_msg_c::srs_info_reserv_notif() const
2014
0
{
2015
0
  assert_choice_type(types::srs_info_reserv_notif, type_, "InitiatingMessage");
2016
0
  return c.get<srs_info_reserv_notif_s>();
2017
0
}
2018
const cu_du_mob_initiation_request_s& f1ap_elem_procs_o::init_msg_c::cu_du_mob_initiation_request() const
2019
0
{
2020
0
  assert_choice_type(types::cu_du_mob_initiation_request, type_, "InitiatingMessage");
2021
0
  return c.get<cu_du_mob_initiation_request_s>();
2022
0
}
2023
void f1ap_elem_procs_o::init_msg_c::to_json(json_writer& j) const
2024
0
{
2025
0
  j.start_obj();
2026
0
  switch (type_) {
2027
0
    case types::reset:
2028
0
      j.write_fieldname("Reset");
2029
0
      c.get<reset_s>().to_json(j);
2030
0
      break;
2031
0
    case types::f1_setup_request:
2032
0
      j.write_fieldname("F1SetupRequest");
2033
0
      c.get<f1_setup_request_s>().to_json(j);
2034
0
      break;
2035
0
    case types::gnb_du_cfg_upd:
2036
0
      j.write_fieldname("GNBDUConfigurationUpdate");
2037
0
      c.get<gnb_du_cfg_upd_s>().to_json(j);
2038
0
      break;
2039
0
    case types::gnb_cu_cfg_upd:
2040
0
      j.write_fieldname("GNBCUConfigurationUpdate");
2041
0
      c.get<gnb_cu_cfg_upd_s>().to_json(j);
2042
0
      break;
2043
0
    case types::ue_context_setup_request:
2044
0
      j.write_fieldname("UEContextSetupRequest");
2045
0
      c.get<ue_context_setup_request_s>().to_json(j);
2046
0
      break;
2047
0
    case types::ue_context_release_cmd:
2048
0
      j.write_fieldname("UEContextReleaseCommand");
2049
0
      c.get<ue_context_release_cmd_s>().to_json(j);
2050
0
      break;
2051
0
    case types::ue_context_mod_request:
2052
0
      j.write_fieldname("UEContextModificationRequest");
2053
0
      c.get<ue_context_mod_request_s>().to_json(j);
2054
0
      break;
2055
0
    case types::ue_context_mod_required:
2056
0
      j.write_fieldname("UEContextModificationRequired");
2057
0
      c.get<ue_context_mod_required_s>().to_json(j);
2058
0
      break;
2059
0
    case types::write_replace_warning_request:
2060
0
      j.write_fieldname("WriteReplaceWarningRequest");
2061
0
      c.get<write_replace_warning_request_s>().to_json(j);
2062
0
      break;
2063
0
    case types::pws_cancel_request:
2064
0
      j.write_fieldname("PWSCancelRequest");
2065
0
      c.get<pws_cancel_request_s>().to_json(j);
2066
0
      break;
2067
0
    case types::gnb_du_res_coordination_request:
2068
0
      j.write_fieldname("GNBDUResourceCoordinationRequest");
2069
0
      c.get<gnb_du_res_coordination_request_s>().to_json(j);
2070
0
      break;
2071
0
    case types::f1_removal_request:
2072
0
      j.write_fieldname("F1RemovalRequest");
2073
0
      c.get<f1_removal_request_s>().to_json(j);
2074
0
      break;
2075
0
    case types::bap_map_cfg:
2076
0
      j.write_fieldname("BAPMappingConfiguration");
2077
0
      c.get<bap_map_cfg_s>().to_json(j);
2078
0
      break;
2079
0
    case types::gnb_du_res_cfg:
2080
0
      j.write_fieldname("GNBDUResourceConfiguration");
2081
0
      c.get<gnb_du_res_cfg_s>().to_json(j);
2082
0
      break;
2083
0
    case types::iab_tnl_address_request:
2084
0
      j.write_fieldname("IABTNLAddressRequest");
2085
0
      c.get<iab_tnl_address_request_s>().to_json(j);
2086
0
      break;
2087
0
    case types::iab_up_cfg_upd_request:
2088
0
      j.write_fieldname("IABUPConfigurationUpdateRequest");
2089
0
      c.get<iab_up_cfg_upd_request_s>().to_json(j);
2090
0
      break;
2091
0
    case types::res_status_request:
2092
0
      j.write_fieldname("ResourceStatusRequest");
2093
0
      c.get<res_status_request_s>().to_json(j);
2094
0
      break;
2095
0
    case types::positioning_meas_request:
2096
0
      j.write_fieldname("PositioningMeasurementRequest");
2097
0
      c.get<positioning_meas_request_s>().to_json(j);
2098
0
      break;
2099
0
    case types::trp_info_request:
2100
0
      j.write_fieldname("TRPInformationRequest");
2101
0
      c.get<trp_info_request_s>().to_json(j);
2102
0
      break;
2103
0
    case types::positioning_info_request:
2104
0
      j.write_fieldname("PositioningInformationRequest");
2105
0
      c.get<positioning_info_request_s>().to_json(j);
2106
0
      break;
2107
0
    case types::positioning_activation_request:
2108
0
      j.write_fieldname("PositioningActivationRequest");
2109
0
      c.get<positioning_activation_request_s>().to_json(j);
2110
0
      break;
2111
0
    case types::e_c_id_meas_initiation_request:
2112
0
      j.write_fieldname("E-CIDMeasurementInitiationRequest");
2113
0
      c.get<e_c_id_meas_initiation_request_s>().to_json(j);
2114
0
      break;
2115
0
    case types::broadcast_context_setup_request:
2116
0
      j.write_fieldname("BroadcastContextSetupRequest");
2117
0
      c.get<broadcast_context_setup_request_s>().to_json(j);
2118
0
      break;
2119
0
    case types::broadcast_context_release_cmd:
2120
0
      j.write_fieldname("BroadcastContextReleaseCommand");
2121
0
      c.get<broadcast_context_release_cmd_s>().to_json(j);
2122
0
      break;
2123
0
    case types::broadcast_context_mod_request:
2124
0
      j.write_fieldname("BroadcastContextModificationRequest");
2125
0
      c.get<broadcast_context_mod_request_s>().to_json(j);
2126
0
      break;
2127
0
    case types::multicast_context_setup_request:
2128
0
      j.write_fieldname("MulticastContextSetupRequest");
2129
0
      c.get<multicast_context_setup_request_s>().to_json(j);
2130
0
      break;
2131
0
    case types::multicast_context_release_cmd:
2132
0
      j.write_fieldname("MulticastContextReleaseCommand");
2133
0
      c.get<multicast_context_release_cmd_s>().to_json(j);
2134
0
      break;
2135
0
    case types::multicast_context_mod_request:
2136
0
      j.write_fieldname("MulticastContextModificationRequest");
2137
0
      c.get<multicast_context_mod_request_s>().to_json(j);
2138
0
      break;
2139
0
    case types::multicast_distribution_setup_request:
2140
0
      j.write_fieldname("MulticastDistributionSetupRequest");
2141
0
      c.get<multicast_distribution_setup_request_s>().to_json(j);
2142
0
      break;
2143
0
    case types::multicast_distribution_release_cmd:
2144
0
      j.write_fieldname("MulticastDistributionReleaseCommand");
2145
0
      c.get<multicast_distribution_release_cmd_s>().to_json(j);
2146
0
      break;
2147
0
    case types::pdc_meas_initiation_request:
2148
0
      j.write_fieldname("PDCMeasurementInitiationRequest");
2149
0
      c.get<pdc_meas_initiation_request_s>().to_json(j);
2150
0
      break;
2151
0
    case types::prs_cfg_request:
2152
0
      j.write_fieldname("PRSConfigurationRequest");
2153
0
      c.get<prs_cfg_request_s>().to_json(j);
2154
0
      break;
2155
0
    case types::meas_precfg_required:
2156
0
      j.write_fieldname("MeasurementPreconfigurationRequired");
2157
0
      c.get<meas_precfg_required_s>().to_json(j);
2158
0
      break;
2159
0
    case types::timing_synchronisation_status_request:
2160
0
      j.write_fieldname("TimingSynchronisationStatusRequest");
2161
0
      c.get<timing_synchronisation_status_request_s>().to_json(j);
2162
0
      break;
2163
0
    case types::multicast_context_notif_ind:
2164
0
      j.write_fieldname("MulticastContextNotificationIndication");
2165
0
      c.get<multicast_context_notif_ind_s>().to_json(j);
2166
0
      break;
2167
0
    case types::multicast_common_cfg_request:
2168
0
      j.write_fieldname("MulticastCommonConfigurationRequest");
2169
0
      c.get<multicast_common_cfg_request_s>().to_json(j);
2170
0
      break;
2171
0
    case types::error_ind:
2172
0
      j.write_fieldname("ErrorIndication");
2173
0
      c.get<error_ind_s>().to_json(j);
2174
0
      break;
2175
0
    case types::ue_context_release_request:
2176
0
      j.write_fieldname("UEContextReleaseRequest");
2177
0
      c.get<ue_context_release_request_s>().to_json(j);
2178
0
      break;
2179
0
    case types::dl_rrc_msg_transfer:
2180
0
      j.write_fieldname("DLRRCMessageTransfer");
2181
0
      c.get<dl_rrc_msg_transfer_s>().to_json(j);
2182
0
      break;
2183
0
    case types::ul_rrc_msg_transfer:
2184
0
      j.write_fieldname("ULRRCMessageTransfer");
2185
0
      c.get<ul_rrc_msg_transfer_s>().to_json(j);
2186
0
      break;
2187
0
    case types::ue_inactivity_notif:
2188
0
      j.write_fieldname("UEInactivityNotification");
2189
0
      c.get<ue_inactivity_notif_s>().to_json(j);
2190
0
      break;
2191
0
    case types::private_msg:
2192
0
      j.write_fieldname("PrivateMessage");
2193
0
      c.get<private_msg_s>().to_json(j);
2194
0
      break;
2195
0
    case types::init_ul_rrc_msg_transfer:
2196
0
      j.write_fieldname("InitialULRRCMessageTransfer");
2197
0
      c.get<init_ul_rrc_msg_transfer_s>().to_json(j);
2198
0
      break;
2199
0
    case types::sys_info_delivery_cmd:
2200
0
      j.write_fieldname("SystemInformationDeliveryCommand");
2201
0
      c.get<sys_info_delivery_cmd_s>().to_json(j);
2202
0
      break;
2203
0
    case types::paging:
2204
0
      j.write_fieldname("Paging");
2205
0
      c.get<paging_s>().to_json(j);
2206
0
      break;
2207
0
    case types::notify:
2208
0
      j.write_fieldname("Notify");
2209
0
      c.get<notify_s>().to_json(j);
2210
0
      break;
2211
0
    case types::pws_restart_ind:
2212
0
      j.write_fieldname("PWSRestartIndication");
2213
0
      c.get<pws_restart_ind_s>().to_json(j);
2214
0
      break;
2215
0
    case types::pws_fail_ind:
2216
0
      j.write_fieldname("PWSFailureIndication");
2217
0
      c.get<pws_fail_ind_s>().to_json(j);
2218
0
      break;
2219
0
    case types::gnb_du_status_ind:
2220
0
      j.write_fieldname("GNBDUStatusIndication");
2221
0
      c.get<gnb_du_status_ind_s>().to_json(j);
2222
0
      break;
2223
0
    case types::rrc_delivery_report:
2224
0
      j.write_fieldname("RRCDeliveryReport");
2225
0
      c.get<rrc_delivery_report_s>().to_json(j);
2226
0
      break;
2227
0
    case types::network_access_rate_reduction:
2228
0
      j.write_fieldname("NetworkAccessRateReduction");
2229
0
      c.get<network_access_rate_reduction_s>().to_json(j);
2230
0
      break;
2231
0
    case types::trace_start:
2232
0
      j.write_fieldname("TraceStart");
2233
0
      c.get<trace_start_s>().to_json(j);
2234
0
      break;
2235
0
    case types::deactiv_trace:
2236
0
      j.write_fieldname("DeactivateTrace");
2237
0
      c.get<deactiv_trace_s>().to_json(j);
2238
0
      break;
2239
0
    case types::du_cu_radio_info_transfer:
2240
0
      j.write_fieldname("DUCURadioInformationTransfer");
2241
0
      c.get<du_cu_radio_info_transfer_s>().to_json(j);
2242
0
      break;
2243
0
    case types::cu_du_radio_info_transfer:
2244
0
      j.write_fieldname("CUDURadioInformationTransfer");
2245
0
      c.get<cu_du_radio_info_transfer_s>().to_json(j);
2246
0
      break;
2247
0
    case types::res_status_upd:
2248
0
      j.write_fieldname("ResourceStatusUpdate");
2249
0
      c.get<res_status_upd_s>().to_json(j);
2250
0
      break;
2251
0
    case types::access_and_mob_ind:
2252
0
      j.write_fieldname("AccessAndMobilityIndication");
2253
0
      c.get<access_and_mob_ind_s>().to_json(j);
2254
0
      break;
2255
0
    case types::ref_time_info_report_ctrl:
2256
0
      j.write_fieldname("ReferenceTimeInformationReportingControl");
2257
0
      c.get<ref_time_info_report_ctrl_s>().to_json(j);
2258
0
      break;
2259
0
    case types::ref_time_info_report:
2260
0
      j.write_fieldname("ReferenceTimeInformationReport");
2261
0
      c.get<ref_time_info_report_s>().to_json(j);
2262
0
      break;
2263
0
    case types::access_success:
2264
0
      j.write_fieldname("AccessSuccess");
2265
0
      c.get<access_success_s>().to_json(j);
2266
0
      break;
2267
0
    case types::cell_traffic_trace:
2268
0
      j.write_fieldname("CellTrafficTrace");
2269
0
      c.get<cell_traffic_trace_s>().to_json(j);
2270
0
      break;
2271
0
    case types::positioning_assist_info_ctrl:
2272
0
      j.write_fieldname("PositioningAssistanceInformationControl");
2273
0
      c.get<positioning_assist_info_ctrl_s>().to_json(j);
2274
0
      break;
2275
0
    case types::positioning_assist_info_feedback:
2276
0
      j.write_fieldname("PositioningAssistanceInformationFeedback");
2277
0
      c.get<positioning_assist_info_feedback_s>().to_json(j);
2278
0
      break;
2279
0
    case types::positioning_meas_report:
2280
0
      j.write_fieldname("PositioningMeasurementReport");
2281
0
      c.get<positioning_meas_report_s>().to_json(j);
2282
0
      break;
2283
0
    case types::positioning_meas_abort:
2284
0
      j.write_fieldname("PositioningMeasurementAbort");
2285
0
      c.get<positioning_meas_abort_s>().to_json(j);
2286
0
      break;
2287
0
    case types::positioning_meas_fail_ind:
2288
0
      j.write_fieldname("PositioningMeasurementFailureIndication");
2289
0
      c.get<positioning_meas_fail_ind_s>().to_json(j);
2290
0
      break;
2291
0
    case types::positioning_meas_upd:
2292
0
      j.write_fieldname("PositioningMeasurementUpdate");
2293
0
      c.get<positioning_meas_upd_s>().to_json(j);
2294
0
      break;
2295
0
    case types::positioning_deactivation:
2296
0
      j.write_fieldname("PositioningDeactivation");
2297
0
      c.get<positioning_deactivation_s>().to_json(j);
2298
0
      break;
2299
0
    case types::e_c_id_meas_fail_ind:
2300
0
      j.write_fieldname("E-CIDMeasurementFailureIndication");
2301
0
      c.get<e_c_id_meas_fail_ind_s>().to_json(j);
2302
0
      break;
2303
0
    case types::e_c_id_meas_report:
2304
0
      j.write_fieldname("E-CIDMeasurementReport");
2305
0
      c.get<e_c_id_meas_report_s>().to_json(j);
2306
0
      break;
2307
0
    case types::e_c_id_meas_termination_cmd:
2308
0
      j.write_fieldname("E-CIDMeasurementTerminationCommand");
2309
0
      c.get<e_c_id_meas_termination_cmd_s>().to_json(j);
2310
0
      break;
2311
0
    case types::positioning_info_upd:
2312
0
      j.write_fieldname("PositioningInformationUpdate");
2313
0
      c.get<positioning_info_upd_s>().to_json(j);
2314
0
      break;
2315
0
    case types::multicast_group_paging:
2316
0
      j.write_fieldname("MulticastGroupPaging");
2317
0
      c.get<multicast_group_paging_s>().to_json(j);
2318
0
      break;
2319
0
    case types::broadcast_context_release_request:
2320
0
      j.write_fieldname("BroadcastContextReleaseRequest");
2321
0
      c.get<broadcast_context_release_request_s>().to_json(j);
2322
0
      break;
2323
0
    case types::multicast_context_release_request:
2324
0
      j.write_fieldname("MulticastContextReleaseRequest");
2325
0
      c.get<multicast_context_release_request_s>().to_json(j);
2326
0
      break;
2327
0
    case types::pdc_meas_report:
2328
0
      j.write_fieldname("PDCMeasurementReport");
2329
0
      c.get<pdc_meas_report_s>().to_json(j);
2330
0
      break;
2331
0
    case types::pdc_meas_termination_cmd:
2332
0
      j.write_fieldname("PDCMeasurementTerminationCommand");
2333
0
      c.get<pdc_meas_termination_cmd_s>().to_json(j);
2334
0
      break;
2335
0
    case types::pdc_meas_fail_ind:
2336
0
      j.write_fieldname("PDCMeasurementFailureIndication");
2337
0
      c.get<pdc_meas_fail_ind_s>().to_json(j);
2338
0
      break;
2339
0
    case types::meas_activation:
2340
0
      j.write_fieldname("MeasurementActivation");
2341
0
      c.get<meas_activation_s>().to_json(j);
2342
0
      break;
2343
0
    case types::qo_e_info_transfer:
2344
0
      j.write_fieldname("QoEInformationTransfer");
2345
0
      c.get<qo_e_info_transfer_s>().to_json(j);
2346
0
      break;
2347
0
    case types::pos_sys_info_delivery_cmd:
2348
0
      j.write_fieldname("PosSystemInformationDeliveryCommand");
2349
0
      c.get<pos_sys_info_delivery_cmd_s>().to_json(j);
2350
0
      break;
2351
0
    case types::du_cu_cell_switch_notif:
2352
0
      j.write_fieldname("DUCUCellSwitchNotification");
2353
0
      c.get<du_cu_cell_switch_notif_s>().to_json(j);
2354
0
      break;
2355
0
    case types::cu_du_cell_switch_notif:
2356
0
      j.write_fieldname("CUDUCellSwitchNotification");
2357
0
      c.get<cu_du_cell_switch_notif_s>().to_json(j);
2358
0
      break;
2359
0
    case types::du_cu_tai_nformation_transfer:
2360
0
      j.write_fieldname("DUCUTAInformationTransfer");
2361
0
      c.get<du_cu_tai_nformation_transfer_s>().to_json(j);
2362
0
      break;
2363
0
    case types::cu_du_tai_nformation_transfer:
2364
0
      j.write_fieldname("CUDUTAInformationTransfer");
2365
0
      c.get<cu_du_tai_nformation_transfer_s>().to_json(j);
2366
0
      break;
2367
0
    case types::qo_e_info_transfer_ctrl:
2368
0
      j.write_fieldname("QoEInformationTransferControl");
2369
0
      c.get<qo_e_info_transfer_ctrl_s>().to_json(j);
2370
0
      break;
2371
0
    case types::rach_ind:
2372
0
      j.write_fieldname("RachIndication");
2373
0
      c.get<rach_ind_s>().to_json(j);
2374
0
      break;
2375
0
    case types::timing_synchronisation_status_report:
2376
0
      j.write_fieldname("TimingSynchronisationStatusReport");
2377
0
      c.get<timing_synchronisation_status_report_s>().to_json(j);
2378
0
      break;
2379
0
    case types::miabf1_setup_trigger:
2380
0
      j.write_fieldname("MIABF1SetupTriggering");
2381
0
      c.get<miabf1_setup_trigger_s>().to_json(j);
2382
0
      break;
2383
0
    case types::miabf1_setup_outcome_notif:
2384
0
      j.write_fieldname("MIABF1SetupOutcomeNotification");
2385
0
      c.get<miabf1_setup_outcome_notif_s>().to_json(j);
2386
0
      break;
2387
0
    case types::broadcast_transport_res_request:
2388
0
      j.write_fieldname("BroadcastTransportResourceRequest");
2389
0
      c.get<broadcast_transport_res_request_s>().to_json(j);
2390
0
      break;
2391
0
    case types::du_cu_access_and_mob_ind:
2392
0
      j.write_fieldname("DUCUAccessAndMobilityIndication");
2393
0
      c.get<du_cu_access_and_mob_ind_s>().to_json(j);
2394
0
      break;
2395
0
    case types::srs_info_reserv_notif:
2396
0
      j.write_fieldname("SRSInformationReservationNotification");
2397
0
      c.get<srs_info_reserv_notif_s>().to_json(j);
2398
0
      break;
2399
0
    case types::cu_du_mob_initiation_request:
2400
0
      j.write_fieldname("CUDUMobilityInitiationRequest");
2401
0
      c.get<cu_du_mob_initiation_request_s>().to_json(j);
2402
0
      break;
2403
0
    default:
2404
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::init_msg_c");
2405
0
  }
2406
0
  j.end_obj();
2407
0
}
2408
OCUDUASN_CODE f1ap_elem_procs_o::init_msg_c::pack(bit_ref& bref) const
2409
0
{
2410
0
  varlength_field_pack_guard varlen_scope(bref, true);
2411
0
  switch (type_) {
2412
0
    case types::reset:
2413
0
      HANDLE_CODE(c.get<reset_s>().pack(bref));
2414
0
      break;
2415
0
    case types::f1_setup_request:
2416
0
      HANDLE_CODE(c.get<f1_setup_request_s>().pack(bref));
2417
0
      break;
2418
0
    case types::gnb_du_cfg_upd:
2419
0
      HANDLE_CODE(c.get<gnb_du_cfg_upd_s>().pack(bref));
2420
0
      break;
2421
0
    case types::gnb_cu_cfg_upd:
2422
0
      HANDLE_CODE(c.get<gnb_cu_cfg_upd_s>().pack(bref));
2423
0
      break;
2424
0
    case types::ue_context_setup_request:
2425
0
      HANDLE_CODE(c.get<ue_context_setup_request_s>().pack(bref));
2426
0
      break;
2427
0
    case types::ue_context_release_cmd:
2428
0
      HANDLE_CODE(c.get<ue_context_release_cmd_s>().pack(bref));
2429
0
      break;
2430
0
    case types::ue_context_mod_request:
2431
0
      HANDLE_CODE(c.get<ue_context_mod_request_s>().pack(bref));
2432
0
      break;
2433
0
    case types::ue_context_mod_required:
2434
0
      HANDLE_CODE(c.get<ue_context_mod_required_s>().pack(bref));
2435
0
      break;
2436
0
    case types::write_replace_warning_request:
2437
0
      HANDLE_CODE(c.get<write_replace_warning_request_s>().pack(bref));
2438
0
      break;
2439
0
    case types::pws_cancel_request:
2440
0
      HANDLE_CODE(c.get<pws_cancel_request_s>().pack(bref));
2441
0
      break;
2442
0
    case types::gnb_du_res_coordination_request:
2443
0
      HANDLE_CODE(c.get<gnb_du_res_coordination_request_s>().pack(bref));
2444
0
      break;
2445
0
    case types::f1_removal_request:
2446
0
      HANDLE_CODE(c.get<f1_removal_request_s>().pack(bref));
2447
0
      break;
2448
0
    case types::bap_map_cfg:
2449
0
      HANDLE_CODE(c.get<bap_map_cfg_s>().pack(bref));
2450
0
      break;
2451
0
    case types::gnb_du_res_cfg:
2452
0
      HANDLE_CODE(c.get<gnb_du_res_cfg_s>().pack(bref));
2453
0
      break;
2454
0
    case types::iab_tnl_address_request:
2455
0
      HANDLE_CODE(c.get<iab_tnl_address_request_s>().pack(bref));
2456
0
      break;
2457
0
    case types::iab_up_cfg_upd_request:
2458
0
      HANDLE_CODE(c.get<iab_up_cfg_upd_request_s>().pack(bref));
2459
0
      break;
2460
0
    case types::res_status_request:
2461
0
      HANDLE_CODE(c.get<res_status_request_s>().pack(bref));
2462
0
      break;
2463
0
    case types::positioning_meas_request:
2464
0
      HANDLE_CODE(c.get<positioning_meas_request_s>().pack(bref));
2465
0
      break;
2466
0
    case types::trp_info_request:
2467
0
      HANDLE_CODE(c.get<trp_info_request_s>().pack(bref));
2468
0
      break;
2469
0
    case types::positioning_info_request:
2470
0
      HANDLE_CODE(c.get<positioning_info_request_s>().pack(bref));
2471
0
      break;
2472
0
    case types::positioning_activation_request:
2473
0
      HANDLE_CODE(c.get<positioning_activation_request_s>().pack(bref));
2474
0
      break;
2475
0
    case types::e_c_id_meas_initiation_request:
2476
0
      HANDLE_CODE(c.get<e_c_id_meas_initiation_request_s>().pack(bref));
2477
0
      break;
2478
0
    case types::broadcast_context_setup_request:
2479
0
      HANDLE_CODE(c.get<broadcast_context_setup_request_s>().pack(bref));
2480
0
      break;
2481
0
    case types::broadcast_context_release_cmd:
2482
0
      HANDLE_CODE(c.get<broadcast_context_release_cmd_s>().pack(bref));
2483
0
      break;
2484
0
    case types::broadcast_context_mod_request:
2485
0
      HANDLE_CODE(c.get<broadcast_context_mod_request_s>().pack(bref));
2486
0
      break;
2487
0
    case types::multicast_context_setup_request:
2488
0
      HANDLE_CODE(c.get<multicast_context_setup_request_s>().pack(bref));
2489
0
      break;
2490
0
    case types::multicast_context_release_cmd:
2491
0
      HANDLE_CODE(c.get<multicast_context_release_cmd_s>().pack(bref));
2492
0
      break;
2493
0
    case types::multicast_context_mod_request:
2494
0
      HANDLE_CODE(c.get<multicast_context_mod_request_s>().pack(bref));
2495
0
      break;
2496
0
    case types::multicast_distribution_setup_request:
2497
0
      HANDLE_CODE(c.get<multicast_distribution_setup_request_s>().pack(bref));
2498
0
      break;
2499
0
    case types::multicast_distribution_release_cmd:
2500
0
      HANDLE_CODE(c.get<multicast_distribution_release_cmd_s>().pack(bref));
2501
0
      break;
2502
0
    case types::pdc_meas_initiation_request:
2503
0
      HANDLE_CODE(c.get<pdc_meas_initiation_request_s>().pack(bref));
2504
0
      break;
2505
0
    case types::prs_cfg_request:
2506
0
      HANDLE_CODE(c.get<prs_cfg_request_s>().pack(bref));
2507
0
      break;
2508
0
    case types::meas_precfg_required:
2509
0
      HANDLE_CODE(c.get<meas_precfg_required_s>().pack(bref));
2510
0
      break;
2511
0
    case types::timing_synchronisation_status_request:
2512
0
      HANDLE_CODE(c.get<timing_synchronisation_status_request_s>().pack(bref));
2513
0
      break;
2514
0
    case types::multicast_context_notif_ind:
2515
0
      HANDLE_CODE(c.get<multicast_context_notif_ind_s>().pack(bref));
2516
0
      break;
2517
0
    case types::multicast_common_cfg_request:
2518
0
      HANDLE_CODE(c.get<multicast_common_cfg_request_s>().pack(bref));
2519
0
      break;
2520
0
    case types::error_ind:
2521
0
      HANDLE_CODE(c.get<error_ind_s>().pack(bref));
2522
0
      break;
2523
0
    case types::ue_context_release_request:
2524
0
      HANDLE_CODE(c.get<ue_context_release_request_s>().pack(bref));
2525
0
      break;
2526
0
    case types::dl_rrc_msg_transfer:
2527
0
      HANDLE_CODE(c.get<dl_rrc_msg_transfer_s>().pack(bref));
2528
0
      break;
2529
0
    case types::ul_rrc_msg_transfer:
2530
0
      HANDLE_CODE(c.get<ul_rrc_msg_transfer_s>().pack(bref));
2531
0
      break;
2532
0
    case types::ue_inactivity_notif:
2533
0
      HANDLE_CODE(c.get<ue_inactivity_notif_s>().pack(bref));
2534
0
      break;
2535
0
    case types::private_msg:
2536
0
      HANDLE_CODE(c.get<private_msg_s>().pack(bref));
2537
0
      break;
2538
0
    case types::init_ul_rrc_msg_transfer:
2539
0
      HANDLE_CODE(c.get<init_ul_rrc_msg_transfer_s>().pack(bref));
2540
0
      break;
2541
0
    case types::sys_info_delivery_cmd:
2542
0
      HANDLE_CODE(c.get<sys_info_delivery_cmd_s>().pack(bref));
2543
0
      break;
2544
0
    case types::paging:
2545
0
      HANDLE_CODE(c.get<paging_s>().pack(bref));
2546
0
      break;
2547
0
    case types::notify:
2548
0
      HANDLE_CODE(c.get<notify_s>().pack(bref));
2549
0
      break;
2550
0
    case types::pws_restart_ind:
2551
0
      HANDLE_CODE(c.get<pws_restart_ind_s>().pack(bref));
2552
0
      break;
2553
0
    case types::pws_fail_ind:
2554
0
      HANDLE_CODE(c.get<pws_fail_ind_s>().pack(bref));
2555
0
      break;
2556
0
    case types::gnb_du_status_ind:
2557
0
      HANDLE_CODE(c.get<gnb_du_status_ind_s>().pack(bref));
2558
0
      break;
2559
0
    case types::rrc_delivery_report:
2560
0
      HANDLE_CODE(c.get<rrc_delivery_report_s>().pack(bref));
2561
0
      break;
2562
0
    case types::network_access_rate_reduction:
2563
0
      HANDLE_CODE(c.get<network_access_rate_reduction_s>().pack(bref));
2564
0
      break;
2565
0
    case types::trace_start:
2566
0
      HANDLE_CODE(c.get<trace_start_s>().pack(bref));
2567
0
      break;
2568
0
    case types::deactiv_trace:
2569
0
      HANDLE_CODE(c.get<deactiv_trace_s>().pack(bref));
2570
0
      break;
2571
0
    case types::du_cu_radio_info_transfer:
2572
0
      HANDLE_CODE(c.get<du_cu_radio_info_transfer_s>().pack(bref));
2573
0
      break;
2574
0
    case types::cu_du_radio_info_transfer:
2575
0
      HANDLE_CODE(c.get<cu_du_radio_info_transfer_s>().pack(bref));
2576
0
      break;
2577
0
    case types::res_status_upd:
2578
0
      HANDLE_CODE(c.get<res_status_upd_s>().pack(bref));
2579
0
      break;
2580
0
    case types::access_and_mob_ind:
2581
0
      HANDLE_CODE(c.get<access_and_mob_ind_s>().pack(bref));
2582
0
      break;
2583
0
    case types::ref_time_info_report_ctrl:
2584
0
      HANDLE_CODE(c.get<ref_time_info_report_ctrl_s>().pack(bref));
2585
0
      break;
2586
0
    case types::ref_time_info_report:
2587
0
      HANDLE_CODE(c.get<ref_time_info_report_s>().pack(bref));
2588
0
      break;
2589
0
    case types::access_success:
2590
0
      HANDLE_CODE(c.get<access_success_s>().pack(bref));
2591
0
      break;
2592
0
    case types::cell_traffic_trace:
2593
0
      HANDLE_CODE(c.get<cell_traffic_trace_s>().pack(bref));
2594
0
      break;
2595
0
    case types::positioning_assist_info_ctrl:
2596
0
      HANDLE_CODE(c.get<positioning_assist_info_ctrl_s>().pack(bref));
2597
0
      break;
2598
0
    case types::positioning_assist_info_feedback:
2599
0
      HANDLE_CODE(c.get<positioning_assist_info_feedback_s>().pack(bref));
2600
0
      break;
2601
0
    case types::positioning_meas_report:
2602
0
      HANDLE_CODE(c.get<positioning_meas_report_s>().pack(bref));
2603
0
      break;
2604
0
    case types::positioning_meas_abort:
2605
0
      HANDLE_CODE(c.get<positioning_meas_abort_s>().pack(bref));
2606
0
      break;
2607
0
    case types::positioning_meas_fail_ind:
2608
0
      HANDLE_CODE(c.get<positioning_meas_fail_ind_s>().pack(bref));
2609
0
      break;
2610
0
    case types::positioning_meas_upd:
2611
0
      HANDLE_CODE(c.get<positioning_meas_upd_s>().pack(bref));
2612
0
      break;
2613
0
    case types::positioning_deactivation:
2614
0
      HANDLE_CODE(c.get<positioning_deactivation_s>().pack(bref));
2615
0
      break;
2616
0
    case types::e_c_id_meas_fail_ind:
2617
0
      HANDLE_CODE(c.get<e_c_id_meas_fail_ind_s>().pack(bref));
2618
0
      break;
2619
0
    case types::e_c_id_meas_report:
2620
0
      HANDLE_CODE(c.get<e_c_id_meas_report_s>().pack(bref));
2621
0
      break;
2622
0
    case types::e_c_id_meas_termination_cmd:
2623
0
      HANDLE_CODE(c.get<e_c_id_meas_termination_cmd_s>().pack(bref));
2624
0
      break;
2625
0
    case types::positioning_info_upd:
2626
0
      HANDLE_CODE(c.get<positioning_info_upd_s>().pack(bref));
2627
0
      break;
2628
0
    case types::multicast_group_paging:
2629
0
      HANDLE_CODE(c.get<multicast_group_paging_s>().pack(bref));
2630
0
      break;
2631
0
    case types::broadcast_context_release_request:
2632
0
      HANDLE_CODE(c.get<broadcast_context_release_request_s>().pack(bref));
2633
0
      break;
2634
0
    case types::multicast_context_release_request:
2635
0
      HANDLE_CODE(c.get<multicast_context_release_request_s>().pack(bref));
2636
0
      break;
2637
0
    case types::pdc_meas_report:
2638
0
      HANDLE_CODE(c.get<pdc_meas_report_s>().pack(bref));
2639
0
      break;
2640
0
    case types::pdc_meas_termination_cmd:
2641
0
      HANDLE_CODE(c.get<pdc_meas_termination_cmd_s>().pack(bref));
2642
0
      break;
2643
0
    case types::pdc_meas_fail_ind:
2644
0
      HANDLE_CODE(c.get<pdc_meas_fail_ind_s>().pack(bref));
2645
0
      break;
2646
0
    case types::meas_activation:
2647
0
      HANDLE_CODE(c.get<meas_activation_s>().pack(bref));
2648
0
      break;
2649
0
    case types::qo_e_info_transfer:
2650
0
      HANDLE_CODE(c.get<qo_e_info_transfer_s>().pack(bref));
2651
0
      break;
2652
0
    case types::pos_sys_info_delivery_cmd:
2653
0
      HANDLE_CODE(c.get<pos_sys_info_delivery_cmd_s>().pack(bref));
2654
0
      break;
2655
0
    case types::du_cu_cell_switch_notif:
2656
0
      HANDLE_CODE(c.get<du_cu_cell_switch_notif_s>().pack(bref));
2657
0
      break;
2658
0
    case types::cu_du_cell_switch_notif:
2659
0
      HANDLE_CODE(c.get<cu_du_cell_switch_notif_s>().pack(bref));
2660
0
      break;
2661
0
    case types::du_cu_tai_nformation_transfer:
2662
0
      HANDLE_CODE(c.get<du_cu_tai_nformation_transfer_s>().pack(bref));
2663
0
      break;
2664
0
    case types::cu_du_tai_nformation_transfer:
2665
0
      HANDLE_CODE(c.get<cu_du_tai_nformation_transfer_s>().pack(bref));
2666
0
      break;
2667
0
    case types::qo_e_info_transfer_ctrl:
2668
0
      HANDLE_CODE(c.get<qo_e_info_transfer_ctrl_s>().pack(bref));
2669
0
      break;
2670
0
    case types::rach_ind:
2671
0
      HANDLE_CODE(c.get<rach_ind_s>().pack(bref));
2672
0
      break;
2673
0
    case types::timing_synchronisation_status_report:
2674
0
      HANDLE_CODE(c.get<timing_synchronisation_status_report_s>().pack(bref));
2675
0
      break;
2676
0
    case types::miabf1_setup_trigger:
2677
0
      HANDLE_CODE(c.get<miabf1_setup_trigger_s>().pack(bref));
2678
0
      break;
2679
0
    case types::miabf1_setup_outcome_notif:
2680
0
      HANDLE_CODE(c.get<miabf1_setup_outcome_notif_s>().pack(bref));
2681
0
      break;
2682
0
    case types::broadcast_transport_res_request:
2683
0
      HANDLE_CODE(c.get<broadcast_transport_res_request_s>().pack(bref));
2684
0
      break;
2685
0
    case types::du_cu_access_and_mob_ind:
2686
0
      HANDLE_CODE(c.get<du_cu_access_and_mob_ind_s>().pack(bref));
2687
0
      break;
2688
0
    case types::srs_info_reserv_notif:
2689
0
      HANDLE_CODE(c.get<srs_info_reserv_notif_s>().pack(bref));
2690
0
      break;
2691
0
    case types::cu_du_mob_initiation_request:
2692
0
      HANDLE_CODE(c.get<cu_du_mob_initiation_request_s>().pack(bref));
2693
0
      break;
2694
0
    default:
2695
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::init_msg_c");
2696
0
      return OCUDUASN_ERROR_ENCODE_FAIL;
2697
0
  }
2698
0
  return OCUDUASN_SUCCESS;
2699
0
}
2700
OCUDUASN_CODE f1ap_elem_procs_o::init_msg_c::unpack(cbit_ref& bref)
2701
0
{
2702
0
  varlength_field_unpack_guard varlen_scope(bref, true);
2703
0
  switch (type_) {
2704
0
    case types::reset:
2705
0
      HANDLE_CODE(c.get<reset_s>().unpack(bref));
2706
0
      break;
2707
0
    case types::f1_setup_request:
2708
0
      HANDLE_CODE(c.get<f1_setup_request_s>().unpack(bref));
2709
0
      break;
2710
0
    case types::gnb_du_cfg_upd:
2711
0
      HANDLE_CODE(c.get<gnb_du_cfg_upd_s>().unpack(bref));
2712
0
      break;
2713
0
    case types::gnb_cu_cfg_upd:
2714
0
      HANDLE_CODE(c.get<gnb_cu_cfg_upd_s>().unpack(bref));
2715
0
      break;
2716
0
    case types::ue_context_setup_request:
2717
0
      HANDLE_CODE(c.get<ue_context_setup_request_s>().unpack(bref));
2718
0
      break;
2719
0
    case types::ue_context_release_cmd:
2720
0
      HANDLE_CODE(c.get<ue_context_release_cmd_s>().unpack(bref));
2721
0
      break;
2722
0
    case types::ue_context_mod_request:
2723
0
      HANDLE_CODE(c.get<ue_context_mod_request_s>().unpack(bref));
2724
0
      break;
2725
0
    case types::ue_context_mod_required:
2726
0
      HANDLE_CODE(c.get<ue_context_mod_required_s>().unpack(bref));
2727
0
      break;
2728
0
    case types::write_replace_warning_request:
2729
0
      HANDLE_CODE(c.get<write_replace_warning_request_s>().unpack(bref));
2730
0
      break;
2731
0
    case types::pws_cancel_request:
2732
0
      HANDLE_CODE(c.get<pws_cancel_request_s>().unpack(bref));
2733
0
      break;
2734
0
    case types::gnb_du_res_coordination_request:
2735
0
      HANDLE_CODE(c.get<gnb_du_res_coordination_request_s>().unpack(bref));
2736
0
      break;
2737
0
    case types::f1_removal_request:
2738
0
      HANDLE_CODE(c.get<f1_removal_request_s>().unpack(bref));
2739
0
      break;
2740
0
    case types::bap_map_cfg:
2741
0
      HANDLE_CODE(c.get<bap_map_cfg_s>().unpack(bref));
2742
0
      break;
2743
0
    case types::gnb_du_res_cfg:
2744
0
      HANDLE_CODE(c.get<gnb_du_res_cfg_s>().unpack(bref));
2745
0
      break;
2746
0
    case types::iab_tnl_address_request:
2747
0
      HANDLE_CODE(c.get<iab_tnl_address_request_s>().unpack(bref));
2748
0
      break;
2749
0
    case types::iab_up_cfg_upd_request:
2750
0
      HANDLE_CODE(c.get<iab_up_cfg_upd_request_s>().unpack(bref));
2751
0
      break;
2752
0
    case types::res_status_request:
2753
0
      HANDLE_CODE(c.get<res_status_request_s>().unpack(bref));
2754
0
      break;
2755
0
    case types::positioning_meas_request:
2756
0
      HANDLE_CODE(c.get<positioning_meas_request_s>().unpack(bref));
2757
0
      break;
2758
0
    case types::trp_info_request:
2759
0
      HANDLE_CODE(c.get<trp_info_request_s>().unpack(bref));
2760
0
      break;
2761
0
    case types::positioning_info_request:
2762
0
      HANDLE_CODE(c.get<positioning_info_request_s>().unpack(bref));
2763
0
      break;
2764
0
    case types::positioning_activation_request:
2765
0
      HANDLE_CODE(c.get<positioning_activation_request_s>().unpack(bref));
2766
0
      break;
2767
0
    case types::e_c_id_meas_initiation_request:
2768
0
      HANDLE_CODE(c.get<e_c_id_meas_initiation_request_s>().unpack(bref));
2769
0
      break;
2770
0
    case types::broadcast_context_setup_request:
2771
0
      HANDLE_CODE(c.get<broadcast_context_setup_request_s>().unpack(bref));
2772
0
      break;
2773
0
    case types::broadcast_context_release_cmd:
2774
0
      HANDLE_CODE(c.get<broadcast_context_release_cmd_s>().unpack(bref));
2775
0
      break;
2776
0
    case types::broadcast_context_mod_request:
2777
0
      HANDLE_CODE(c.get<broadcast_context_mod_request_s>().unpack(bref));
2778
0
      break;
2779
0
    case types::multicast_context_setup_request:
2780
0
      HANDLE_CODE(c.get<multicast_context_setup_request_s>().unpack(bref));
2781
0
      break;
2782
0
    case types::multicast_context_release_cmd:
2783
0
      HANDLE_CODE(c.get<multicast_context_release_cmd_s>().unpack(bref));
2784
0
      break;
2785
0
    case types::multicast_context_mod_request:
2786
0
      HANDLE_CODE(c.get<multicast_context_mod_request_s>().unpack(bref));
2787
0
      break;
2788
0
    case types::multicast_distribution_setup_request:
2789
0
      HANDLE_CODE(c.get<multicast_distribution_setup_request_s>().unpack(bref));
2790
0
      break;
2791
0
    case types::multicast_distribution_release_cmd:
2792
0
      HANDLE_CODE(c.get<multicast_distribution_release_cmd_s>().unpack(bref));
2793
0
      break;
2794
0
    case types::pdc_meas_initiation_request:
2795
0
      HANDLE_CODE(c.get<pdc_meas_initiation_request_s>().unpack(bref));
2796
0
      break;
2797
0
    case types::prs_cfg_request:
2798
0
      HANDLE_CODE(c.get<prs_cfg_request_s>().unpack(bref));
2799
0
      break;
2800
0
    case types::meas_precfg_required:
2801
0
      HANDLE_CODE(c.get<meas_precfg_required_s>().unpack(bref));
2802
0
      break;
2803
0
    case types::timing_synchronisation_status_request:
2804
0
      HANDLE_CODE(c.get<timing_synchronisation_status_request_s>().unpack(bref));
2805
0
      break;
2806
0
    case types::multicast_context_notif_ind:
2807
0
      HANDLE_CODE(c.get<multicast_context_notif_ind_s>().unpack(bref));
2808
0
      break;
2809
0
    case types::multicast_common_cfg_request:
2810
0
      HANDLE_CODE(c.get<multicast_common_cfg_request_s>().unpack(bref));
2811
0
      break;
2812
0
    case types::error_ind:
2813
0
      HANDLE_CODE(c.get<error_ind_s>().unpack(bref));
2814
0
      break;
2815
0
    case types::ue_context_release_request:
2816
0
      HANDLE_CODE(c.get<ue_context_release_request_s>().unpack(bref));
2817
0
      break;
2818
0
    case types::dl_rrc_msg_transfer:
2819
0
      HANDLE_CODE(c.get<dl_rrc_msg_transfer_s>().unpack(bref));
2820
0
      break;
2821
0
    case types::ul_rrc_msg_transfer:
2822
0
      HANDLE_CODE(c.get<ul_rrc_msg_transfer_s>().unpack(bref));
2823
0
      break;
2824
0
    case types::ue_inactivity_notif:
2825
0
      HANDLE_CODE(c.get<ue_inactivity_notif_s>().unpack(bref));
2826
0
      break;
2827
0
    case types::private_msg:
2828
0
      HANDLE_CODE(c.get<private_msg_s>().unpack(bref));
2829
0
      break;
2830
0
    case types::init_ul_rrc_msg_transfer:
2831
0
      HANDLE_CODE(c.get<init_ul_rrc_msg_transfer_s>().unpack(bref));
2832
0
      break;
2833
0
    case types::sys_info_delivery_cmd:
2834
0
      HANDLE_CODE(c.get<sys_info_delivery_cmd_s>().unpack(bref));
2835
0
      break;
2836
0
    case types::paging:
2837
0
      HANDLE_CODE(c.get<paging_s>().unpack(bref));
2838
0
      break;
2839
0
    case types::notify:
2840
0
      HANDLE_CODE(c.get<notify_s>().unpack(bref));
2841
0
      break;
2842
0
    case types::pws_restart_ind:
2843
0
      HANDLE_CODE(c.get<pws_restart_ind_s>().unpack(bref));
2844
0
      break;
2845
0
    case types::pws_fail_ind:
2846
0
      HANDLE_CODE(c.get<pws_fail_ind_s>().unpack(bref));
2847
0
      break;
2848
0
    case types::gnb_du_status_ind:
2849
0
      HANDLE_CODE(c.get<gnb_du_status_ind_s>().unpack(bref));
2850
0
      break;
2851
0
    case types::rrc_delivery_report:
2852
0
      HANDLE_CODE(c.get<rrc_delivery_report_s>().unpack(bref));
2853
0
      break;
2854
0
    case types::network_access_rate_reduction:
2855
0
      HANDLE_CODE(c.get<network_access_rate_reduction_s>().unpack(bref));
2856
0
      break;
2857
0
    case types::trace_start:
2858
0
      HANDLE_CODE(c.get<trace_start_s>().unpack(bref));
2859
0
      break;
2860
0
    case types::deactiv_trace:
2861
0
      HANDLE_CODE(c.get<deactiv_trace_s>().unpack(bref));
2862
0
      break;
2863
0
    case types::du_cu_radio_info_transfer:
2864
0
      HANDLE_CODE(c.get<du_cu_radio_info_transfer_s>().unpack(bref));
2865
0
      break;
2866
0
    case types::cu_du_radio_info_transfer:
2867
0
      HANDLE_CODE(c.get<cu_du_radio_info_transfer_s>().unpack(bref));
2868
0
      break;
2869
0
    case types::res_status_upd:
2870
0
      HANDLE_CODE(c.get<res_status_upd_s>().unpack(bref));
2871
0
      break;
2872
0
    case types::access_and_mob_ind:
2873
0
      HANDLE_CODE(c.get<access_and_mob_ind_s>().unpack(bref));
2874
0
      break;
2875
0
    case types::ref_time_info_report_ctrl:
2876
0
      HANDLE_CODE(c.get<ref_time_info_report_ctrl_s>().unpack(bref));
2877
0
      break;
2878
0
    case types::ref_time_info_report:
2879
0
      HANDLE_CODE(c.get<ref_time_info_report_s>().unpack(bref));
2880
0
      break;
2881
0
    case types::access_success:
2882
0
      HANDLE_CODE(c.get<access_success_s>().unpack(bref));
2883
0
      break;
2884
0
    case types::cell_traffic_trace:
2885
0
      HANDLE_CODE(c.get<cell_traffic_trace_s>().unpack(bref));
2886
0
      break;
2887
0
    case types::positioning_assist_info_ctrl:
2888
0
      HANDLE_CODE(c.get<positioning_assist_info_ctrl_s>().unpack(bref));
2889
0
      break;
2890
0
    case types::positioning_assist_info_feedback:
2891
0
      HANDLE_CODE(c.get<positioning_assist_info_feedback_s>().unpack(bref));
2892
0
      break;
2893
0
    case types::positioning_meas_report:
2894
0
      HANDLE_CODE(c.get<positioning_meas_report_s>().unpack(bref));
2895
0
      break;
2896
0
    case types::positioning_meas_abort:
2897
0
      HANDLE_CODE(c.get<positioning_meas_abort_s>().unpack(bref));
2898
0
      break;
2899
0
    case types::positioning_meas_fail_ind:
2900
0
      HANDLE_CODE(c.get<positioning_meas_fail_ind_s>().unpack(bref));
2901
0
      break;
2902
0
    case types::positioning_meas_upd:
2903
0
      HANDLE_CODE(c.get<positioning_meas_upd_s>().unpack(bref));
2904
0
      break;
2905
0
    case types::positioning_deactivation:
2906
0
      HANDLE_CODE(c.get<positioning_deactivation_s>().unpack(bref));
2907
0
      break;
2908
0
    case types::e_c_id_meas_fail_ind:
2909
0
      HANDLE_CODE(c.get<e_c_id_meas_fail_ind_s>().unpack(bref));
2910
0
      break;
2911
0
    case types::e_c_id_meas_report:
2912
0
      HANDLE_CODE(c.get<e_c_id_meas_report_s>().unpack(bref));
2913
0
      break;
2914
0
    case types::e_c_id_meas_termination_cmd:
2915
0
      HANDLE_CODE(c.get<e_c_id_meas_termination_cmd_s>().unpack(bref));
2916
0
      break;
2917
0
    case types::positioning_info_upd:
2918
0
      HANDLE_CODE(c.get<positioning_info_upd_s>().unpack(bref));
2919
0
      break;
2920
0
    case types::multicast_group_paging:
2921
0
      HANDLE_CODE(c.get<multicast_group_paging_s>().unpack(bref));
2922
0
      break;
2923
0
    case types::broadcast_context_release_request:
2924
0
      HANDLE_CODE(c.get<broadcast_context_release_request_s>().unpack(bref));
2925
0
      break;
2926
0
    case types::multicast_context_release_request:
2927
0
      HANDLE_CODE(c.get<multicast_context_release_request_s>().unpack(bref));
2928
0
      break;
2929
0
    case types::pdc_meas_report:
2930
0
      HANDLE_CODE(c.get<pdc_meas_report_s>().unpack(bref));
2931
0
      break;
2932
0
    case types::pdc_meas_termination_cmd:
2933
0
      HANDLE_CODE(c.get<pdc_meas_termination_cmd_s>().unpack(bref));
2934
0
      break;
2935
0
    case types::pdc_meas_fail_ind:
2936
0
      HANDLE_CODE(c.get<pdc_meas_fail_ind_s>().unpack(bref));
2937
0
      break;
2938
0
    case types::meas_activation:
2939
0
      HANDLE_CODE(c.get<meas_activation_s>().unpack(bref));
2940
0
      break;
2941
0
    case types::qo_e_info_transfer:
2942
0
      HANDLE_CODE(c.get<qo_e_info_transfer_s>().unpack(bref));
2943
0
      break;
2944
0
    case types::pos_sys_info_delivery_cmd:
2945
0
      HANDLE_CODE(c.get<pos_sys_info_delivery_cmd_s>().unpack(bref));
2946
0
      break;
2947
0
    case types::du_cu_cell_switch_notif:
2948
0
      HANDLE_CODE(c.get<du_cu_cell_switch_notif_s>().unpack(bref));
2949
0
      break;
2950
0
    case types::cu_du_cell_switch_notif:
2951
0
      HANDLE_CODE(c.get<cu_du_cell_switch_notif_s>().unpack(bref));
2952
0
      break;
2953
0
    case types::du_cu_tai_nformation_transfer:
2954
0
      HANDLE_CODE(c.get<du_cu_tai_nformation_transfer_s>().unpack(bref));
2955
0
      break;
2956
0
    case types::cu_du_tai_nformation_transfer:
2957
0
      HANDLE_CODE(c.get<cu_du_tai_nformation_transfer_s>().unpack(bref));
2958
0
      break;
2959
0
    case types::qo_e_info_transfer_ctrl:
2960
0
      HANDLE_CODE(c.get<qo_e_info_transfer_ctrl_s>().unpack(bref));
2961
0
      break;
2962
0
    case types::rach_ind:
2963
0
      HANDLE_CODE(c.get<rach_ind_s>().unpack(bref));
2964
0
      break;
2965
0
    case types::timing_synchronisation_status_report:
2966
0
      HANDLE_CODE(c.get<timing_synchronisation_status_report_s>().unpack(bref));
2967
0
      break;
2968
0
    case types::miabf1_setup_trigger:
2969
0
      HANDLE_CODE(c.get<miabf1_setup_trigger_s>().unpack(bref));
2970
0
      break;
2971
0
    case types::miabf1_setup_outcome_notif:
2972
0
      HANDLE_CODE(c.get<miabf1_setup_outcome_notif_s>().unpack(bref));
2973
0
      break;
2974
0
    case types::broadcast_transport_res_request:
2975
0
      HANDLE_CODE(c.get<broadcast_transport_res_request_s>().unpack(bref));
2976
0
      break;
2977
0
    case types::du_cu_access_and_mob_ind:
2978
0
      HANDLE_CODE(c.get<du_cu_access_and_mob_ind_s>().unpack(bref));
2979
0
      break;
2980
0
    case types::srs_info_reserv_notif:
2981
0
      HANDLE_CODE(c.get<srs_info_reserv_notif_s>().unpack(bref));
2982
0
      break;
2983
0
    case types::cu_du_mob_initiation_request:
2984
0
      HANDLE_CODE(c.get<cu_du_mob_initiation_request_s>().unpack(bref));
2985
0
      break;
2986
0
    default:
2987
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::init_msg_c");
2988
0
      return OCUDUASN_ERROR_DECODE_FAIL;
2989
0
  }
2990
0
  return OCUDUASN_SUCCESS;
2991
0
}
2992
2993
const char* f1ap_elem_procs_o::init_msg_c::types_opts::to_string() const
2994
0
{
2995
0
  static const char* names[] = {"Reset",
2996
0
                                "F1SetupRequest",
2997
0
                                "GNBDUConfigurationUpdate",
2998
0
                                "GNBCUConfigurationUpdate",
2999
0
                                "UEContextSetupRequest",
3000
0
                                "UEContextReleaseCommand",
3001
0
                                "UEContextModificationRequest",
3002
0
                                "UEContextModificationRequired",
3003
0
                                "WriteReplaceWarningRequest",
3004
0
                                "PWSCancelRequest",
3005
0
                                "GNBDUResourceCoordinationRequest",
3006
0
                                "F1RemovalRequest",
3007
0
                                "BAPMappingConfiguration",
3008
0
                                "GNBDUResourceConfiguration",
3009
0
                                "IABTNLAddressRequest",
3010
0
                                "IABUPConfigurationUpdateRequest",
3011
0
                                "ResourceStatusRequest",
3012
0
                                "PositioningMeasurementRequest",
3013
0
                                "TRPInformationRequest",
3014
0
                                "PositioningInformationRequest",
3015
0
                                "PositioningActivationRequest",
3016
0
                                "E-CIDMeasurementInitiationRequest",
3017
0
                                "BroadcastContextSetupRequest",
3018
0
                                "BroadcastContextReleaseCommand",
3019
0
                                "BroadcastContextModificationRequest",
3020
0
                                "MulticastContextSetupRequest",
3021
0
                                "MulticastContextReleaseCommand",
3022
0
                                "MulticastContextModificationRequest",
3023
0
                                "MulticastDistributionSetupRequest",
3024
0
                                "MulticastDistributionReleaseCommand",
3025
0
                                "PDCMeasurementInitiationRequest",
3026
0
                                "PRSConfigurationRequest",
3027
0
                                "MeasurementPreconfigurationRequired",
3028
0
                                "TimingSynchronisationStatusRequest",
3029
0
                                "MulticastContextNotificationIndication",
3030
0
                                "MulticastCommonConfigurationRequest",
3031
0
                                "ErrorIndication",
3032
0
                                "UEContextReleaseRequest",
3033
0
                                "DLRRCMessageTransfer",
3034
0
                                "ULRRCMessageTransfer",
3035
0
                                "UEInactivityNotification",
3036
0
                                "PrivateMessage",
3037
0
                                "InitialULRRCMessageTransfer",
3038
0
                                "SystemInformationDeliveryCommand",
3039
0
                                "Paging",
3040
0
                                "Notify",
3041
0
                                "PWSRestartIndication",
3042
0
                                "PWSFailureIndication",
3043
0
                                "GNBDUStatusIndication",
3044
0
                                "RRCDeliveryReport",
3045
0
                                "NetworkAccessRateReduction",
3046
0
                                "TraceStart",
3047
0
                                "DeactivateTrace",
3048
0
                                "DUCURadioInformationTransfer",
3049
0
                                "CUDURadioInformationTransfer",
3050
0
                                "ResourceStatusUpdate",
3051
0
                                "AccessAndMobilityIndication",
3052
0
                                "ReferenceTimeInformationReportingControl",
3053
0
                                "ReferenceTimeInformationReport",
3054
0
                                "AccessSuccess",
3055
0
                                "CellTrafficTrace",
3056
0
                                "PositioningAssistanceInformationControl",
3057
0
                                "PositioningAssistanceInformationFeedback",
3058
0
                                "PositioningMeasurementReport",
3059
0
                                "PositioningMeasurementAbort",
3060
0
                                "PositioningMeasurementFailureIndication",
3061
0
                                "PositioningMeasurementUpdate",
3062
0
                                "PositioningDeactivation",
3063
0
                                "E-CIDMeasurementFailureIndication",
3064
0
                                "E-CIDMeasurementReport",
3065
0
                                "E-CIDMeasurementTerminationCommand",
3066
0
                                "PositioningInformationUpdate",
3067
0
                                "MulticastGroupPaging",
3068
0
                                "BroadcastContextReleaseRequest",
3069
0
                                "MulticastContextReleaseRequest",
3070
0
                                "PDCMeasurementReport",
3071
0
                                "PDCMeasurementTerminationCommand",
3072
0
                                "PDCMeasurementFailureIndication",
3073
0
                                "MeasurementActivation",
3074
0
                                "QoEInformationTransfer",
3075
0
                                "PosSystemInformationDeliveryCommand",
3076
0
                                "DUCUCellSwitchNotification",
3077
0
                                "CUDUCellSwitchNotification",
3078
0
                                "DUCUTAInformationTransfer",
3079
0
                                "CUDUTAInformationTransfer",
3080
0
                                "QoEInformationTransferControl",
3081
0
                                "RachIndication",
3082
0
                                "TimingSynchronisationStatusReport",
3083
0
                                "MIABF1SetupTriggering",
3084
0
                                "MIABF1SetupOutcomeNotification",
3085
0
                                "BroadcastTransportResourceRequest",
3086
0
                                "DUCUAccessAndMobilityIndication",
3087
0
                                "SRSInformationReservationNotification",
3088
0
                                "CUDUMobilityInitiationRequest"};
3089
0
  return convert_enum_idx(names, 94, value, "f1ap_elem_procs_o::init_msg_c::types");
3090
0
}
3091
3092
// SuccessfulOutcome ::= OPEN TYPE
3093
void f1ap_elem_procs_o::successful_outcome_c::set(types::options e)
3094
0
{
3095
0
  type_ = e;
3096
0
  switch (type_) {
3097
0
    case types::reset_ack:
3098
0
      c = reset_ack_s{};
3099
0
      break;
3100
0
    case types::f1_setup_resp:
3101
0
      c = f1_setup_resp_s{};
3102
0
      break;
3103
0
    case types::gnb_du_cfg_upd_ack:
3104
0
      c = gnb_du_cfg_upd_ack_s{};
3105
0
      break;
3106
0
    case types::gnb_cu_cfg_upd_ack:
3107
0
      c = gnb_cu_cfg_upd_ack_s{};
3108
0
      break;
3109
0
    case types::ue_context_setup_resp:
3110
0
      c = ue_context_setup_resp_s{};
3111
0
      break;
3112
0
    case types::ue_context_release_complete:
3113
0
      c = ue_context_release_complete_s{};
3114
0
      break;
3115
0
    case types::ue_context_mod_resp:
3116
0
      c = ue_context_mod_resp_s{};
3117
0
      break;
3118
0
    case types::ue_context_mod_confirm:
3119
0
      c = ue_context_mod_confirm_s{};
3120
0
      break;
3121
0
    case types::write_replace_warning_resp:
3122
0
      c = write_replace_warning_resp_s{};
3123
0
      break;
3124
0
    case types::pws_cancel_resp:
3125
0
      c = pws_cancel_resp_s{};
3126
0
      break;
3127
0
    case types::gnb_du_res_coordination_resp:
3128
0
      c = gnb_du_res_coordination_resp_s{};
3129
0
      break;
3130
0
    case types::f1_removal_resp:
3131
0
      c = f1_removal_resp_s{};
3132
0
      break;
3133
0
    case types::bap_map_cfg_ack:
3134
0
      c = bap_map_cfg_ack_s{};
3135
0
      break;
3136
0
    case types::gnb_du_res_cfg_ack:
3137
0
      c = gnb_du_res_cfg_ack_s{};
3138
0
      break;
3139
0
    case types::iab_tnl_address_resp:
3140
0
      c = iab_tnl_address_resp_s{};
3141
0
      break;
3142
0
    case types::iab_up_cfg_upd_resp:
3143
0
      c = iab_up_cfg_upd_resp_s{};
3144
0
      break;
3145
0
    case types::res_status_resp:
3146
0
      c = res_status_resp_s{};
3147
0
      break;
3148
0
    case types::positioning_meas_resp:
3149
0
      c = positioning_meas_resp_s{};
3150
0
      break;
3151
0
    case types::trp_info_resp:
3152
0
      c = trp_info_resp_s{};
3153
0
      break;
3154
0
    case types::positioning_info_resp:
3155
0
      c = positioning_info_resp_s{};
3156
0
      break;
3157
0
    case types::positioning_activation_resp:
3158
0
      c = positioning_activation_resp_s{};
3159
0
      break;
3160
0
    case types::e_c_id_meas_initiation_resp:
3161
0
      c = e_c_id_meas_initiation_resp_s{};
3162
0
      break;
3163
0
    case types::broadcast_context_setup_resp:
3164
0
      c = broadcast_context_setup_resp_s{};
3165
0
      break;
3166
0
    case types::broadcast_context_release_complete:
3167
0
      c = broadcast_context_release_complete_s{};
3168
0
      break;
3169
0
    case types::broadcast_context_mod_resp:
3170
0
      c = broadcast_context_mod_resp_s{};
3171
0
      break;
3172
0
    case types::multicast_context_setup_resp:
3173
0
      c = multicast_context_setup_resp_s{};
3174
0
      break;
3175
0
    case types::multicast_context_release_complete:
3176
0
      c = multicast_context_release_complete_s{};
3177
0
      break;
3178
0
    case types::multicast_context_mod_resp:
3179
0
      c = multicast_context_mod_resp_s{};
3180
0
      break;
3181
0
    case types::multicast_distribution_setup_resp:
3182
0
      c = multicast_distribution_setup_resp_s{};
3183
0
      break;
3184
0
    case types::multicast_distribution_release_complete:
3185
0
      c = multicast_distribution_release_complete_s{};
3186
0
      break;
3187
0
    case types::pdc_meas_initiation_resp:
3188
0
      c = pdc_meas_initiation_resp_s{};
3189
0
      break;
3190
0
    case types::prs_cfg_resp:
3191
0
      c = prs_cfg_resp_s{};
3192
0
      break;
3193
0
    case types::meas_precfg_confirm:
3194
0
      c = meas_precfg_confirm_s{};
3195
0
      break;
3196
0
    case types::timing_synchronisation_status_resp:
3197
0
      c = timing_synchronisation_status_resp_s{};
3198
0
      break;
3199
0
    case types::multicast_context_notif_confirm:
3200
0
      c = multicast_context_notif_confirm_s{};
3201
0
      break;
3202
0
    case types::multicast_common_cfg_resp:
3203
0
      c = multicast_common_cfg_resp_s{};
3204
0
      break;
3205
0
    case types::nulltype:
3206
0
      break;
3207
0
    default:
3208
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::successful_outcome_c");
3209
0
  }
3210
0
}
3211
reset_ack_s& f1ap_elem_procs_o::successful_outcome_c::reset_ack()
3212
0
{
3213
0
  assert_choice_type(types::reset_ack, type_, "SuccessfulOutcome");
3214
0
  return c.get<reset_ack_s>();
3215
0
}
3216
f1_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::f1_setup_resp()
3217
0
{
3218
0
  assert_choice_type(types::f1_setup_resp, type_, "SuccessfulOutcome");
3219
0
  return c.get<f1_setup_resp_s>();
3220
0
}
3221
gnb_du_cfg_upd_ack_s& f1ap_elem_procs_o::successful_outcome_c::gnb_du_cfg_upd_ack()
3222
0
{
3223
0
  assert_choice_type(types::gnb_du_cfg_upd_ack, type_, "SuccessfulOutcome");
3224
0
  return c.get<gnb_du_cfg_upd_ack_s>();
3225
0
}
3226
gnb_cu_cfg_upd_ack_s& f1ap_elem_procs_o::successful_outcome_c::gnb_cu_cfg_upd_ack()
3227
0
{
3228
0
  assert_choice_type(types::gnb_cu_cfg_upd_ack, type_, "SuccessfulOutcome");
3229
0
  return c.get<gnb_cu_cfg_upd_ack_s>();
3230
0
}
3231
ue_context_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_setup_resp()
3232
0
{
3233
0
  assert_choice_type(types::ue_context_setup_resp, type_, "SuccessfulOutcome");
3234
0
  return c.get<ue_context_setup_resp_s>();
3235
0
}
3236
ue_context_release_complete_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_release_complete()
3237
0
{
3238
0
  assert_choice_type(types::ue_context_release_complete, type_, "SuccessfulOutcome");
3239
0
  return c.get<ue_context_release_complete_s>();
3240
0
}
3241
ue_context_mod_resp_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_mod_resp()
3242
0
{
3243
0
  assert_choice_type(types::ue_context_mod_resp, type_, "SuccessfulOutcome");
3244
0
  return c.get<ue_context_mod_resp_s>();
3245
0
}
3246
ue_context_mod_confirm_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_mod_confirm()
3247
0
{
3248
0
  assert_choice_type(types::ue_context_mod_confirm, type_, "SuccessfulOutcome");
3249
0
  return c.get<ue_context_mod_confirm_s>();
3250
0
}
3251
write_replace_warning_resp_s& f1ap_elem_procs_o::successful_outcome_c::write_replace_warning_resp()
3252
0
{
3253
0
  assert_choice_type(types::write_replace_warning_resp, type_, "SuccessfulOutcome");
3254
0
  return c.get<write_replace_warning_resp_s>();
3255
0
}
3256
pws_cancel_resp_s& f1ap_elem_procs_o::successful_outcome_c::pws_cancel_resp()
3257
0
{
3258
0
  assert_choice_type(types::pws_cancel_resp, type_, "SuccessfulOutcome");
3259
0
  return c.get<pws_cancel_resp_s>();
3260
0
}
3261
gnb_du_res_coordination_resp_s& f1ap_elem_procs_o::successful_outcome_c::gnb_du_res_coordination_resp()
3262
0
{
3263
0
  assert_choice_type(types::gnb_du_res_coordination_resp, type_, "SuccessfulOutcome");
3264
0
  return c.get<gnb_du_res_coordination_resp_s>();
3265
0
}
3266
f1_removal_resp_s& f1ap_elem_procs_o::successful_outcome_c::f1_removal_resp()
3267
0
{
3268
0
  assert_choice_type(types::f1_removal_resp, type_, "SuccessfulOutcome");
3269
0
  return c.get<f1_removal_resp_s>();
3270
0
}
3271
bap_map_cfg_ack_s& f1ap_elem_procs_o::successful_outcome_c::bap_map_cfg_ack()
3272
0
{
3273
0
  assert_choice_type(types::bap_map_cfg_ack, type_, "SuccessfulOutcome");
3274
0
  return c.get<bap_map_cfg_ack_s>();
3275
0
}
3276
gnb_du_res_cfg_ack_s& f1ap_elem_procs_o::successful_outcome_c::gnb_du_res_cfg_ack()
3277
0
{
3278
0
  assert_choice_type(types::gnb_du_res_cfg_ack, type_, "SuccessfulOutcome");
3279
0
  return c.get<gnb_du_res_cfg_ack_s>();
3280
0
}
3281
iab_tnl_address_resp_s& f1ap_elem_procs_o::successful_outcome_c::iab_tnl_address_resp()
3282
0
{
3283
0
  assert_choice_type(types::iab_tnl_address_resp, type_, "SuccessfulOutcome");
3284
0
  return c.get<iab_tnl_address_resp_s>();
3285
0
}
3286
iab_up_cfg_upd_resp_s& f1ap_elem_procs_o::successful_outcome_c::iab_up_cfg_upd_resp()
3287
0
{
3288
0
  assert_choice_type(types::iab_up_cfg_upd_resp, type_, "SuccessfulOutcome");
3289
0
  return c.get<iab_up_cfg_upd_resp_s>();
3290
0
}
3291
res_status_resp_s& f1ap_elem_procs_o::successful_outcome_c::res_status_resp()
3292
0
{
3293
0
  assert_choice_type(types::res_status_resp, type_, "SuccessfulOutcome");
3294
0
  return c.get<res_status_resp_s>();
3295
0
}
3296
positioning_meas_resp_s& f1ap_elem_procs_o::successful_outcome_c::positioning_meas_resp()
3297
0
{
3298
0
  assert_choice_type(types::positioning_meas_resp, type_, "SuccessfulOutcome");
3299
0
  return c.get<positioning_meas_resp_s>();
3300
0
}
3301
trp_info_resp_s& f1ap_elem_procs_o::successful_outcome_c::trp_info_resp()
3302
0
{
3303
0
  assert_choice_type(types::trp_info_resp, type_, "SuccessfulOutcome");
3304
0
  return c.get<trp_info_resp_s>();
3305
0
}
3306
positioning_info_resp_s& f1ap_elem_procs_o::successful_outcome_c::positioning_info_resp()
3307
0
{
3308
0
  assert_choice_type(types::positioning_info_resp, type_, "SuccessfulOutcome");
3309
0
  return c.get<positioning_info_resp_s>();
3310
0
}
3311
positioning_activation_resp_s& f1ap_elem_procs_o::successful_outcome_c::positioning_activation_resp()
3312
0
{
3313
0
  assert_choice_type(types::positioning_activation_resp, type_, "SuccessfulOutcome");
3314
0
  return c.get<positioning_activation_resp_s>();
3315
0
}
3316
e_c_id_meas_initiation_resp_s& f1ap_elem_procs_o::successful_outcome_c::e_c_id_meas_initiation_resp()
3317
0
{
3318
0
  assert_choice_type(types::e_c_id_meas_initiation_resp, type_, "SuccessfulOutcome");
3319
0
  return c.get<e_c_id_meas_initiation_resp_s>();
3320
0
}
3321
broadcast_context_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::broadcast_context_setup_resp()
3322
0
{
3323
0
  assert_choice_type(types::broadcast_context_setup_resp, type_, "SuccessfulOutcome");
3324
0
  return c.get<broadcast_context_setup_resp_s>();
3325
0
}
3326
broadcast_context_release_complete_s& f1ap_elem_procs_o::successful_outcome_c::broadcast_context_release_complete()
3327
0
{
3328
0
  assert_choice_type(types::broadcast_context_release_complete, type_, "SuccessfulOutcome");
3329
0
  return c.get<broadcast_context_release_complete_s>();
3330
0
}
3331
broadcast_context_mod_resp_s& f1ap_elem_procs_o::successful_outcome_c::broadcast_context_mod_resp()
3332
0
{
3333
0
  assert_choice_type(types::broadcast_context_mod_resp, type_, "SuccessfulOutcome");
3334
0
  return c.get<broadcast_context_mod_resp_s>();
3335
0
}
3336
multicast_context_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_context_setup_resp()
3337
0
{
3338
0
  assert_choice_type(types::multicast_context_setup_resp, type_, "SuccessfulOutcome");
3339
0
  return c.get<multicast_context_setup_resp_s>();
3340
0
}
3341
multicast_context_release_complete_s& f1ap_elem_procs_o::successful_outcome_c::multicast_context_release_complete()
3342
0
{
3343
0
  assert_choice_type(types::multicast_context_release_complete, type_, "SuccessfulOutcome");
3344
0
  return c.get<multicast_context_release_complete_s>();
3345
0
}
3346
multicast_context_mod_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_context_mod_resp()
3347
0
{
3348
0
  assert_choice_type(types::multicast_context_mod_resp, type_, "SuccessfulOutcome");
3349
0
  return c.get<multicast_context_mod_resp_s>();
3350
0
}
3351
multicast_distribution_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_distribution_setup_resp()
3352
0
{
3353
0
  assert_choice_type(types::multicast_distribution_setup_resp, type_, "SuccessfulOutcome");
3354
0
  return c.get<multicast_distribution_setup_resp_s>();
3355
0
}
3356
multicast_distribution_release_complete_s&
3357
f1ap_elem_procs_o::successful_outcome_c::multicast_distribution_release_complete()
3358
0
{
3359
0
  assert_choice_type(types::multicast_distribution_release_complete, type_, "SuccessfulOutcome");
3360
0
  return c.get<multicast_distribution_release_complete_s>();
3361
0
}
3362
pdc_meas_initiation_resp_s& f1ap_elem_procs_o::successful_outcome_c::pdc_meas_initiation_resp()
3363
0
{
3364
0
  assert_choice_type(types::pdc_meas_initiation_resp, type_, "SuccessfulOutcome");
3365
0
  return c.get<pdc_meas_initiation_resp_s>();
3366
0
}
3367
prs_cfg_resp_s& f1ap_elem_procs_o::successful_outcome_c::prs_cfg_resp()
3368
0
{
3369
0
  assert_choice_type(types::prs_cfg_resp, type_, "SuccessfulOutcome");
3370
0
  return c.get<prs_cfg_resp_s>();
3371
0
}
3372
meas_precfg_confirm_s& f1ap_elem_procs_o::successful_outcome_c::meas_precfg_confirm()
3373
0
{
3374
0
  assert_choice_type(types::meas_precfg_confirm, type_, "SuccessfulOutcome");
3375
0
  return c.get<meas_precfg_confirm_s>();
3376
0
}
3377
timing_synchronisation_status_resp_s& f1ap_elem_procs_o::successful_outcome_c::timing_synchronisation_status_resp()
3378
0
{
3379
0
  assert_choice_type(types::timing_synchronisation_status_resp, type_, "SuccessfulOutcome");
3380
0
  return c.get<timing_synchronisation_status_resp_s>();
3381
0
}
3382
multicast_context_notif_confirm_s& f1ap_elem_procs_o::successful_outcome_c::multicast_context_notif_confirm()
3383
0
{
3384
0
  assert_choice_type(types::multicast_context_notif_confirm, type_, "SuccessfulOutcome");
3385
0
  return c.get<multicast_context_notif_confirm_s>();
3386
0
}
3387
multicast_common_cfg_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_common_cfg_resp()
3388
0
{
3389
0
  assert_choice_type(types::multicast_common_cfg_resp, type_, "SuccessfulOutcome");
3390
0
  return c.get<multicast_common_cfg_resp_s>();
3391
0
}
3392
const reset_ack_s& f1ap_elem_procs_o::successful_outcome_c::reset_ack() const
3393
0
{
3394
0
  assert_choice_type(types::reset_ack, type_, "SuccessfulOutcome");
3395
0
  return c.get<reset_ack_s>();
3396
0
}
3397
const f1_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::f1_setup_resp() const
3398
0
{
3399
0
  assert_choice_type(types::f1_setup_resp, type_, "SuccessfulOutcome");
3400
0
  return c.get<f1_setup_resp_s>();
3401
0
}
3402
const gnb_du_cfg_upd_ack_s& f1ap_elem_procs_o::successful_outcome_c::gnb_du_cfg_upd_ack() const
3403
0
{
3404
0
  assert_choice_type(types::gnb_du_cfg_upd_ack, type_, "SuccessfulOutcome");
3405
0
  return c.get<gnb_du_cfg_upd_ack_s>();
3406
0
}
3407
const gnb_cu_cfg_upd_ack_s& f1ap_elem_procs_o::successful_outcome_c::gnb_cu_cfg_upd_ack() const
3408
0
{
3409
0
  assert_choice_type(types::gnb_cu_cfg_upd_ack, type_, "SuccessfulOutcome");
3410
0
  return c.get<gnb_cu_cfg_upd_ack_s>();
3411
0
}
3412
const ue_context_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_setup_resp() const
3413
0
{
3414
0
  assert_choice_type(types::ue_context_setup_resp, type_, "SuccessfulOutcome");
3415
0
  return c.get<ue_context_setup_resp_s>();
3416
0
}
3417
const ue_context_release_complete_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_release_complete() const
3418
0
{
3419
0
  assert_choice_type(types::ue_context_release_complete, type_, "SuccessfulOutcome");
3420
0
  return c.get<ue_context_release_complete_s>();
3421
0
}
3422
const ue_context_mod_resp_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_mod_resp() const
3423
0
{
3424
0
  assert_choice_type(types::ue_context_mod_resp, type_, "SuccessfulOutcome");
3425
0
  return c.get<ue_context_mod_resp_s>();
3426
0
}
3427
const ue_context_mod_confirm_s& f1ap_elem_procs_o::successful_outcome_c::ue_context_mod_confirm() const
3428
0
{
3429
0
  assert_choice_type(types::ue_context_mod_confirm, type_, "SuccessfulOutcome");
3430
0
  return c.get<ue_context_mod_confirm_s>();
3431
0
}
3432
const write_replace_warning_resp_s& f1ap_elem_procs_o::successful_outcome_c::write_replace_warning_resp() const
3433
0
{
3434
0
  assert_choice_type(types::write_replace_warning_resp, type_, "SuccessfulOutcome");
3435
0
  return c.get<write_replace_warning_resp_s>();
3436
0
}
3437
const pws_cancel_resp_s& f1ap_elem_procs_o::successful_outcome_c::pws_cancel_resp() const
3438
0
{
3439
0
  assert_choice_type(types::pws_cancel_resp, type_, "SuccessfulOutcome");
3440
0
  return c.get<pws_cancel_resp_s>();
3441
0
}
3442
const gnb_du_res_coordination_resp_s& f1ap_elem_procs_o::successful_outcome_c::gnb_du_res_coordination_resp() const
3443
0
{
3444
0
  assert_choice_type(types::gnb_du_res_coordination_resp, type_, "SuccessfulOutcome");
3445
0
  return c.get<gnb_du_res_coordination_resp_s>();
3446
0
}
3447
const f1_removal_resp_s& f1ap_elem_procs_o::successful_outcome_c::f1_removal_resp() const
3448
0
{
3449
0
  assert_choice_type(types::f1_removal_resp, type_, "SuccessfulOutcome");
3450
0
  return c.get<f1_removal_resp_s>();
3451
0
}
3452
const bap_map_cfg_ack_s& f1ap_elem_procs_o::successful_outcome_c::bap_map_cfg_ack() const
3453
0
{
3454
0
  assert_choice_type(types::bap_map_cfg_ack, type_, "SuccessfulOutcome");
3455
0
  return c.get<bap_map_cfg_ack_s>();
3456
0
}
3457
const gnb_du_res_cfg_ack_s& f1ap_elem_procs_o::successful_outcome_c::gnb_du_res_cfg_ack() const
3458
0
{
3459
0
  assert_choice_type(types::gnb_du_res_cfg_ack, type_, "SuccessfulOutcome");
3460
0
  return c.get<gnb_du_res_cfg_ack_s>();
3461
0
}
3462
const iab_tnl_address_resp_s& f1ap_elem_procs_o::successful_outcome_c::iab_tnl_address_resp() const
3463
0
{
3464
0
  assert_choice_type(types::iab_tnl_address_resp, type_, "SuccessfulOutcome");
3465
0
  return c.get<iab_tnl_address_resp_s>();
3466
0
}
3467
const iab_up_cfg_upd_resp_s& f1ap_elem_procs_o::successful_outcome_c::iab_up_cfg_upd_resp() const
3468
0
{
3469
0
  assert_choice_type(types::iab_up_cfg_upd_resp, type_, "SuccessfulOutcome");
3470
0
  return c.get<iab_up_cfg_upd_resp_s>();
3471
0
}
3472
const res_status_resp_s& f1ap_elem_procs_o::successful_outcome_c::res_status_resp() const
3473
0
{
3474
0
  assert_choice_type(types::res_status_resp, type_, "SuccessfulOutcome");
3475
0
  return c.get<res_status_resp_s>();
3476
0
}
3477
const positioning_meas_resp_s& f1ap_elem_procs_o::successful_outcome_c::positioning_meas_resp() const
3478
0
{
3479
0
  assert_choice_type(types::positioning_meas_resp, type_, "SuccessfulOutcome");
3480
0
  return c.get<positioning_meas_resp_s>();
3481
0
}
3482
const trp_info_resp_s& f1ap_elem_procs_o::successful_outcome_c::trp_info_resp() const
3483
0
{
3484
0
  assert_choice_type(types::trp_info_resp, type_, "SuccessfulOutcome");
3485
0
  return c.get<trp_info_resp_s>();
3486
0
}
3487
const positioning_info_resp_s& f1ap_elem_procs_o::successful_outcome_c::positioning_info_resp() const
3488
0
{
3489
0
  assert_choice_type(types::positioning_info_resp, type_, "SuccessfulOutcome");
3490
0
  return c.get<positioning_info_resp_s>();
3491
0
}
3492
const positioning_activation_resp_s& f1ap_elem_procs_o::successful_outcome_c::positioning_activation_resp() const
3493
0
{
3494
0
  assert_choice_type(types::positioning_activation_resp, type_, "SuccessfulOutcome");
3495
0
  return c.get<positioning_activation_resp_s>();
3496
0
}
3497
const e_c_id_meas_initiation_resp_s& f1ap_elem_procs_o::successful_outcome_c::e_c_id_meas_initiation_resp() const
3498
0
{
3499
0
  assert_choice_type(types::e_c_id_meas_initiation_resp, type_, "SuccessfulOutcome");
3500
0
  return c.get<e_c_id_meas_initiation_resp_s>();
3501
0
}
3502
const broadcast_context_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::broadcast_context_setup_resp() const
3503
0
{
3504
0
  assert_choice_type(types::broadcast_context_setup_resp, type_, "SuccessfulOutcome");
3505
0
  return c.get<broadcast_context_setup_resp_s>();
3506
0
}
3507
const broadcast_context_release_complete_s&
3508
f1ap_elem_procs_o::successful_outcome_c::broadcast_context_release_complete() const
3509
0
{
3510
0
  assert_choice_type(types::broadcast_context_release_complete, type_, "SuccessfulOutcome");
3511
0
  return c.get<broadcast_context_release_complete_s>();
3512
0
}
3513
const broadcast_context_mod_resp_s& f1ap_elem_procs_o::successful_outcome_c::broadcast_context_mod_resp() const
3514
0
{
3515
0
  assert_choice_type(types::broadcast_context_mod_resp, type_, "SuccessfulOutcome");
3516
0
  return c.get<broadcast_context_mod_resp_s>();
3517
0
}
3518
const multicast_context_setup_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_context_setup_resp() const
3519
0
{
3520
0
  assert_choice_type(types::multicast_context_setup_resp, type_, "SuccessfulOutcome");
3521
0
  return c.get<multicast_context_setup_resp_s>();
3522
0
}
3523
const multicast_context_release_complete_s&
3524
f1ap_elem_procs_o::successful_outcome_c::multicast_context_release_complete() const
3525
0
{
3526
0
  assert_choice_type(types::multicast_context_release_complete, type_, "SuccessfulOutcome");
3527
0
  return c.get<multicast_context_release_complete_s>();
3528
0
}
3529
const multicast_context_mod_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_context_mod_resp() const
3530
0
{
3531
0
  assert_choice_type(types::multicast_context_mod_resp, type_, "SuccessfulOutcome");
3532
0
  return c.get<multicast_context_mod_resp_s>();
3533
0
}
3534
const multicast_distribution_setup_resp_s&
3535
f1ap_elem_procs_o::successful_outcome_c::multicast_distribution_setup_resp() const
3536
0
{
3537
0
  assert_choice_type(types::multicast_distribution_setup_resp, type_, "SuccessfulOutcome");
3538
0
  return c.get<multicast_distribution_setup_resp_s>();
3539
0
}
3540
const multicast_distribution_release_complete_s&
3541
f1ap_elem_procs_o::successful_outcome_c::multicast_distribution_release_complete() const
3542
0
{
3543
0
  assert_choice_type(types::multicast_distribution_release_complete, type_, "SuccessfulOutcome");
3544
0
  return c.get<multicast_distribution_release_complete_s>();
3545
0
}
3546
const pdc_meas_initiation_resp_s& f1ap_elem_procs_o::successful_outcome_c::pdc_meas_initiation_resp() const
3547
0
{
3548
0
  assert_choice_type(types::pdc_meas_initiation_resp, type_, "SuccessfulOutcome");
3549
0
  return c.get<pdc_meas_initiation_resp_s>();
3550
0
}
3551
const prs_cfg_resp_s& f1ap_elem_procs_o::successful_outcome_c::prs_cfg_resp() const
3552
0
{
3553
0
  assert_choice_type(types::prs_cfg_resp, type_, "SuccessfulOutcome");
3554
0
  return c.get<prs_cfg_resp_s>();
3555
0
}
3556
const meas_precfg_confirm_s& f1ap_elem_procs_o::successful_outcome_c::meas_precfg_confirm() const
3557
0
{
3558
0
  assert_choice_type(types::meas_precfg_confirm, type_, "SuccessfulOutcome");
3559
0
  return c.get<meas_precfg_confirm_s>();
3560
0
}
3561
const timing_synchronisation_status_resp_s&
3562
f1ap_elem_procs_o::successful_outcome_c::timing_synchronisation_status_resp() const
3563
0
{
3564
0
  assert_choice_type(types::timing_synchronisation_status_resp, type_, "SuccessfulOutcome");
3565
0
  return c.get<timing_synchronisation_status_resp_s>();
3566
0
}
3567
const multicast_context_notif_confirm_s&
3568
f1ap_elem_procs_o::successful_outcome_c::multicast_context_notif_confirm() const
3569
0
{
3570
0
  assert_choice_type(types::multicast_context_notif_confirm, type_, "SuccessfulOutcome");
3571
0
  return c.get<multicast_context_notif_confirm_s>();
3572
0
}
3573
const multicast_common_cfg_resp_s& f1ap_elem_procs_o::successful_outcome_c::multicast_common_cfg_resp() const
3574
0
{
3575
0
  assert_choice_type(types::multicast_common_cfg_resp, type_, "SuccessfulOutcome");
3576
0
  return c.get<multicast_common_cfg_resp_s>();
3577
0
}
3578
void f1ap_elem_procs_o::successful_outcome_c::to_json(json_writer& j) const
3579
0
{
3580
0
  j.start_obj();
3581
0
  switch (type_) {
3582
0
    case types::reset_ack:
3583
0
      j.write_fieldname("ResetAcknowledge");
3584
0
      c.get<reset_ack_s>().to_json(j);
3585
0
      break;
3586
0
    case types::f1_setup_resp:
3587
0
      j.write_fieldname("F1SetupResponse");
3588
0
      c.get<f1_setup_resp_s>().to_json(j);
3589
0
      break;
3590
0
    case types::gnb_du_cfg_upd_ack:
3591
0
      j.write_fieldname("GNBDUConfigurationUpdateAcknowledge");
3592
0
      c.get<gnb_du_cfg_upd_ack_s>().to_json(j);
3593
0
      break;
3594
0
    case types::gnb_cu_cfg_upd_ack:
3595
0
      j.write_fieldname("GNBCUConfigurationUpdateAcknowledge");
3596
0
      c.get<gnb_cu_cfg_upd_ack_s>().to_json(j);
3597
0
      break;
3598
0
    case types::ue_context_setup_resp:
3599
0
      j.write_fieldname("UEContextSetupResponse");
3600
0
      c.get<ue_context_setup_resp_s>().to_json(j);
3601
0
      break;
3602
0
    case types::ue_context_release_complete:
3603
0
      j.write_fieldname("UEContextReleaseComplete");
3604
0
      c.get<ue_context_release_complete_s>().to_json(j);
3605
0
      break;
3606
0
    case types::ue_context_mod_resp:
3607
0
      j.write_fieldname("UEContextModificationResponse");
3608
0
      c.get<ue_context_mod_resp_s>().to_json(j);
3609
0
      break;
3610
0
    case types::ue_context_mod_confirm:
3611
0
      j.write_fieldname("UEContextModificationConfirm");
3612
0
      c.get<ue_context_mod_confirm_s>().to_json(j);
3613
0
      break;
3614
0
    case types::write_replace_warning_resp:
3615
0
      j.write_fieldname("WriteReplaceWarningResponse");
3616
0
      c.get<write_replace_warning_resp_s>().to_json(j);
3617
0
      break;
3618
0
    case types::pws_cancel_resp:
3619
0
      j.write_fieldname("PWSCancelResponse");
3620
0
      c.get<pws_cancel_resp_s>().to_json(j);
3621
0
      break;
3622
0
    case types::gnb_du_res_coordination_resp:
3623
0
      j.write_fieldname("GNBDUResourceCoordinationResponse");
3624
0
      c.get<gnb_du_res_coordination_resp_s>().to_json(j);
3625
0
      break;
3626
0
    case types::f1_removal_resp:
3627
0
      j.write_fieldname("F1RemovalResponse");
3628
0
      c.get<f1_removal_resp_s>().to_json(j);
3629
0
      break;
3630
0
    case types::bap_map_cfg_ack:
3631
0
      j.write_fieldname("BAPMappingConfigurationAcknowledge");
3632
0
      c.get<bap_map_cfg_ack_s>().to_json(j);
3633
0
      break;
3634
0
    case types::gnb_du_res_cfg_ack:
3635
0
      j.write_fieldname("GNBDUResourceConfigurationAcknowledge");
3636
0
      c.get<gnb_du_res_cfg_ack_s>().to_json(j);
3637
0
      break;
3638
0
    case types::iab_tnl_address_resp:
3639
0
      j.write_fieldname("IABTNLAddressResponse");
3640
0
      c.get<iab_tnl_address_resp_s>().to_json(j);
3641
0
      break;
3642
0
    case types::iab_up_cfg_upd_resp:
3643
0
      j.write_fieldname("IABUPConfigurationUpdateResponse");
3644
0
      c.get<iab_up_cfg_upd_resp_s>().to_json(j);
3645
0
      break;
3646
0
    case types::res_status_resp:
3647
0
      j.write_fieldname("ResourceStatusResponse");
3648
0
      c.get<res_status_resp_s>().to_json(j);
3649
0
      break;
3650
0
    case types::positioning_meas_resp:
3651
0
      j.write_fieldname("PositioningMeasurementResponse");
3652
0
      c.get<positioning_meas_resp_s>().to_json(j);
3653
0
      break;
3654
0
    case types::trp_info_resp:
3655
0
      j.write_fieldname("TRPInformationResponse");
3656
0
      c.get<trp_info_resp_s>().to_json(j);
3657
0
      break;
3658
0
    case types::positioning_info_resp:
3659
0
      j.write_fieldname("PositioningInformationResponse");
3660
0
      c.get<positioning_info_resp_s>().to_json(j);
3661
0
      break;
3662
0
    case types::positioning_activation_resp:
3663
0
      j.write_fieldname("PositioningActivationResponse");
3664
0
      c.get<positioning_activation_resp_s>().to_json(j);
3665
0
      break;
3666
0
    case types::e_c_id_meas_initiation_resp:
3667
0
      j.write_fieldname("E-CIDMeasurementInitiationResponse");
3668
0
      c.get<e_c_id_meas_initiation_resp_s>().to_json(j);
3669
0
      break;
3670
0
    case types::broadcast_context_setup_resp:
3671
0
      j.write_fieldname("BroadcastContextSetupResponse");
3672
0
      c.get<broadcast_context_setup_resp_s>().to_json(j);
3673
0
      break;
3674
0
    case types::broadcast_context_release_complete:
3675
0
      j.write_fieldname("BroadcastContextReleaseComplete");
3676
0
      c.get<broadcast_context_release_complete_s>().to_json(j);
3677
0
      break;
3678
0
    case types::broadcast_context_mod_resp:
3679
0
      j.write_fieldname("BroadcastContextModificationResponse");
3680
0
      c.get<broadcast_context_mod_resp_s>().to_json(j);
3681
0
      break;
3682
0
    case types::multicast_context_setup_resp:
3683
0
      j.write_fieldname("MulticastContextSetupResponse");
3684
0
      c.get<multicast_context_setup_resp_s>().to_json(j);
3685
0
      break;
3686
0
    case types::multicast_context_release_complete:
3687
0
      j.write_fieldname("MulticastContextReleaseComplete");
3688
0
      c.get<multicast_context_release_complete_s>().to_json(j);
3689
0
      break;
3690
0
    case types::multicast_context_mod_resp:
3691
0
      j.write_fieldname("MulticastContextModificationResponse");
3692
0
      c.get<multicast_context_mod_resp_s>().to_json(j);
3693
0
      break;
3694
0
    case types::multicast_distribution_setup_resp:
3695
0
      j.write_fieldname("MulticastDistributionSetupResponse");
3696
0
      c.get<multicast_distribution_setup_resp_s>().to_json(j);
3697
0
      break;
3698
0
    case types::multicast_distribution_release_complete:
3699
0
      j.write_fieldname("MulticastDistributionReleaseComplete");
3700
0
      c.get<multicast_distribution_release_complete_s>().to_json(j);
3701
0
      break;
3702
0
    case types::pdc_meas_initiation_resp:
3703
0
      j.write_fieldname("PDCMeasurementInitiationResponse");
3704
0
      c.get<pdc_meas_initiation_resp_s>().to_json(j);
3705
0
      break;
3706
0
    case types::prs_cfg_resp:
3707
0
      j.write_fieldname("PRSConfigurationResponse");
3708
0
      c.get<prs_cfg_resp_s>().to_json(j);
3709
0
      break;
3710
0
    case types::meas_precfg_confirm:
3711
0
      j.write_fieldname("MeasurementPreconfigurationConfirm");
3712
0
      c.get<meas_precfg_confirm_s>().to_json(j);
3713
0
      break;
3714
0
    case types::timing_synchronisation_status_resp:
3715
0
      j.write_fieldname("TimingSynchronisationStatusResponse");
3716
0
      c.get<timing_synchronisation_status_resp_s>().to_json(j);
3717
0
      break;
3718
0
    case types::multicast_context_notif_confirm:
3719
0
      j.write_fieldname("MulticastContextNotificationConfirm");
3720
0
      c.get<multicast_context_notif_confirm_s>().to_json(j);
3721
0
      break;
3722
0
    case types::multicast_common_cfg_resp:
3723
0
      j.write_fieldname("MulticastCommonConfigurationResponse");
3724
0
      c.get<multicast_common_cfg_resp_s>().to_json(j);
3725
0
      break;
3726
0
    default:
3727
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::successful_outcome_c");
3728
0
  }
3729
0
  j.end_obj();
3730
0
}
3731
OCUDUASN_CODE f1ap_elem_procs_o::successful_outcome_c::pack(bit_ref& bref) const
3732
0
{
3733
0
  varlength_field_pack_guard varlen_scope(bref, true);
3734
0
  switch (type_) {
3735
0
    case types::reset_ack:
3736
0
      HANDLE_CODE(c.get<reset_ack_s>().pack(bref));
3737
0
      break;
3738
0
    case types::f1_setup_resp:
3739
0
      HANDLE_CODE(c.get<f1_setup_resp_s>().pack(bref));
3740
0
      break;
3741
0
    case types::gnb_du_cfg_upd_ack:
3742
0
      HANDLE_CODE(c.get<gnb_du_cfg_upd_ack_s>().pack(bref));
3743
0
      break;
3744
0
    case types::gnb_cu_cfg_upd_ack:
3745
0
      HANDLE_CODE(c.get<gnb_cu_cfg_upd_ack_s>().pack(bref));
3746
0
      break;
3747
0
    case types::ue_context_setup_resp:
3748
0
      HANDLE_CODE(c.get<ue_context_setup_resp_s>().pack(bref));
3749
0
      break;
3750
0
    case types::ue_context_release_complete:
3751
0
      HANDLE_CODE(c.get<ue_context_release_complete_s>().pack(bref));
3752
0
      break;
3753
0
    case types::ue_context_mod_resp:
3754
0
      HANDLE_CODE(c.get<ue_context_mod_resp_s>().pack(bref));
3755
0
      break;
3756
0
    case types::ue_context_mod_confirm:
3757
0
      HANDLE_CODE(c.get<ue_context_mod_confirm_s>().pack(bref));
3758
0
      break;
3759
0
    case types::write_replace_warning_resp:
3760
0
      HANDLE_CODE(c.get<write_replace_warning_resp_s>().pack(bref));
3761
0
      break;
3762
0
    case types::pws_cancel_resp:
3763
0
      HANDLE_CODE(c.get<pws_cancel_resp_s>().pack(bref));
3764
0
      break;
3765
0
    case types::gnb_du_res_coordination_resp:
3766
0
      HANDLE_CODE(c.get<gnb_du_res_coordination_resp_s>().pack(bref));
3767
0
      break;
3768
0
    case types::f1_removal_resp:
3769
0
      HANDLE_CODE(c.get<f1_removal_resp_s>().pack(bref));
3770
0
      break;
3771
0
    case types::bap_map_cfg_ack:
3772
0
      HANDLE_CODE(c.get<bap_map_cfg_ack_s>().pack(bref));
3773
0
      break;
3774
0
    case types::gnb_du_res_cfg_ack:
3775
0
      HANDLE_CODE(c.get<gnb_du_res_cfg_ack_s>().pack(bref));
3776
0
      break;
3777
0
    case types::iab_tnl_address_resp:
3778
0
      HANDLE_CODE(c.get<iab_tnl_address_resp_s>().pack(bref));
3779
0
      break;
3780
0
    case types::iab_up_cfg_upd_resp:
3781
0
      HANDLE_CODE(c.get<iab_up_cfg_upd_resp_s>().pack(bref));
3782
0
      break;
3783
0
    case types::res_status_resp:
3784
0
      HANDLE_CODE(c.get<res_status_resp_s>().pack(bref));
3785
0
      break;
3786
0
    case types::positioning_meas_resp:
3787
0
      HANDLE_CODE(c.get<positioning_meas_resp_s>().pack(bref));
3788
0
      break;
3789
0
    case types::trp_info_resp:
3790
0
      HANDLE_CODE(c.get<trp_info_resp_s>().pack(bref));
3791
0
      break;
3792
0
    case types::positioning_info_resp:
3793
0
      HANDLE_CODE(c.get<positioning_info_resp_s>().pack(bref));
3794
0
      break;
3795
0
    case types::positioning_activation_resp:
3796
0
      HANDLE_CODE(c.get<positioning_activation_resp_s>().pack(bref));
3797
0
      break;
3798
0
    case types::e_c_id_meas_initiation_resp:
3799
0
      HANDLE_CODE(c.get<e_c_id_meas_initiation_resp_s>().pack(bref));
3800
0
      break;
3801
0
    case types::broadcast_context_setup_resp:
3802
0
      HANDLE_CODE(c.get<broadcast_context_setup_resp_s>().pack(bref));
3803
0
      break;
3804
0
    case types::broadcast_context_release_complete:
3805
0
      HANDLE_CODE(c.get<broadcast_context_release_complete_s>().pack(bref));
3806
0
      break;
3807
0
    case types::broadcast_context_mod_resp:
3808
0
      HANDLE_CODE(c.get<broadcast_context_mod_resp_s>().pack(bref));
3809
0
      break;
3810
0
    case types::multicast_context_setup_resp:
3811
0
      HANDLE_CODE(c.get<multicast_context_setup_resp_s>().pack(bref));
3812
0
      break;
3813
0
    case types::multicast_context_release_complete:
3814
0
      HANDLE_CODE(c.get<multicast_context_release_complete_s>().pack(bref));
3815
0
      break;
3816
0
    case types::multicast_context_mod_resp:
3817
0
      HANDLE_CODE(c.get<multicast_context_mod_resp_s>().pack(bref));
3818
0
      break;
3819
0
    case types::multicast_distribution_setup_resp:
3820
0
      HANDLE_CODE(c.get<multicast_distribution_setup_resp_s>().pack(bref));
3821
0
      break;
3822
0
    case types::multicast_distribution_release_complete:
3823
0
      HANDLE_CODE(c.get<multicast_distribution_release_complete_s>().pack(bref));
3824
0
      break;
3825
0
    case types::pdc_meas_initiation_resp:
3826
0
      HANDLE_CODE(c.get<pdc_meas_initiation_resp_s>().pack(bref));
3827
0
      break;
3828
0
    case types::prs_cfg_resp:
3829
0
      HANDLE_CODE(c.get<prs_cfg_resp_s>().pack(bref));
3830
0
      break;
3831
0
    case types::meas_precfg_confirm:
3832
0
      HANDLE_CODE(c.get<meas_precfg_confirm_s>().pack(bref));
3833
0
      break;
3834
0
    case types::timing_synchronisation_status_resp:
3835
0
      HANDLE_CODE(c.get<timing_synchronisation_status_resp_s>().pack(bref));
3836
0
      break;
3837
0
    case types::multicast_context_notif_confirm:
3838
0
      HANDLE_CODE(c.get<multicast_context_notif_confirm_s>().pack(bref));
3839
0
      break;
3840
0
    case types::multicast_common_cfg_resp:
3841
0
      HANDLE_CODE(c.get<multicast_common_cfg_resp_s>().pack(bref));
3842
0
      break;
3843
0
    default:
3844
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::successful_outcome_c");
3845
0
      return OCUDUASN_ERROR_ENCODE_FAIL;
3846
0
  }
3847
0
  return OCUDUASN_SUCCESS;
3848
0
}
3849
OCUDUASN_CODE f1ap_elem_procs_o::successful_outcome_c::unpack(cbit_ref& bref)
3850
0
{
3851
0
  varlength_field_unpack_guard varlen_scope(bref, true);
3852
0
  switch (type_) {
3853
0
    case types::reset_ack:
3854
0
      HANDLE_CODE(c.get<reset_ack_s>().unpack(bref));
3855
0
      break;
3856
0
    case types::f1_setup_resp:
3857
0
      HANDLE_CODE(c.get<f1_setup_resp_s>().unpack(bref));
3858
0
      break;
3859
0
    case types::gnb_du_cfg_upd_ack:
3860
0
      HANDLE_CODE(c.get<gnb_du_cfg_upd_ack_s>().unpack(bref));
3861
0
      break;
3862
0
    case types::gnb_cu_cfg_upd_ack:
3863
0
      HANDLE_CODE(c.get<gnb_cu_cfg_upd_ack_s>().unpack(bref));
3864
0
      break;
3865
0
    case types::ue_context_setup_resp:
3866
0
      HANDLE_CODE(c.get<ue_context_setup_resp_s>().unpack(bref));
3867
0
      break;
3868
0
    case types::ue_context_release_complete:
3869
0
      HANDLE_CODE(c.get<ue_context_release_complete_s>().unpack(bref));
3870
0
      break;
3871
0
    case types::ue_context_mod_resp:
3872
0
      HANDLE_CODE(c.get<ue_context_mod_resp_s>().unpack(bref));
3873
0
      break;
3874
0
    case types::ue_context_mod_confirm:
3875
0
      HANDLE_CODE(c.get<ue_context_mod_confirm_s>().unpack(bref));
3876
0
      break;
3877
0
    case types::write_replace_warning_resp:
3878
0
      HANDLE_CODE(c.get<write_replace_warning_resp_s>().unpack(bref));
3879
0
      break;
3880
0
    case types::pws_cancel_resp:
3881
0
      HANDLE_CODE(c.get<pws_cancel_resp_s>().unpack(bref));
3882
0
      break;
3883
0
    case types::gnb_du_res_coordination_resp:
3884
0
      HANDLE_CODE(c.get<gnb_du_res_coordination_resp_s>().unpack(bref));
3885
0
      break;
3886
0
    case types::f1_removal_resp:
3887
0
      HANDLE_CODE(c.get<f1_removal_resp_s>().unpack(bref));
3888
0
      break;
3889
0
    case types::bap_map_cfg_ack:
3890
0
      HANDLE_CODE(c.get<bap_map_cfg_ack_s>().unpack(bref));
3891
0
      break;
3892
0
    case types::gnb_du_res_cfg_ack:
3893
0
      HANDLE_CODE(c.get<gnb_du_res_cfg_ack_s>().unpack(bref));
3894
0
      break;
3895
0
    case types::iab_tnl_address_resp:
3896
0
      HANDLE_CODE(c.get<iab_tnl_address_resp_s>().unpack(bref));
3897
0
      break;
3898
0
    case types::iab_up_cfg_upd_resp:
3899
0
      HANDLE_CODE(c.get<iab_up_cfg_upd_resp_s>().unpack(bref));
3900
0
      break;
3901
0
    case types::res_status_resp:
3902
0
      HANDLE_CODE(c.get<res_status_resp_s>().unpack(bref));
3903
0
      break;
3904
0
    case types::positioning_meas_resp:
3905
0
      HANDLE_CODE(c.get<positioning_meas_resp_s>().unpack(bref));
3906
0
      break;
3907
0
    case types::trp_info_resp:
3908
0
      HANDLE_CODE(c.get<trp_info_resp_s>().unpack(bref));
3909
0
      break;
3910
0
    case types::positioning_info_resp:
3911
0
      HANDLE_CODE(c.get<positioning_info_resp_s>().unpack(bref));
3912
0
      break;
3913
0
    case types::positioning_activation_resp:
3914
0
      HANDLE_CODE(c.get<positioning_activation_resp_s>().unpack(bref));
3915
0
      break;
3916
0
    case types::e_c_id_meas_initiation_resp:
3917
0
      HANDLE_CODE(c.get<e_c_id_meas_initiation_resp_s>().unpack(bref));
3918
0
      break;
3919
0
    case types::broadcast_context_setup_resp:
3920
0
      HANDLE_CODE(c.get<broadcast_context_setup_resp_s>().unpack(bref));
3921
0
      break;
3922
0
    case types::broadcast_context_release_complete:
3923
0
      HANDLE_CODE(c.get<broadcast_context_release_complete_s>().unpack(bref));
3924
0
      break;
3925
0
    case types::broadcast_context_mod_resp:
3926
0
      HANDLE_CODE(c.get<broadcast_context_mod_resp_s>().unpack(bref));
3927
0
      break;
3928
0
    case types::multicast_context_setup_resp:
3929
0
      HANDLE_CODE(c.get<multicast_context_setup_resp_s>().unpack(bref));
3930
0
      break;
3931
0
    case types::multicast_context_release_complete:
3932
0
      HANDLE_CODE(c.get<multicast_context_release_complete_s>().unpack(bref));
3933
0
      break;
3934
0
    case types::multicast_context_mod_resp:
3935
0
      HANDLE_CODE(c.get<multicast_context_mod_resp_s>().unpack(bref));
3936
0
      break;
3937
0
    case types::multicast_distribution_setup_resp:
3938
0
      HANDLE_CODE(c.get<multicast_distribution_setup_resp_s>().unpack(bref));
3939
0
      break;
3940
0
    case types::multicast_distribution_release_complete:
3941
0
      HANDLE_CODE(c.get<multicast_distribution_release_complete_s>().unpack(bref));
3942
0
      break;
3943
0
    case types::pdc_meas_initiation_resp:
3944
0
      HANDLE_CODE(c.get<pdc_meas_initiation_resp_s>().unpack(bref));
3945
0
      break;
3946
0
    case types::prs_cfg_resp:
3947
0
      HANDLE_CODE(c.get<prs_cfg_resp_s>().unpack(bref));
3948
0
      break;
3949
0
    case types::meas_precfg_confirm:
3950
0
      HANDLE_CODE(c.get<meas_precfg_confirm_s>().unpack(bref));
3951
0
      break;
3952
0
    case types::timing_synchronisation_status_resp:
3953
0
      HANDLE_CODE(c.get<timing_synchronisation_status_resp_s>().unpack(bref));
3954
0
      break;
3955
0
    case types::multicast_context_notif_confirm:
3956
0
      HANDLE_CODE(c.get<multicast_context_notif_confirm_s>().unpack(bref));
3957
0
      break;
3958
0
    case types::multicast_common_cfg_resp:
3959
0
      HANDLE_CODE(c.get<multicast_common_cfg_resp_s>().unpack(bref));
3960
0
      break;
3961
0
    default:
3962
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::successful_outcome_c");
3963
0
      return OCUDUASN_ERROR_DECODE_FAIL;
3964
0
  }
3965
0
  return OCUDUASN_SUCCESS;
3966
0
}
3967
3968
const char* f1ap_elem_procs_o::successful_outcome_c::types_opts::to_string() const
3969
0
{
3970
0
  static const char* names[] = {"ResetAcknowledge",
3971
0
                                "F1SetupResponse",
3972
0
                                "GNBDUConfigurationUpdateAcknowledge",
3973
0
                                "GNBCUConfigurationUpdateAcknowledge",
3974
0
                                "UEContextSetupResponse",
3975
0
                                "UEContextReleaseComplete",
3976
0
                                "UEContextModificationResponse",
3977
0
                                "UEContextModificationConfirm",
3978
0
                                "WriteReplaceWarningResponse",
3979
0
                                "PWSCancelResponse",
3980
0
                                "GNBDUResourceCoordinationResponse",
3981
0
                                "F1RemovalResponse",
3982
0
                                "BAPMappingConfigurationAcknowledge",
3983
0
                                "GNBDUResourceConfigurationAcknowledge",
3984
0
                                "IABTNLAddressResponse",
3985
0
                                "IABUPConfigurationUpdateResponse",
3986
0
                                "ResourceStatusResponse",
3987
0
                                "PositioningMeasurementResponse",
3988
0
                                "TRPInformationResponse",
3989
0
                                "PositioningInformationResponse",
3990
0
                                "PositioningActivationResponse",
3991
0
                                "E-CIDMeasurementInitiationResponse",
3992
0
                                "BroadcastContextSetupResponse",
3993
0
                                "BroadcastContextReleaseComplete",
3994
0
                                "BroadcastContextModificationResponse",
3995
0
                                "MulticastContextSetupResponse",
3996
0
                                "MulticastContextReleaseComplete",
3997
0
                                "MulticastContextModificationResponse",
3998
0
                                "MulticastDistributionSetupResponse",
3999
0
                                "MulticastDistributionReleaseComplete",
4000
0
                                "PDCMeasurementInitiationResponse",
4001
0
                                "PRSConfigurationResponse",
4002
0
                                "MeasurementPreconfigurationConfirm",
4003
0
                                "TimingSynchronisationStatusResponse",
4004
0
                                "MulticastContextNotificationConfirm",
4005
0
                                "MulticastCommonConfigurationResponse"};
4006
0
  return convert_enum_idx(names, 36, value, "f1ap_elem_procs_o::successful_outcome_c::types");
4007
0
}
4008
4009
// UnsuccessfulOutcome ::= OPEN TYPE
4010
void f1ap_elem_procs_o::unsuccessful_outcome_c::set(types::options e)
4011
0
{
4012
0
  type_ = e;
4013
0
  switch (type_) {
4014
0
    case types::f1_setup_fail:
4015
0
      c = f1_setup_fail_s{};
4016
0
      break;
4017
0
    case types::gnb_du_cfg_upd_fail:
4018
0
      c = gnb_du_cfg_upd_fail_s{};
4019
0
      break;
4020
0
    case types::gnb_cu_cfg_upd_fail:
4021
0
      c = gnb_cu_cfg_upd_fail_s{};
4022
0
      break;
4023
0
    case types::ue_context_setup_fail:
4024
0
      c = ue_context_setup_fail_s{};
4025
0
      break;
4026
0
    case types::ue_context_mod_fail:
4027
0
      c = ue_context_mod_fail_s{};
4028
0
      break;
4029
0
    case types::ue_context_mod_refuse:
4030
0
      c = ue_context_mod_refuse_s{};
4031
0
      break;
4032
0
    case types::f1_removal_fail:
4033
0
      c = f1_removal_fail_s{};
4034
0
      break;
4035
0
    case types::bap_map_cfg_fail:
4036
0
      c = bap_map_cfg_fail_s{};
4037
0
      break;
4038
0
    case types::gnb_du_res_cfg_fail:
4039
0
      c = gnb_du_res_cfg_fail_s{};
4040
0
      break;
4041
0
    case types::iab_tnl_address_fail:
4042
0
      c = iab_tnl_address_fail_s{};
4043
0
      break;
4044
0
    case types::iab_up_cfg_upd_fail:
4045
0
      c = iab_up_cfg_upd_fail_s{};
4046
0
      break;
4047
0
    case types::res_status_fail:
4048
0
      c = res_status_fail_s{};
4049
0
      break;
4050
0
    case types::positioning_meas_fail:
4051
0
      c = positioning_meas_fail_s{};
4052
0
      break;
4053
0
    case types::trp_info_fail:
4054
0
      c = trp_info_fail_s{};
4055
0
      break;
4056
0
    case types::positioning_info_fail:
4057
0
      c = positioning_info_fail_s{};
4058
0
      break;
4059
0
    case types::positioning_activation_fail:
4060
0
      c = positioning_activation_fail_s{};
4061
0
      break;
4062
0
    case types::e_c_id_meas_initiation_fail:
4063
0
      c = e_c_id_meas_initiation_fail_s{};
4064
0
      break;
4065
0
    case types::broadcast_context_setup_fail:
4066
0
      c = broadcast_context_setup_fail_s{};
4067
0
      break;
4068
0
    case types::broadcast_context_mod_fail:
4069
0
      c = broadcast_context_mod_fail_s{};
4070
0
      break;
4071
0
    case types::multicast_context_setup_fail:
4072
0
      c = multicast_context_setup_fail_s{};
4073
0
      break;
4074
0
    case types::multicast_context_mod_fail:
4075
0
      c = multicast_context_mod_fail_s{};
4076
0
      break;
4077
0
    case types::multicast_distribution_setup_fail:
4078
0
      c = multicast_distribution_setup_fail_s{};
4079
0
      break;
4080
0
    case types::pdc_meas_initiation_fail:
4081
0
      c = pdc_meas_initiation_fail_s{};
4082
0
      break;
4083
0
    case types::prs_cfg_fail:
4084
0
      c = prs_cfg_fail_s{};
4085
0
      break;
4086
0
    case types::meas_precfg_refuse:
4087
0
      c = meas_precfg_refuse_s{};
4088
0
      break;
4089
0
    case types::timing_synchronisation_status_fail:
4090
0
      c = timing_synchronisation_status_fail_s{};
4091
0
      break;
4092
0
    case types::multicast_context_notif_refuse:
4093
0
      c = multicast_context_notif_refuse_s{};
4094
0
      break;
4095
0
    case types::multicast_common_cfg_refuse:
4096
0
      c = multicast_common_cfg_refuse_s{};
4097
0
      break;
4098
0
    case types::nulltype:
4099
0
      break;
4100
0
    default:
4101
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::unsuccessful_outcome_c");
4102
0
  }
4103
0
}
4104
f1_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::f1_setup_fail()
4105
0
{
4106
0
  assert_choice_type(types::f1_setup_fail, type_, "UnsuccessfulOutcome");
4107
0
  return c.get<f1_setup_fail_s>();
4108
0
}
4109
gnb_du_cfg_upd_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::gnb_du_cfg_upd_fail()
4110
0
{
4111
0
  assert_choice_type(types::gnb_du_cfg_upd_fail, type_, "UnsuccessfulOutcome");
4112
0
  return c.get<gnb_du_cfg_upd_fail_s>();
4113
0
}
4114
gnb_cu_cfg_upd_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::gnb_cu_cfg_upd_fail()
4115
0
{
4116
0
  assert_choice_type(types::gnb_cu_cfg_upd_fail, type_, "UnsuccessfulOutcome");
4117
0
  return c.get<gnb_cu_cfg_upd_fail_s>();
4118
0
}
4119
ue_context_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::ue_context_setup_fail()
4120
0
{
4121
0
  assert_choice_type(types::ue_context_setup_fail, type_, "UnsuccessfulOutcome");
4122
0
  return c.get<ue_context_setup_fail_s>();
4123
0
}
4124
ue_context_mod_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::ue_context_mod_fail()
4125
0
{
4126
0
  assert_choice_type(types::ue_context_mod_fail, type_, "UnsuccessfulOutcome");
4127
0
  return c.get<ue_context_mod_fail_s>();
4128
0
}
4129
ue_context_mod_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::ue_context_mod_refuse()
4130
0
{
4131
0
  assert_choice_type(types::ue_context_mod_refuse, type_, "UnsuccessfulOutcome");
4132
0
  return c.get<ue_context_mod_refuse_s>();
4133
0
}
4134
f1_removal_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::f1_removal_fail()
4135
0
{
4136
0
  assert_choice_type(types::f1_removal_fail, type_, "UnsuccessfulOutcome");
4137
0
  return c.get<f1_removal_fail_s>();
4138
0
}
4139
bap_map_cfg_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::bap_map_cfg_fail()
4140
0
{
4141
0
  assert_choice_type(types::bap_map_cfg_fail, type_, "UnsuccessfulOutcome");
4142
0
  return c.get<bap_map_cfg_fail_s>();
4143
0
}
4144
gnb_du_res_cfg_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::gnb_du_res_cfg_fail()
4145
0
{
4146
0
  assert_choice_type(types::gnb_du_res_cfg_fail, type_, "UnsuccessfulOutcome");
4147
0
  return c.get<gnb_du_res_cfg_fail_s>();
4148
0
}
4149
iab_tnl_address_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::iab_tnl_address_fail()
4150
0
{
4151
0
  assert_choice_type(types::iab_tnl_address_fail, type_, "UnsuccessfulOutcome");
4152
0
  return c.get<iab_tnl_address_fail_s>();
4153
0
}
4154
iab_up_cfg_upd_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::iab_up_cfg_upd_fail()
4155
0
{
4156
0
  assert_choice_type(types::iab_up_cfg_upd_fail, type_, "UnsuccessfulOutcome");
4157
0
  return c.get<iab_up_cfg_upd_fail_s>();
4158
0
}
4159
res_status_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::res_status_fail()
4160
0
{
4161
0
  assert_choice_type(types::res_status_fail, type_, "UnsuccessfulOutcome");
4162
0
  return c.get<res_status_fail_s>();
4163
0
}
4164
positioning_meas_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::positioning_meas_fail()
4165
0
{
4166
0
  assert_choice_type(types::positioning_meas_fail, type_, "UnsuccessfulOutcome");
4167
0
  return c.get<positioning_meas_fail_s>();
4168
0
}
4169
trp_info_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::trp_info_fail()
4170
0
{
4171
0
  assert_choice_type(types::trp_info_fail, type_, "UnsuccessfulOutcome");
4172
0
  return c.get<trp_info_fail_s>();
4173
0
}
4174
positioning_info_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::positioning_info_fail()
4175
0
{
4176
0
  assert_choice_type(types::positioning_info_fail, type_, "UnsuccessfulOutcome");
4177
0
  return c.get<positioning_info_fail_s>();
4178
0
}
4179
positioning_activation_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::positioning_activation_fail()
4180
0
{
4181
0
  assert_choice_type(types::positioning_activation_fail, type_, "UnsuccessfulOutcome");
4182
0
  return c.get<positioning_activation_fail_s>();
4183
0
}
4184
e_c_id_meas_initiation_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::e_c_id_meas_initiation_fail()
4185
0
{
4186
0
  assert_choice_type(types::e_c_id_meas_initiation_fail, type_, "UnsuccessfulOutcome");
4187
0
  return c.get<e_c_id_meas_initiation_fail_s>();
4188
0
}
4189
broadcast_context_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::broadcast_context_setup_fail()
4190
0
{
4191
0
  assert_choice_type(types::broadcast_context_setup_fail, type_, "UnsuccessfulOutcome");
4192
0
  return c.get<broadcast_context_setup_fail_s>();
4193
0
}
4194
broadcast_context_mod_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::broadcast_context_mod_fail()
4195
0
{
4196
0
  assert_choice_type(types::broadcast_context_mod_fail, type_, "UnsuccessfulOutcome");
4197
0
  return c.get<broadcast_context_mod_fail_s>();
4198
0
}
4199
multicast_context_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_context_setup_fail()
4200
0
{
4201
0
  assert_choice_type(types::multicast_context_setup_fail, type_, "UnsuccessfulOutcome");
4202
0
  return c.get<multicast_context_setup_fail_s>();
4203
0
}
4204
multicast_context_mod_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_context_mod_fail()
4205
0
{
4206
0
  assert_choice_type(types::multicast_context_mod_fail, type_, "UnsuccessfulOutcome");
4207
0
  return c.get<multicast_context_mod_fail_s>();
4208
0
}
4209
multicast_distribution_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_distribution_setup_fail()
4210
0
{
4211
0
  assert_choice_type(types::multicast_distribution_setup_fail, type_, "UnsuccessfulOutcome");
4212
0
  return c.get<multicast_distribution_setup_fail_s>();
4213
0
}
4214
pdc_meas_initiation_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::pdc_meas_initiation_fail()
4215
0
{
4216
0
  assert_choice_type(types::pdc_meas_initiation_fail, type_, "UnsuccessfulOutcome");
4217
0
  return c.get<pdc_meas_initiation_fail_s>();
4218
0
}
4219
prs_cfg_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::prs_cfg_fail()
4220
0
{
4221
0
  assert_choice_type(types::prs_cfg_fail, type_, "UnsuccessfulOutcome");
4222
0
  return c.get<prs_cfg_fail_s>();
4223
0
}
4224
meas_precfg_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::meas_precfg_refuse()
4225
0
{
4226
0
  assert_choice_type(types::meas_precfg_refuse, type_, "UnsuccessfulOutcome");
4227
0
  return c.get<meas_precfg_refuse_s>();
4228
0
}
4229
timing_synchronisation_status_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::timing_synchronisation_status_fail()
4230
0
{
4231
0
  assert_choice_type(types::timing_synchronisation_status_fail, type_, "UnsuccessfulOutcome");
4232
0
  return c.get<timing_synchronisation_status_fail_s>();
4233
0
}
4234
multicast_context_notif_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_context_notif_refuse()
4235
0
{
4236
0
  assert_choice_type(types::multicast_context_notif_refuse, type_, "UnsuccessfulOutcome");
4237
0
  return c.get<multicast_context_notif_refuse_s>();
4238
0
}
4239
multicast_common_cfg_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_common_cfg_refuse()
4240
0
{
4241
0
  assert_choice_type(types::multicast_common_cfg_refuse, type_, "UnsuccessfulOutcome");
4242
0
  return c.get<multicast_common_cfg_refuse_s>();
4243
0
}
4244
const f1_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::f1_setup_fail() const
4245
0
{
4246
0
  assert_choice_type(types::f1_setup_fail, type_, "UnsuccessfulOutcome");
4247
0
  return c.get<f1_setup_fail_s>();
4248
0
}
4249
const gnb_du_cfg_upd_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::gnb_du_cfg_upd_fail() const
4250
0
{
4251
0
  assert_choice_type(types::gnb_du_cfg_upd_fail, type_, "UnsuccessfulOutcome");
4252
0
  return c.get<gnb_du_cfg_upd_fail_s>();
4253
0
}
4254
const gnb_cu_cfg_upd_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::gnb_cu_cfg_upd_fail() const
4255
0
{
4256
0
  assert_choice_type(types::gnb_cu_cfg_upd_fail, type_, "UnsuccessfulOutcome");
4257
0
  return c.get<gnb_cu_cfg_upd_fail_s>();
4258
0
}
4259
const ue_context_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::ue_context_setup_fail() const
4260
0
{
4261
0
  assert_choice_type(types::ue_context_setup_fail, type_, "UnsuccessfulOutcome");
4262
0
  return c.get<ue_context_setup_fail_s>();
4263
0
}
4264
const ue_context_mod_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::ue_context_mod_fail() const
4265
0
{
4266
0
  assert_choice_type(types::ue_context_mod_fail, type_, "UnsuccessfulOutcome");
4267
0
  return c.get<ue_context_mod_fail_s>();
4268
0
}
4269
const ue_context_mod_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::ue_context_mod_refuse() const
4270
0
{
4271
0
  assert_choice_type(types::ue_context_mod_refuse, type_, "UnsuccessfulOutcome");
4272
0
  return c.get<ue_context_mod_refuse_s>();
4273
0
}
4274
const f1_removal_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::f1_removal_fail() const
4275
0
{
4276
0
  assert_choice_type(types::f1_removal_fail, type_, "UnsuccessfulOutcome");
4277
0
  return c.get<f1_removal_fail_s>();
4278
0
}
4279
const bap_map_cfg_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::bap_map_cfg_fail() const
4280
0
{
4281
0
  assert_choice_type(types::bap_map_cfg_fail, type_, "UnsuccessfulOutcome");
4282
0
  return c.get<bap_map_cfg_fail_s>();
4283
0
}
4284
const gnb_du_res_cfg_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::gnb_du_res_cfg_fail() const
4285
0
{
4286
0
  assert_choice_type(types::gnb_du_res_cfg_fail, type_, "UnsuccessfulOutcome");
4287
0
  return c.get<gnb_du_res_cfg_fail_s>();
4288
0
}
4289
const iab_tnl_address_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::iab_tnl_address_fail() const
4290
0
{
4291
0
  assert_choice_type(types::iab_tnl_address_fail, type_, "UnsuccessfulOutcome");
4292
0
  return c.get<iab_tnl_address_fail_s>();
4293
0
}
4294
const iab_up_cfg_upd_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::iab_up_cfg_upd_fail() const
4295
0
{
4296
0
  assert_choice_type(types::iab_up_cfg_upd_fail, type_, "UnsuccessfulOutcome");
4297
0
  return c.get<iab_up_cfg_upd_fail_s>();
4298
0
}
4299
const res_status_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::res_status_fail() const
4300
0
{
4301
0
  assert_choice_type(types::res_status_fail, type_, "UnsuccessfulOutcome");
4302
0
  return c.get<res_status_fail_s>();
4303
0
}
4304
const positioning_meas_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::positioning_meas_fail() const
4305
0
{
4306
0
  assert_choice_type(types::positioning_meas_fail, type_, "UnsuccessfulOutcome");
4307
0
  return c.get<positioning_meas_fail_s>();
4308
0
}
4309
const trp_info_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::trp_info_fail() const
4310
0
{
4311
0
  assert_choice_type(types::trp_info_fail, type_, "UnsuccessfulOutcome");
4312
0
  return c.get<trp_info_fail_s>();
4313
0
}
4314
const positioning_info_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::positioning_info_fail() const
4315
0
{
4316
0
  assert_choice_type(types::positioning_info_fail, type_, "UnsuccessfulOutcome");
4317
0
  return c.get<positioning_info_fail_s>();
4318
0
}
4319
const positioning_activation_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::positioning_activation_fail() const
4320
0
{
4321
0
  assert_choice_type(types::positioning_activation_fail, type_, "UnsuccessfulOutcome");
4322
0
  return c.get<positioning_activation_fail_s>();
4323
0
}
4324
const e_c_id_meas_initiation_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::e_c_id_meas_initiation_fail() const
4325
0
{
4326
0
  assert_choice_type(types::e_c_id_meas_initiation_fail, type_, "UnsuccessfulOutcome");
4327
0
  return c.get<e_c_id_meas_initiation_fail_s>();
4328
0
}
4329
const broadcast_context_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::broadcast_context_setup_fail() const
4330
0
{
4331
0
  assert_choice_type(types::broadcast_context_setup_fail, type_, "UnsuccessfulOutcome");
4332
0
  return c.get<broadcast_context_setup_fail_s>();
4333
0
}
4334
const broadcast_context_mod_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::broadcast_context_mod_fail() const
4335
0
{
4336
0
  assert_choice_type(types::broadcast_context_mod_fail, type_, "UnsuccessfulOutcome");
4337
0
  return c.get<broadcast_context_mod_fail_s>();
4338
0
}
4339
const multicast_context_setup_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_context_setup_fail() const
4340
0
{
4341
0
  assert_choice_type(types::multicast_context_setup_fail, type_, "UnsuccessfulOutcome");
4342
0
  return c.get<multicast_context_setup_fail_s>();
4343
0
}
4344
const multicast_context_mod_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_context_mod_fail() const
4345
0
{
4346
0
  assert_choice_type(types::multicast_context_mod_fail, type_, "UnsuccessfulOutcome");
4347
0
  return c.get<multicast_context_mod_fail_s>();
4348
0
}
4349
const multicast_distribution_setup_fail_s&
4350
f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_distribution_setup_fail() const
4351
0
{
4352
0
  assert_choice_type(types::multicast_distribution_setup_fail, type_, "UnsuccessfulOutcome");
4353
0
  return c.get<multicast_distribution_setup_fail_s>();
4354
0
}
4355
const pdc_meas_initiation_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::pdc_meas_initiation_fail() const
4356
0
{
4357
0
  assert_choice_type(types::pdc_meas_initiation_fail, type_, "UnsuccessfulOutcome");
4358
0
  return c.get<pdc_meas_initiation_fail_s>();
4359
0
}
4360
const prs_cfg_fail_s& f1ap_elem_procs_o::unsuccessful_outcome_c::prs_cfg_fail() const
4361
0
{
4362
0
  assert_choice_type(types::prs_cfg_fail, type_, "UnsuccessfulOutcome");
4363
0
  return c.get<prs_cfg_fail_s>();
4364
0
}
4365
const meas_precfg_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::meas_precfg_refuse() const
4366
0
{
4367
0
  assert_choice_type(types::meas_precfg_refuse, type_, "UnsuccessfulOutcome");
4368
0
  return c.get<meas_precfg_refuse_s>();
4369
0
}
4370
const timing_synchronisation_status_fail_s&
4371
f1ap_elem_procs_o::unsuccessful_outcome_c::timing_synchronisation_status_fail() const
4372
0
{
4373
0
  assert_choice_type(types::timing_synchronisation_status_fail, type_, "UnsuccessfulOutcome");
4374
0
  return c.get<timing_synchronisation_status_fail_s>();
4375
0
}
4376
const multicast_context_notif_refuse_s&
4377
f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_context_notif_refuse() const
4378
0
{
4379
0
  assert_choice_type(types::multicast_context_notif_refuse, type_, "UnsuccessfulOutcome");
4380
0
  return c.get<multicast_context_notif_refuse_s>();
4381
0
}
4382
const multicast_common_cfg_refuse_s& f1ap_elem_procs_o::unsuccessful_outcome_c::multicast_common_cfg_refuse() const
4383
0
{
4384
0
  assert_choice_type(types::multicast_common_cfg_refuse, type_, "UnsuccessfulOutcome");
4385
0
  return c.get<multicast_common_cfg_refuse_s>();
4386
0
}
4387
void f1ap_elem_procs_o::unsuccessful_outcome_c::to_json(json_writer& j) const
4388
0
{
4389
0
  j.start_obj();
4390
0
  switch (type_) {
4391
0
    case types::f1_setup_fail:
4392
0
      j.write_fieldname("F1SetupFailure");
4393
0
      c.get<f1_setup_fail_s>().to_json(j);
4394
0
      break;
4395
0
    case types::gnb_du_cfg_upd_fail:
4396
0
      j.write_fieldname("GNBDUConfigurationUpdateFailure");
4397
0
      c.get<gnb_du_cfg_upd_fail_s>().to_json(j);
4398
0
      break;
4399
0
    case types::gnb_cu_cfg_upd_fail:
4400
0
      j.write_fieldname("GNBCUConfigurationUpdateFailure");
4401
0
      c.get<gnb_cu_cfg_upd_fail_s>().to_json(j);
4402
0
      break;
4403
0
    case types::ue_context_setup_fail:
4404
0
      j.write_fieldname("UEContextSetupFailure");
4405
0
      c.get<ue_context_setup_fail_s>().to_json(j);
4406
0
      break;
4407
0
    case types::ue_context_mod_fail:
4408
0
      j.write_fieldname("UEContextModificationFailure");
4409
0
      c.get<ue_context_mod_fail_s>().to_json(j);
4410
0
      break;
4411
0
    case types::ue_context_mod_refuse:
4412
0
      j.write_fieldname("UEContextModificationRefuse");
4413
0
      c.get<ue_context_mod_refuse_s>().to_json(j);
4414
0
      break;
4415
0
    case types::f1_removal_fail:
4416
0
      j.write_fieldname("F1RemovalFailure");
4417
0
      c.get<f1_removal_fail_s>().to_json(j);
4418
0
      break;
4419
0
    case types::bap_map_cfg_fail:
4420
0
      j.write_fieldname("BAPMappingConfigurationFailure");
4421
0
      c.get<bap_map_cfg_fail_s>().to_json(j);
4422
0
      break;
4423
0
    case types::gnb_du_res_cfg_fail:
4424
0
      j.write_fieldname("GNBDUResourceConfigurationFailure");
4425
0
      c.get<gnb_du_res_cfg_fail_s>().to_json(j);
4426
0
      break;
4427
0
    case types::iab_tnl_address_fail:
4428
0
      j.write_fieldname("IABTNLAddressFailure");
4429
0
      c.get<iab_tnl_address_fail_s>().to_json(j);
4430
0
      break;
4431
0
    case types::iab_up_cfg_upd_fail:
4432
0
      j.write_fieldname("IABUPConfigurationUpdateFailure");
4433
0
      c.get<iab_up_cfg_upd_fail_s>().to_json(j);
4434
0
      break;
4435
0
    case types::res_status_fail:
4436
0
      j.write_fieldname("ResourceStatusFailure");
4437
0
      c.get<res_status_fail_s>().to_json(j);
4438
0
      break;
4439
0
    case types::positioning_meas_fail:
4440
0
      j.write_fieldname("PositioningMeasurementFailure");
4441
0
      c.get<positioning_meas_fail_s>().to_json(j);
4442
0
      break;
4443
0
    case types::trp_info_fail:
4444
0
      j.write_fieldname("TRPInformationFailure");
4445
0
      c.get<trp_info_fail_s>().to_json(j);
4446
0
      break;
4447
0
    case types::positioning_info_fail:
4448
0
      j.write_fieldname("PositioningInformationFailure");
4449
0
      c.get<positioning_info_fail_s>().to_json(j);
4450
0
      break;
4451
0
    case types::positioning_activation_fail:
4452
0
      j.write_fieldname("PositioningActivationFailure");
4453
0
      c.get<positioning_activation_fail_s>().to_json(j);
4454
0
      break;
4455
0
    case types::e_c_id_meas_initiation_fail:
4456
0
      j.write_fieldname("E-CIDMeasurementInitiationFailure");
4457
0
      c.get<e_c_id_meas_initiation_fail_s>().to_json(j);
4458
0
      break;
4459
0
    case types::broadcast_context_setup_fail:
4460
0
      j.write_fieldname("BroadcastContextSetupFailure");
4461
0
      c.get<broadcast_context_setup_fail_s>().to_json(j);
4462
0
      break;
4463
0
    case types::broadcast_context_mod_fail:
4464
0
      j.write_fieldname("BroadcastContextModificationFailure");
4465
0
      c.get<broadcast_context_mod_fail_s>().to_json(j);
4466
0
      break;
4467
0
    case types::multicast_context_setup_fail:
4468
0
      j.write_fieldname("MulticastContextSetupFailure");
4469
0
      c.get<multicast_context_setup_fail_s>().to_json(j);
4470
0
      break;
4471
0
    case types::multicast_context_mod_fail:
4472
0
      j.write_fieldname("MulticastContextModificationFailure");
4473
0
      c.get<multicast_context_mod_fail_s>().to_json(j);
4474
0
      break;
4475
0
    case types::multicast_distribution_setup_fail:
4476
0
      j.write_fieldname("MulticastDistributionSetupFailure");
4477
0
      c.get<multicast_distribution_setup_fail_s>().to_json(j);
4478
0
      break;
4479
0
    case types::pdc_meas_initiation_fail:
4480
0
      j.write_fieldname("PDCMeasurementInitiationFailure");
4481
0
      c.get<pdc_meas_initiation_fail_s>().to_json(j);
4482
0
      break;
4483
0
    case types::prs_cfg_fail:
4484
0
      j.write_fieldname("PRSConfigurationFailure");
4485
0
      c.get<prs_cfg_fail_s>().to_json(j);
4486
0
      break;
4487
0
    case types::meas_precfg_refuse:
4488
0
      j.write_fieldname("MeasurementPreconfigurationRefuse");
4489
0
      c.get<meas_precfg_refuse_s>().to_json(j);
4490
0
      break;
4491
0
    case types::timing_synchronisation_status_fail:
4492
0
      j.write_fieldname("TimingSynchronisationStatusFailure");
4493
0
      c.get<timing_synchronisation_status_fail_s>().to_json(j);
4494
0
      break;
4495
0
    case types::multicast_context_notif_refuse:
4496
0
      j.write_fieldname("MulticastContextNotificationRefuse");
4497
0
      c.get<multicast_context_notif_refuse_s>().to_json(j);
4498
0
      break;
4499
0
    case types::multicast_common_cfg_refuse:
4500
0
      j.write_fieldname("MulticastCommonConfigurationRefuse");
4501
0
      c.get<multicast_common_cfg_refuse_s>().to_json(j);
4502
0
      break;
4503
0
    default:
4504
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::unsuccessful_outcome_c");
4505
0
  }
4506
0
  j.end_obj();
4507
0
}
4508
OCUDUASN_CODE f1ap_elem_procs_o::unsuccessful_outcome_c::pack(bit_ref& bref) const
4509
0
{
4510
0
  varlength_field_pack_guard varlen_scope(bref, true);
4511
0
  switch (type_) {
4512
0
    case types::f1_setup_fail:
4513
0
      HANDLE_CODE(c.get<f1_setup_fail_s>().pack(bref));
4514
0
      break;
4515
0
    case types::gnb_du_cfg_upd_fail:
4516
0
      HANDLE_CODE(c.get<gnb_du_cfg_upd_fail_s>().pack(bref));
4517
0
      break;
4518
0
    case types::gnb_cu_cfg_upd_fail:
4519
0
      HANDLE_CODE(c.get<gnb_cu_cfg_upd_fail_s>().pack(bref));
4520
0
      break;
4521
0
    case types::ue_context_setup_fail:
4522
0
      HANDLE_CODE(c.get<ue_context_setup_fail_s>().pack(bref));
4523
0
      break;
4524
0
    case types::ue_context_mod_fail:
4525
0
      HANDLE_CODE(c.get<ue_context_mod_fail_s>().pack(bref));
4526
0
      break;
4527
0
    case types::ue_context_mod_refuse:
4528
0
      HANDLE_CODE(c.get<ue_context_mod_refuse_s>().pack(bref));
4529
0
      break;
4530
0
    case types::f1_removal_fail:
4531
0
      HANDLE_CODE(c.get<f1_removal_fail_s>().pack(bref));
4532
0
      break;
4533
0
    case types::bap_map_cfg_fail:
4534
0
      HANDLE_CODE(c.get<bap_map_cfg_fail_s>().pack(bref));
4535
0
      break;
4536
0
    case types::gnb_du_res_cfg_fail:
4537
0
      HANDLE_CODE(c.get<gnb_du_res_cfg_fail_s>().pack(bref));
4538
0
      break;
4539
0
    case types::iab_tnl_address_fail:
4540
0
      HANDLE_CODE(c.get<iab_tnl_address_fail_s>().pack(bref));
4541
0
      break;
4542
0
    case types::iab_up_cfg_upd_fail:
4543
0
      HANDLE_CODE(c.get<iab_up_cfg_upd_fail_s>().pack(bref));
4544
0
      break;
4545
0
    case types::res_status_fail:
4546
0
      HANDLE_CODE(c.get<res_status_fail_s>().pack(bref));
4547
0
      break;
4548
0
    case types::positioning_meas_fail:
4549
0
      HANDLE_CODE(c.get<positioning_meas_fail_s>().pack(bref));
4550
0
      break;
4551
0
    case types::trp_info_fail:
4552
0
      HANDLE_CODE(c.get<trp_info_fail_s>().pack(bref));
4553
0
      break;
4554
0
    case types::positioning_info_fail:
4555
0
      HANDLE_CODE(c.get<positioning_info_fail_s>().pack(bref));
4556
0
      break;
4557
0
    case types::positioning_activation_fail:
4558
0
      HANDLE_CODE(c.get<positioning_activation_fail_s>().pack(bref));
4559
0
      break;
4560
0
    case types::e_c_id_meas_initiation_fail:
4561
0
      HANDLE_CODE(c.get<e_c_id_meas_initiation_fail_s>().pack(bref));
4562
0
      break;
4563
0
    case types::broadcast_context_setup_fail:
4564
0
      HANDLE_CODE(c.get<broadcast_context_setup_fail_s>().pack(bref));
4565
0
      break;
4566
0
    case types::broadcast_context_mod_fail:
4567
0
      HANDLE_CODE(c.get<broadcast_context_mod_fail_s>().pack(bref));
4568
0
      break;
4569
0
    case types::multicast_context_setup_fail:
4570
0
      HANDLE_CODE(c.get<multicast_context_setup_fail_s>().pack(bref));
4571
0
      break;
4572
0
    case types::multicast_context_mod_fail:
4573
0
      HANDLE_CODE(c.get<multicast_context_mod_fail_s>().pack(bref));
4574
0
      break;
4575
0
    case types::multicast_distribution_setup_fail:
4576
0
      HANDLE_CODE(c.get<multicast_distribution_setup_fail_s>().pack(bref));
4577
0
      break;
4578
0
    case types::pdc_meas_initiation_fail:
4579
0
      HANDLE_CODE(c.get<pdc_meas_initiation_fail_s>().pack(bref));
4580
0
      break;
4581
0
    case types::prs_cfg_fail:
4582
0
      HANDLE_CODE(c.get<prs_cfg_fail_s>().pack(bref));
4583
0
      break;
4584
0
    case types::meas_precfg_refuse:
4585
0
      HANDLE_CODE(c.get<meas_precfg_refuse_s>().pack(bref));
4586
0
      break;
4587
0
    case types::timing_synchronisation_status_fail:
4588
0
      HANDLE_CODE(c.get<timing_synchronisation_status_fail_s>().pack(bref));
4589
0
      break;
4590
0
    case types::multicast_context_notif_refuse:
4591
0
      HANDLE_CODE(c.get<multicast_context_notif_refuse_s>().pack(bref));
4592
0
      break;
4593
0
    case types::multicast_common_cfg_refuse:
4594
0
      HANDLE_CODE(c.get<multicast_common_cfg_refuse_s>().pack(bref));
4595
0
      break;
4596
0
    default:
4597
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::unsuccessful_outcome_c");
4598
0
      return OCUDUASN_ERROR_ENCODE_FAIL;
4599
0
  }
4600
0
  return OCUDUASN_SUCCESS;
4601
0
}
4602
OCUDUASN_CODE f1ap_elem_procs_o::unsuccessful_outcome_c::unpack(cbit_ref& bref)
4603
0
{
4604
0
  varlength_field_unpack_guard varlen_scope(bref, true);
4605
0
  switch (type_) {
4606
0
    case types::f1_setup_fail:
4607
0
      HANDLE_CODE(c.get<f1_setup_fail_s>().unpack(bref));
4608
0
      break;
4609
0
    case types::gnb_du_cfg_upd_fail:
4610
0
      HANDLE_CODE(c.get<gnb_du_cfg_upd_fail_s>().unpack(bref));
4611
0
      break;
4612
0
    case types::gnb_cu_cfg_upd_fail:
4613
0
      HANDLE_CODE(c.get<gnb_cu_cfg_upd_fail_s>().unpack(bref));
4614
0
      break;
4615
0
    case types::ue_context_setup_fail:
4616
0
      HANDLE_CODE(c.get<ue_context_setup_fail_s>().unpack(bref));
4617
0
      break;
4618
0
    case types::ue_context_mod_fail:
4619
0
      HANDLE_CODE(c.get<ue_context_mod_fail_s>().unpack(bref));
4620
0
      break;
4621
0
    case types::ue_context_mod_refuse:
4622
0
      HANDLE_CODE(c.get<ue_context_mod_refuse_s>().unpack(bref));
4623
0
      break;
4624
0
    case types::f1_removal_fail:
4625
0
      HANDLE_CODE(c.get<f1_removal_fail_s>().unpack(bref));
4626
0
      break;
4627
0
    case types::bap_map_cfg_fail:
4628
0
      HANDLE_CODE(c.get<bap_map_cfg_fail_s>().unpack(bref));
4629
0
      break;
4630
0
    case types::gnb_du_res_cfg_fail:
4631
0
      HANDLE_CODE(c.get<gnb_du_res_cfg_fail_s>().unpack(bref));
4632
0
      break;
4633
0
    case types::iab_tnl_address_fail:
4634
0
      HANDLE_CODE(c.get<iab_tnl_address_fail_s>().unpack(bref));
4635
0
      break;
4636
0
    case types::iab_up_cfg_upd_fail:
4637
0
      HANDLE_CODE(c.get<iab_up_cfg_upd_fail_s>().unpack(bref));
4638
0
      break;
4639
0
    case types::res_status_fail:
4640
0
      HANDLE_CODE(c.get<res_status_fail_s>().unpack(bref));
4641
0
      break;
4642
0
    case types::positioning_meas_fail:
4643
0
      HANDLE_CODE(c.get<positioning_meas_fail_s>().unpack(bref));
4644
0
      break;
4645
0
    case types::trp_info_fail:
4646
0
      HANDLE_CODE(c.get<trp_info_fail_s>().unpack(bref));
4647
0
      break;
4648
0
    case types::positioning_info_fail:
4649
0
      HANDLE_CODE(c.get<positioning_info_fail_s>().unpack(bref));
4650
0
      break;
4651
0
    case types::positioning_activation_fail:
4652
0
      HANDLE_CODE(c.get<positioning_activation_fail_s>().unpack(bref));
4653
0
      break;
4654
0
    case types::e_c_id_meas_initiation_fail:
4655
0
      HANDLE_CODE(c.get<e_c_id_meas_initiation_fail_s>().unpack(bref));
4656
0
      break;
4657
0
    case types::broadcast_context_setup_fail:
4658
0
      HANDLE_CODE(c.get<broadcast_context_setup_fail_s>().unpack(bref));
4659
0
      break;
4660
0
    case types::broadcast_context_mod_fail:
4661
0
      HANDLE_CODE(c.get<broadcast_context_mod_fail_s>().unpack(bref));
4662
0
      break;
4663
0
    case types::multicast_context_setup_fail:
4664
0
      HANDLE_CODE(c.get<multicast_context_setup_fail_s>().unpack(bref));
4665
0
      break;
4666
0
    case types::multicast_context_mod_fail:
4667
0
      HANDLE_CODE(c.get<multicast_context_mod_fail_s>().unpack(bref));
4668
0
      break;
4669
0
    case types::multicast_distribution_setup_fail:
4670
0
      HANDLE_CODE(c.get<multicast_distribution_setup_fail_s>().unpack(bref));
4671
0
      break;
4672
0
    case types::pdc_meas_initiation_fail:
4673
0
      HANDLE_CODE(c.get<pdc_meas_initiation_fail_s>().unpack(bref));
4674
0
      break;
4675
0
    case types::prs_cfg_fail:
4676
0
      HANDLE_CODE(c.get<prs_cfg_fail_s>().unpack(bref));
4677
0
      break;
4678
0
    case types::meas_precfg_refuse:
4679
0
      HANDLE_CODE(c.get<meas_precfg_refuse_s>().unpack(bref));
4680
0
      break;
4681
0
    case types::timing_synchronisation_status_fail:
4682
0
      HANDLE_CODE(c.get<timing_synchronisation_status_fail_s>().unpack(bref));
4683
0
      break;
4684
0
    case types::multicast_context_notif_refuse:
4685
0
      HANDLE_CODE(c.get<multicast_context_notif_refuse_s>().unpack(bref));
4686
0
      break;
4687
0
    case types::multicast_common_cfg_refuse:
4688
0
      HANDLE_CODE(c.get<multicast_common_cfg_refuse_s>().unpack(bref));
4689
0
      break;
4690
0
    default:
4691
0
      log_invalid_choice_id(type_, "f1ap_elem_procs_o::unsuccessful_outcome_c");
4692
0
      return OCUDUASN_ERROR_DECODE_FAIL;
4693
0
  }
4694
0
  return OCUDUASN_SUCCESS;
4695
0
}
4696
4697
const char* f1ap_elem_procs_o::unsuccessful_outcome_c::types_opts::to_string() const
4698
0
{
4699
0
  static const char* names[] = {"F1SetupFailure",
4700
0
                                "GNBDUConfigurationUpdateFailure",
4701
0
                                "GNBCUConfigurationUpdateFailure",
4702
0
                                "UEContextSetupFailure",
4703
0
                                "UEContextModificationFailure",
4704
0
                                "UEContextModificationRefuse",
4705
0
                                "F1RemovalFailure",
4706
0
                                "BAPMappingConfigurationFailure",
4707
0
                                "GNBDUResourceConfigurationFailure",
4708
0
                                "IABTNLAddressFailure",
4709
0
                                "IABUPConfigurationUpdateFailure",
4710
0
                                "ResourceStatusFailure",
4711
0
                                "PositioningMeasurementFailure",
4712
0
                                "TRPInformationFailure",
4713
0
                                "PositioningInformationFailure",
4714
0
                                "PositioningActivationFailure",
4715
0
                                "E-CIDMeasurementInitiationFailure",
4716
0
                                "BroadcastContextSetupFailure",
4717
0
                                "BroadcastContextModificationFailure",
4718
0
                                "MulticastContextSetupFailure",
4719
0
                                "MulticastContextModificationFailure",
4720
0
                                "MulticastDistributionSetupFailure",
4721
0
                                "PDCMeasurementInitiationFailure",
4722
0
                                "PRSConfigurationFailure",
4723
0
                                "MeasurementPreconfigurationRefuse",
4724
0
                                "TimingSynchronisationStatusFailure",
4725
0
                                "MulticastContextNotificationRefuse",
4726
0
                                "MulticastCommonConfigurationRefuse"};
4727
0
  return convert_enum_idx(names, 28, value, "f1ap_elem_procs_o::unsuccessful_outcome_c::types");
4728
0
}
4729
4730
// InitiatingMessage ::= SEQUENCE{{F1AP-ELEMENTARY-PROCEDURE}}
4731
OCUDUASN_CODE init_msg_s::pack(bit_ref& bref) const
4732
0
{
4733
0
  HANDLE_CODE(pack_integer(bref, proc_code, (uint16_t)0u, (uint16_t)255u, false, true));
4734
0
  warn_assert(crit != f1ap_elem_procs_o::get_crit(proc_code), __func__, __LINE__);
4735
0
  HANDLE_CODE(crit.pack(bref));
4736
0
  HANDLE_CODE(value.pack(bref));
4737
4738
0
  return OCUDUASN_SUCCESS;
4739
0
}
4740
OCUDUASN_CODE init_msg_s::unpack(cbit_ref& bref)
4741
0
{
4742
0
  HANDLE_CODE(unpack_integer(proc_code, bref, (uint16_t)0u, (uint16_t)255u, false, true));
4743
0
  HANDLE_CODE(crit.unpack(bref));
4744
0
  value = f1ap_elem_procs_o::get_init_msg(proc_code);
4745
0
  HANDLE_CODE(value.unpack(bref));
4746
4747
0
  return OCUDUASN_SUCCESS;
4748
0
}
4749
void init_msg_s::to_json(json_writer& j) const
4750
0
{
4751
0
  j.start_obj();
4752
0
  j.write_int("procedureCode", proc_code);
4753
0
  j.write_str("criticality", crit.to_string());
4754
0
  j.write_fieldname("value");
4755
0
  value.to_json(j);
4756
0
  j.end_obj();
4757
0
}
4758
bool init_msg_s::load_info_obj(const uint16_t& proc_code_)
4759
0
{
4760
0
  if (not f1ap_elem_procs_o::is_proc_code_valid(proc_code_)) {
4761
0
    return false;
4762
0
  }
4763
0
  proc_code = proc_code_;
4764
0
  crit      = f1ap_elem_procs_o::get_crit(proc_code);
4765
0
  value     = f1ap_elem_procs_o::get_init_msg(proc_code);
4766
0
  return value.type().value != f1ap_elem_procs_o::init_msg_c::types_opts::nulltype;
4767
0
}
4768
4769
// SuccessfulOutcome ::= SEQUENCE{{F1AP-ELEMENTARY-PROCEDURE}}
4770
OCUDUASN_CODE successful_outcome_s::pack(bit_ref& bref) const
4771
0
{
4772
0
  HANDLE_CODE(pack_integer(bref, proc_code, (uint16_t)0u, (uint16_t)255u, false, true));
4773
0
  warn_assert(crit != f1ap_elem_procs_o::get_crit(proc_code), __func__, __LINE__);
4774
0
  HANDLE_CODE(crit.pack(bref));
4775
0
  HANDLE_CODE(value.pack(bref));
4776
4777
0
  return OCUDUASN_SUCCESS;
4778
0
}
4779
OCUDUASN_CODE successful_outcome_s::unpack(cbit_ref& bref)
4780
0
{
4781
0
  HANDLE_CODE(unpack_integer(proc_code, bref, (uint16_t)0u, (uint16_t)255u, false, true));
4782
0
  HANDLE_CODE(crit.unpack(bref));
4783
0
  value = f1ap_elem_procs_o::get_successful_outcome(proc_code);
4784
0
  HANDLE_CODE(value.unpack(bref));
4785
4786
0
  return OCUDUASN_SUCCESS;
4787
0
}
4788
void successful_outcome_s::to_json(json_writer& j) const
4789
0
{
4790
0
  j.start_obj();
4791
0
  j.write_int("procedureCode", proc_code);
4792
0
  j.write_str("criticality", crit.to_string());
4793
0
  j.write_fieldname("value");
4794
0
  value.to_json(j);
4795
0
  j.end_obj();
4796
0
}
4797
bool successful_outcome_s::load_info_obj(const uint16_t& proc_code_)
4798
0
{
4799
0
  if (not f1ap_elem_procs_o::is_proc_code_valid(proc_code_)) {
4800
0
    return false;
4801
0
  }
4802
0
  proc_code = proc_code_;
4803
0
  crit      = f1ap_elem_procs_o::get_crit(proc_code);
4804
0
  value     = f1ap_elem_procs_o::get_successful_outcome(proc_code);
4805
0
  return value.type().value != f1ap_elem_procs_o::successful_outcome_c::types_opts::nulltype;
4806
0
}
4807
4808
// UnsuccessfulOutcome ::= SEQUENCE{{F1AP-ELEMENTARY-PROCEDURE}}
4809
OCUDUASN_CODE unsuccessful_outcome_s::pack(bit_ref& bref) const
4810
0
{
4811
0
  HANDLE_CODE(pack_integer(bref, proc_code, (uint16_t)0u, (uint16_t)255u, false, true));
4812
0
  warn_assert(crit != f1ap_elem_procs_o::get_crit(proc_code), __func__, __LINE__);
4813
0
  HANDLE_CODE(crit.pack(bref));
4814
0
  HANDLE_CODE(value.pack(bref));
4815
4816
0
  return OCUDUASN_SUCCESS;
4817
0
}
4818
OCUDUASN_CODE unsuccessful_outcome_s::unpack(cbit_ref& bref)
4819
0
{
4820
0
  HANDLE_CODE(unpack_integer(proc_code, bref, (uint16_t)0u, (uint16_t)255u, false, true));
4821
0
  HANDLE_CODE(crit.unpack(bref));
4822
0
  value = f1ap_elem_procs_o::get_unsuccessful_outcome(proc_code);
4823
0
  HANDLE_CODE(value.unpack(bref));
4824
4825
0
  return OCUDUASN_SUCCESS;
4826
0
}
4827
void unsuccessful_outcome_s::to_json(json_writer& j) const
4828
0
{
4829
0
  j.start_obj();
4830
0
  j.write_int("procedureCode", proc_code);
4831
0
  j.write_str("criticality", crit.to_string());
4832
0
  j.write_fieldname("value");
4833
0
  value.to_json(j);
4834
0
  j.end_obj();
4835
0
}
4836
bool unsuccessful_outcome_s::load_info_obj(const uint16_t& proc_code_)
4837
0
{
4838
0
  if (not f1ap_elem_procs_o::is_proc_code_valid(proc_code_)) {
4839
0
    return false;
4840
0
  }
4841
0
  proc_code = proc_code_;
4842
0
  crit      = f1ap_elem_procs_o::get_crit(proc_code);
4843
0
  value     = f1ap_elem_procs_o::get_unsuccessful_outcome(proc_code);
4844
0
  return value.type().value != f1ap_elem_procs_o::unsuccessful_outcome_c::types_opts::nulltype;
4845
0
}
4846
4847
// F1AP-PDU ::= CHOICE
4848
void f1ap_pdu_c::destroy_()
4849
0
{
4850
0
  switch (type_) {
4851
0
    case types::init_msg:
4852
0
      c.destroy<init_msg_s>();
4853
0
      break;
4854
0
    case types::successful_outcome:
4855
0
      c.destroy<successful_outcome_s>();
4856
0
      break;
4857
0
    case types::unsuccessful_outcome:
4858
0
      c.destroy<unsuccessful_outcome_s>();
4859
0
      break;
4860
0
    case types::choice_ext:
4861
0
      c.destroy<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>();
4862
0
      break;
4863
0
    default:
4864
0
      break;
4865
0
  }
4866
0
}
4867
void f1ap_pdu_c::set(types::options e)
4868
0
{
4869
0
  destroy_();
4870
0
  type_ = e;
4871
0
  switch (type_) {
4872
0
    case types::init_msg:
4873
0
      c.init<init_msg_s>();
4874
0
      break;
4875
0
    case types::successful_outcome:
4876
0
      c.init<successful_outcome_s>();
4877
0
      break;
4878
0
    case types::unsuccessful_outcome:
4879
0
      c.init<unsuccessful_outcome_s>();
4880
0
      break;
4881
0
    case types::choice_ext:
4882
0
      c.init<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>();
4883
0
      break;
4884
0
    case types::nulltype:
4885
0
      break;
4886
0
    default:
4887
0
      log_invalid_choice_id(type_, "f1ap_pdu_c");
4888
0
  }
4889
0
}
4890
f1ap_pdu_c::f1ap_pdu_c(const f1ap_pdu_c& other)
4891
0
{
4892
0
  type_ = other.type();
4893
0
  switch (type_) {
4894
0
    case types::init_msg:
4895
0
      c.init(other.c.get<init_msg_s>());
4896
0
      break;
4897
0
    case types::successful_outcome:
4898
0
      c.init(other.c.get<successful_outcome_s>());
4899
0
      break;
4900
0
    case types::unsuccessful_outcome:
4901
0
      c.init(other.c.get<unsuccessful_outcome_s>());
4902
0
      break;
4903
0
    case types::choice_ext:
4904
0
      c.init(other.c.get<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>());
4905
0
      break;
4906
0
    case types::nulltype:
4907
0
      break;
4908
0
    default:
4909
0
      log_invalid_choice_id(type_, "f1ap_pdu_c");
4910
0
  }
4911
0
}
4912
f1ap_pdu_c& f1ap_pdu_c::operator=(const f1ap_pdu_c& other)
4913
0
{
4914
0
  if (this == &other) {
4915
0
    return *this;
4916
0
  }
4917
0
  set(other.type());
4918
0
  switch (type_) {
4919
0
    case types::init_msg:
4920
0
      c.set(other.c.get<init_msg_s>());
4921
0
      break;
4922
0
    case types::successful_outcome:
4923
0
      c.set(other.c.get<successful_outcome_s>());
4924
0
      break;
4925
0
    case types::unsuccessful_outcome:
4926
0
      c.set(other.c.get<unsuccessful_outcome_s>());
4927
0
      break;
4928
0
    case types::choice_ext:
4929
0
      c.set(other.c.get<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>());
4930
0
      break;
4931
0
    case types::nulltype:
4932
0
      break;
4933
0
    default:
4934
0
      log_invalid_choice_id(type_, "f1ap_pdu_c");
4935
0
  }
4936
4937
0
  return *this;
4938
0
}
4939
init_msg_s& f1ap_pdu_c::set_init_msg()
4940
0
{
4941
0
  set(types::init_msg);
4942
0
  return c.get<init_msg_s>();
4943
0
}
4944
successful_outcome_s& f1ap_pdu_c::set_successful_outcome()
4945
0
{
4946
0
  set(types::successful_outcome);
4947
0
  return c.get<successful_outcome_s>();
4948
0
}
4949
unsuccessful_outcome_s& f1ap_pdu_c::set_unsuccessful_outcome()
4950
0
{
4951
0
  set(types::unsuccessful_outcome);
4952
0
  return c.get<unsuccessful_outcome_s>();
4953
0
}
4954
protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>& f1ap_pdu_c::set_choice_ext()
4955
0
{
4956
0
  set(types::choice_ext);
4957
0
  return c.get<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>();
4958
0
}
4959
void f1ap_pdu_c::to_json(json_writer& j) const
4960
0
{
4961
0
  j.start_obj();
4962
0
  switch (type_) {
4963
0
    case types::init_msg:
4964
0
      j.write_fieldname("initiatingMessage");
4965
0
      c.get<init_msg_s>().to_json(j);
4966
0
      break;
4967
0
    case types::successful_outcome:
4968
0
      j.write_fieldname("successfulOutcome");
4969
0
      c.get<successful_outcome_s>().to_json(j);
4970
0
      break;
4971
0
    case types::unsuccessful_outcome:
4972
0
      j.write_fieldname("unsuccessfulOutcome");
4973
0
      c.get<unsuccessful_outcome_s>().to_json(j);
4974
0
      break;
4975
0
    case types::choice_ext:
4976
0
      j.write_fieldname("choice-extension");
4977
0
      c.get<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>().to_json(j);
4978
0
      break;
4979
0
    default:
4980
0
      log_invalid_choice_id(type_, "f1ap_pdu_c");
4981
0
  }
4982
0
  j.end_obj();
4983
0
}
4984
OCUDUASN_CODE f1ap_pdu_c::pack(bit_ref& bref) const
4985
0
{
4986
0
  type_.pack(bref);
4987
0
  switch (type_) {
4988
0
    case types::init_msg:
4989
0
      HANDLE_CODE(c.get<init_msg_s>().pack(bref));
4990
0
      break;
4991
0
    case types::successful_outcome:
4992
0
      HANDLE_CODE(c.get<successful_outcome_s>().pack(bref));
4993
0
      break;
4994
0
    case types::unsuccessful_outcome:
4995
0
      HANDLE_CODE(c.get<unsuccessful_outcome_s>().pack(bref));
4996
0
      break;
4997
0
    case types::choice_ext:
4998
0
      HANDLE_CODE(c.get<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>().pack(bref));
4999
0
      break;
5000
0
    default:
5001
0
      log_invalid_choice_id(type_, "f1ap_pdu_c");
5002
0
      return OCUDUASN_ERROR_ENCODE_FAIL;
5003
0
  }
5004
0
  return OCUDUASN_SUCCESS;
5005
0
}
5006
OCUDUASN_CODE f1ap_pdu_c::unpack(cbit_ref& bref)
5007
0
{
5008
0
  types e;
5009
0
  e.unpack(bref);
5010
0
  set(e);
5011
0
  switch (type_) {
5012
0
    case types::init_msg:
5013
0
      HANDLE_CODE(c.get<init_msg_s>().unpack(bref));
5014
0
      break;
5015
0
    case types::successful_outcome:
5016
0
      HANDLE_CODE(c.get<successful_outcome_s>().unpack(bref));
5017
0
      break;
5018
0
    case types::unsuccessful_outcome:
5019
0
      HANDLE_CODE(c.get<unsuccessful_outcome_s>().unpack(bref));
5020
0
      break;
5021
0
    case types::choice_ext:
5022
0
      HANDLE_CODE(c.get<protocol_ie_single_container_s<f1ap_pdu_ext_ies_o>>().unpack(bref));
5023
0
      break;
5024
0
    default:
5025
0
      log_invalid_choice_id(type_, "f1ap_pdu_c");
5026
0
      return OCUDUASN_ERROR_DECODE_FAIL;
5027
0
  }
5028
0
  return OCUDUASN_SUCCESS;
5029
0
}
5030
5031
const char* f1ap_pdu_c::types_opts::to_string() const
5032
0
{
5033
0
  static const char* names[] = {"initiatingMessage", "successfulOutcome", "unsuccessfulOutcome", "choice-extension"};
5034
0
  return convert_enum_idx(names, 4, value, "f1ap_pdu_c::types");
5035
0
}