2021-07-07 08:32:55 +00:00
# include <stdlib.h>
# include <string.h>
# include <stdio.h>
# include "events_subsc_put_data.h"
OpenAPI_events_subsc_put_data_t * OpenAPI_events_subsc_put_data_create (
OpenAPI_list_t * events ,
char * notif_uri ,
OpenAPI_list_t * req_qos_mon_params ,
OpenAPI_qos_monitoring_information_t * qos_mon ,
OpenAPI_list_t * req_anis ,
OpenAPI_usage_threshold_t * usg_thres ,
char * notif_corre_id ,
2023-03-01 10:56:49 +00:00
OpenAPI_list_t * af_app_ids ,
bool is_direct_notif_ind ,
int direct_notif_ind ,
OpenAPI_list_t * ad_reports ,
2021-07-07 08:32:55 +00:00
OpenAPI_access_type_e access_type ,
OpenAPI_additional_access_info_t * add_access_info ,
OpenAPI_additional_access_info_t * rel_access_info ,
OpenAPI_acc_net_charging_address_t * an_charg_addr ,
OpenAPI_list_t * an_charg_ids ,
OpenAPI_an_gw_address_t * an_gw_addr ,
char * ev_subs_uri ,
OpenAPI_list_t * ev_notifs ,
OpenAPI_list_t * failed_resourc_alloc_reports ,
OpenAPI_list_t * succ_resourc_alloc_reports ,
OpenAPI_net_loc_access_support_e no_net_loc_supp ,
OpenAPI_list_t * out_of_cred_reports ,
OpenAPI_plmn_id_nid_t * plmn_id ,
OpenAPI_list_t * qnc_reports ,
OpenAPI_list_t * qos_mon_reports ,
OpenAPI_list_t * ran_nas_rel_causes ,
OpenAPI_rat_type_e rat_type ,
2023-03-01 10:56:49 +00:00
OpenAPI_satellite_backhaul_category_e sat_backhaul_category ,
2021-07-07 08:32:55 +00:00
OpenAPI_user_location_t * ue_loc ,
2023-03-01 10:56:49 +00:00
char * ue_loc_time ,
2021-07-07 08:32:55 +00:00
char * ue_time_zone ,
OpenAPI_accumulated_usage_t * usg_rep ,
OpenAPI_bridge_management_container_t * tsn_bridge_man_cont ,
OpenAPI_port_management_container_t * tsn_port_man_cont_dstt ,
OpenAPI_list_t * tsn_port_man_cont_nwtts
)
{
2022-01-03 23:29:18 +00:00
OpenAPI_events_subsc_put_data_t * events_subsc_put_data_local_var = ogs_malloc ( sizeof ( OpenAPI_events_subsc_put_data_t ) ) ;
ogs_assert ( events_subsc_put_data_local_var ) ;
2021-07-07 08:32:55 +00:00
events_subsc_put_data_local_var - > events = events ;
events_subsc_put_data_local_var - > notif_uri = notif_uri ;
events_subsc_put_data_local_var - > req_qos_mon_params = req_qos_mon_params ;
events_subsc_put_data_local_var - > qos_mon = qos_mon ;
events_subsc_put_data_local_var - > req_anis = req_anis ;
events_subsc_put_data_local_var - > usg_thres = usg_thres ;
events_subsc_put_data_local_var - > notif_corre_id = notif_corre_id ;
2023-03-01 10:56:49 +00:00
events_subsc_put_data_local_var - > af_app_ids = af_app_ids ;
events_subsc_put_data_local_var - > is_direct_notif_ind = is_direct_notif_ind ;
events_subsc_put_data_local_var - > direct_notif_ind = direct_notif_ind ;
events_subsc_put_data_local_var - > ad_reports = ad_reports ;
2021-07-07 08:32:55 +00:00
events_subsc_put_data_local_var - > access_type = access_type ;
events_subsc_put_data_local_var - > add_access_info = add_access_info ;
events_subsc_put_data_local_var - > rel_access_info = rel_access_info ;
events_subsc_put_data_local_var - > an_charg_addr = an_charg_addr ;
events_subsc_put_data_local_var - > an_charg_ids = an_charg_ids ;
events_subsc_put_data_local_var - > an_gw_addr = an_gw_addr ;
events_subsc_put_data_local_var - > ev_subs_uri = ev_subs_uri ;
events_subsc_put_data_local_var - > ev_notifs = ev_notifs ;
events_subsc_put_data_local_var - > failed_resourc_alloc_reports = failed_resourc_alloc_reports ;
events_subsc_put_data_local_var - > succ_resourc_alloc_reports = succ_resourc_alloc_reports ;
events_subsc_put_data_local_var - > no_net_loc_supp = no_net_loc_supp ;
events_subsc_put_data_local_var - > out_of_cred_reports = out_of_cred_reports ;
events_subsc_put_data_local_var - > plmn_id = plmn_id ;
events_subsc_put_data_local_var - > qnc_reports = qnc_reports ;
events_subsc_put_data_local_var - > qos_mon_reports = qos_mon_reports ;
events_subsc_put_data_local_var - > ran_nas_rel_causes = ran_nas_rel_causes ;
events_subsc_put_data_local_var - > rat_type = rat_type ;
2023-03-01 10:56:49 +00:00
events_subsc_put_data_local_var - > sat_backhaul_category = sat_backhaul_category ;
2021-07-07 08:32:55 +00:00
events_subsc_put_data_local_var - > ue_loc = ue_loc ;
2023-03-01 10:56:49 +00:00
events_subsc_put_data_local_var - > ue_loc_time = ue_loc_time ;
2021-07-07 08:32:55 +00:00
events_subsc_put_data_local_var - > ue_time_zone = ue_time_zone ;
events_subsc_put_data_local_var - > usg_rep = usg_rep ;
events_subsc_put_data_local_var - > tsn_bridge_man_cont = tsn_bridge_man_cont ;
events_subsc_put_data_local_var - > tsn_port_man_cont_dstt = tsn_port_man_cont_dstt ;
events_subsc_put_data_local_var - > tsn_port_man_cont_nwtts = tsn_port_man_cont_nwtts ;
return events_subsc_put_data_local_var ;
}
void OpenAPI_events_subsc_put_data_free ( OpenAPI_events_subsc_put_data_t * events_subsc_put_data )
{
2023-03-01 08:50:25 +00:00
OpenAPI_lnode_t * node = NULL ;
2021-07-07 08:32:55 +00:00
if ( NULL = = events_subsc_put_data ) {
return ;
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > events ) {
OpenAPI_list_for_each ( events_subsc_put_data - > events , node ) {
OpenAPI_af_event_subscription_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > events ) ;
events_subsc_put_data - > events = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > notif_uri ) {
ogs_free ( events_subsc_put_data - > notif_uri ) ;
events_subsc_put_data - > notif_uri = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > req_qos_mon_params ) {
OpenAPI_list_free ( events_subsc_put_data - > req_qos_mon_params ) ;
events_subsc_put_data - > req_qos_mon_params = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > qos_mon ) {
OpenAPI_qos_monitoring_information_free ( events_subsc_put_data - > qos_mon ) ;
events_subsc_put_data - > qos_mon = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > req_anis ) {
OpenAPI_list_free ( events_subsc_put_data - > req_anis ) ;
events_subsc_put_data - > req_anis = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > usg_thres ) {
OpenAPI_usage_threshold_free ( events_subsc_put_data - > usg_thres ) ;
events_subsc_put_data - > usg_thres = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > notif_corre_id ) {
ogs_free ( events_subsc_put_data - > notif_corre_id ) ;
events_subsc_put_data - > notif_corre_id = NULL ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 10:56:49 +00:00
if ( events_subsc_put_data - > af_app_ids ) {
OpenAPI_list_for_each ( events_subsc_put_data - > af_app_ids , node ) {
ogs_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > af_app_ids ) ;
events_subsc_put_data - > af_app_ids = NULL ;
}
if ( events_subsc_put_data - > ad_reports ) {
OpenAPI_list_for_each ( events_subsc_put_data - > ad_reports , node ) {
OpenAPI_app_detection_report_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > ad_reports ) ;
events_subsc_put_data - > ad_reports = NULL ;
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > add_access_info ) {
OpenAPI_additional_access_info_free ( events_subsc_put_data - > add_access_info ) ;
events_subsc_put_data - > add_access_info = NULL ;
}
if ( events_subsc_put_data - > rel_access_info ) {
OpenAPI_additional_access_info_free ( events_subsc_put_data - > rel_access_info ) ;
events_subsc_put_data - > rel_access_info = NULL ;
}
if ( events_subsc_put_data - > an_charg_addr ) {
OpenAPI_acc_net_charging_address_free ( events_subsc_put_data - > an_charg_addr ) ;
events_subsc_put_data - > an_charg_addr = NULL ;
}
if ( events_subsc_put_data - > an_charg_ids ) {
OpenAPI_list_for_each ( events_subsc_put_data - > an_charg_ids , node ) {
OpenAPI_access_net_charging_identifier_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > an_charg_ids ) ;
events_subsc_put_data - > an_charg_ids = NULL ;
}
if ( events_subsc_put_data - > an_gw_addr ) {
OpenAPI_an_gw_address_free ( events_subsc_put_data - > an_gw_addr ) ;
events_subsc_put_data - > an_gw_addr = NULL ;
}
if ( events_subsc_put_data - > ev_subs_uri ) {
ogs_free ( events_subsc_put_data - > ev_subs_uri ) ;
events_subsc_put_data - > ev_subs_uri = NULL ;
}
if ( events_subsc_put_data - > ev_notifs ) {
OpenAPI_list_for_each ( events_subsc_put_data - > ev_notifs , node ) {
OpenAPI_af_event_notification_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > ev_notifs ) ;
events_subsc_put_data - > ev_notifs = NULL ;
}
if ( events_subsc_put_data - > failed_resourc_alloc_reports ) {
OpenAPI_list_for_each ( events_subsc_put_data - > failed_resourc_alloc_reports , node ) {
OpenAPI_resources_allocation_info_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > failed_resourc_alloc_reports ) ;
events_subsc_put_data - > failed_resourc_alloc_reports = NULL ;
}
if ( events_subsc_put_data - > succ_resourc_alloc_reports ) {
OpenAPI_list_for_each ( events_subsc_put_data - > succ_resourc_alloc_reports , node ) {
OpenAPI_resources_allocation_info_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > succ_resourc_alloc_reports ) ;
events_subsc_put_data - > succ_resourc_alloc_reports = NULL ;
}
if ( events_subsc_put_data - > out_of_cred_reports ) {
OpenAPI_list_for_each ( events_subsc_put_data - > out_of_cred_reports , node ) {
OpenAPI_out_of_credit_information_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > out_of_cred_reports ) ;
events_subsc_put_data - > out_of_cred_reports = NULL ;
}
if ( events_subsc_put_data - > plmn_id ) {
OpenAPI_plmn_id_nid_free ( events_subsc_put_data - > plmn_id ) ;
events_subsc_put_data - > plmn_id = NULL ;
}
if ( events_subsc_put_data - > qnc_reports ) {
OpenAPI_list_for_each ( events_subsc_put_data - > qnc_reports , node ) {
OpenAPI_qos_notification_control_info_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > qnc_reports ) ;
events_subsc_put_data - > qnc_reports = NULL ;
}
if ( events_subsc_put_data - > qos_mon_reports ) {
OpenAPI_list_for_each ( events_subsc_put_data - > qos_mon_reports , node ) {
OpenAPI_qos_monitoring_report_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > qos_mon_reports ) ;
events_subsc_put_data - > qos_mon_reports = NULL ;
}
if ( events_subsc_put_data - > ran_nas_rel_causes ) {
OpenAPI_list_for_each ( events_subsc_put_data - > ran_nas_rel_causes , node ) {
OpenAPI_ran_nas_rel_cause_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > ran_nas_rel_causes ) ;
events_subsc_put_data - > ran_nas_rel_causes = NULL ;
}
if ( events_subsc_put_data - > ue_loc ) {
OpenAPI_user_location_free ( events_subsc_put_data - > ue_loc ) ;
events_subsc_put_data - > ue_loc = NULL ;
}
2023-03-01 10:56:49 +00:00
if ( events_subsc_put_data - > ue_loc_time ) {
ogs_free ( events_subsc_put_data - > ue_loc_time ) ;
events_subsc_put_data - > ue_loc_time = NULL ;
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > ue_time_zone ) {
ogs_free ( events_subsc_put_data - > ue_time_zone ) ;
events_subsc_put_data - > ue_time_zone = NULL ;
}
if ( events_subsc_put_data - > usg_rep ) {
OpenAPI_accumulated_usage_free ( events_subsc_put_data - > usg_rep ) ;
events_subsc_put_data - > usg_rep = NULL ;
}
if ( events_subsc_put_data - > tsn_bridge_man_cont ) {
OpenAPI_bridge_management_container_free ( events_subsc_put_data - > tsn_bridge_man_cont ) ;
events_subsc_put_data - > tsn_bridge_man_cont = NULL ;
}
if ( events_subsc_put_data - > tsn_port_man_cont_dstt ) {
OpenAPI_port_management_container_free ( events_subsc_put_data - > tsn_port_man_cont_dstt ) ;
events_subsc_put_data - > tsn_port_man_cont_dstt = NULL ;
}
if ( events_subsc_put_data - > tsn_port_man_cont_nwtts ) {
OpenAPI_list_for_each ( events_subsc_put_data - > tsn_port_man_cont_nwtts , node ) {
OpenAPI_port_management_container_free ( node - > data ) ;
}
OpenAPI_list_free ( events_subsc_put_data - > tsn_port_man_cont_nwtts ) ;
events_subsc_put_data - > tsn_port_man_cont_nwtts = NULL ;
2021-07-07 08:32:55 +00:00
}
ogs_free ( events_subsc_put_data ) ;
}
cJSON * OpenAPI_events_subsc_put_data_convertToJSON ( OpenAPI_events_subsc_put_data_t * events_subsc_put_data )
{
cJSON * item = NULL ;
2023-03-01 08:50:25 +00:00
OpenAPI_lnode_t * node = NULL ;
2021-07-07 08:32:55 +00:00
if ( events_subsc_put_data = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [EventsSubscPutData] " ) ;
return NULL ;
}
item = cJSON_CreateObject ( ) ;
2023-03-01 08:50:25 +00:00
if ( ! events_subsc_put_data - > events ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [events] " ) ;
return NULL ;
}
2021-07-07 08:32:55 +00:00
cJSON * eventsList = cJSON_AddArrayToObject ( item , " events " ) ;
if ( eventsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [events] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > events , node ) {
cJSON * itemLocal = OpenAPI_af_event_subscription_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [events] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( eventsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
if ( events_subsc_put_data - > notif_uri ) {
if ( cJSON_AddStringToObject ( item , " notifUri " , events_subsc_put_data - > notif_uri ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [notif_uri] " ) ;
goto end ;
}
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > req_qos_mon_params ! = OpenAPI_requested_qos_monitoring_parameter_NULL ) {
cJSON * req_qos_mon_paramsList = cJSON_AddArrayToObject ( item , " reqQosMonParams " ) ;
if ( req_qos_mon_paramsList = = NULL ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [req_qos_mon_params] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > req_qos_mon_params , node ) {
if ( cJSON_AddStringToObject ( req_qos_mon_paramsList , " " , OpenAPI_requested_qos_monitoring_parameter_ToString ( ( intptr_t ) node - > data ) ) = = NULL ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [req_qos_mon_params] " ) ;
goto end ;
}
}
}
if ( events_subsc_put_data - > qos_mon ) {
cJSON * qos_mon_local_JSON = OpenAPI_qos_monitoring_information_convertToJSON ( events_subsc_put_data - > qos_mon ) ;
if ( qos_mon_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [qos_mon] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " qosMon " , qos_mon_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [qos_mon] " ) ;
goto end ;
}
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > req_anis ! = OpenAPI_required_access_info_NULL ) {
cJSON * req_anisList = cJSON_AddArrayToObject ( item , " reqAnis " ) ;
if ( req_anisList = = NULL ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [req_anis] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > req_anis , node ) {
if ( cJSON_AddStringToObject ( req_anisList , " " , OpenAPI_required_access_info_ToString ( ( intptr_t ) node - > data ) ) = = NULL ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [req_anis] " ) ;
goto end ;
}
}
}
if ( events_subsc_put_data - > usg_thres ) {
cJSON * usg_thres_local_JSON = OpenAPI_usage_threshold_convertToJSON ( events_subsc_put_data - > usg_thres ) ;
if ( usg_thres_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [usg_thres] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " usgThres " , usg_thres_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [usg_thres] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > notif_corre_id ) {
if ( cJSON_AddStringToObject ( item , " notifCorreId " , events_subsc_put_data - > notif_corre_id ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [notif_corre_id] " ) ;
goto end ;
}
}
2023-03-01 10:56:49 +00:00
if ( events_subsc_put_data - > af_app_ids ) {
cJSON * af_app_idsList = cJSON_AddArrayToObject ( item , " afAppIds " ) ;
if ( af_app_idsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [af_app_ids] " ) ;
goto end ;
}
OpenAPI_list_for_each ( events_subsc_put_data - > af_app_ids , node ) {
if ( cJSON_AddStringToObject ( af_app_idsList , " " , ( char * ) node - > data ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [af_app_ids] " ) ;
goto end ;
}
}
}
if ( events_subsc_put_data - > is_direct_notif_ind ) {
if ( cJSON_AddBoolToObject ( item , " directNotifInd " , events_subsc_put_data - > direct_notif_ind ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [direct_notif_ind] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > ad_reports ) {
cJSON * ad_reportsList = cJSON_AddArrayToObject ( item , " adReports " ) ;
if ( ad_reportsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ad_reports] " ) ;
goto end ;
}
OpenAPI_list_for_each ( events_subsc_put_data - > ad_reports , node ) {
cJSON * itemLocal = OpenAPI_app_detection_report_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ad_reports] " ) ;
goto end ;
}
cJSON_AddItemToArray ( ad_reportsList , itemLocal ) ;
}
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > access_type ! = OpenAPI_access_type_NULL ) {
2021-07-07 08:32:55 +00:00
if ( cJSON_AddStringToObject ( item , " accessType " , OpenAPI_access_type_ToString ( events_subsc_put_data - > access_type ) ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [access_type] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > add_access_info ) {
cJSON * add_access_info_local_JSON = OpenAPI_additional_access_info_convertToJSON ( events_subsc_put_data - > add_access_info ) ;
if ( add_access_info_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [add_access_info] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " addAccessInfo " , add_access_info_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [add_access_info] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > rel_access_info ) {
cJSON * rel_access_info_local_JSON = OpenAPI_additional_access_info_convertToJSON ( events_subsc_put_data - > rel_access_info ) ;
if ( rel_access_info_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [rel_access_info] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " relAccessInfo " , rel_access_info_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [rel_access_info] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > an_charg_addr ) {
cJSON * an_charg_addr_local_JSON = OpenAPI_acc_net_charging_address_convertToJSON ( events_subsc_put_data - > an_charg_addr ) ;
if ( an_charg_addr_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [an_charg_addr] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " anChargAddr " , an_charg_addr_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [an_charg_addr] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > an_charg_ids ) {
cJSON * an_charg_idsList = cJSON_AddArrayToObject ( item , " anChargIds " ) ;
if ( an_charg_idsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [an_charg_ids] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > an_charg_ids , node ) {
cJSON * itemLocal = OpenAPI_access_net_charging_identifier_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [an_charg_ids] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( an_charg_idsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
if ( events_subsc_put_data - > an_gw_addr ) {
cJSON * an_gw_addr_local_JSON = OpenAPI_an_gw_address_convertToJSON ( events_subsc_put_data - > an_gw_addr ) ;
if ( an_gw_addr_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [an_gw_addr] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " anGwAddr " , an_gw_addr_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [an_gw_addr] " ) ;
goto end ;
}
}
2023-03-01 08:50:25 +00:00
if ( ! events_subsc_put_data - > ev_subs_uri ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ev_subs_uri] " ) ;
return NULL ;
}
2021-07-07 08:32:55 +00:00
if ( cJSON_AddStringToObject ( item , " evSubsUri " , events_subsc_put_data - > ev_subs_uri ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ev_subs_uri] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
if ( ! events_subsc_put_data - > ev_notifs ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ev_notifs] " ) ;
return NULL ;
}
2021-07-07 08:32:55 +00:00
cJSON * ev_notifsList = cJSON_AddArrayToObject ( item , " evNotifs " ) ;
if ( ev_notifsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ev_notifs] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > ev_notifs , node ) {
cJSON * itemLocal = OpenAPI_af_event_notification_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ev_notifs] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( ev_notifsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
if ( events_subsc_put_data - > failed_resourc_alloc_reports ) {
cJSON * failed_resourc_alloc_reportsList = cJSON_AddArrayToObject ( item , " failedResourcAllocReports " ) ;
if ( failed_resourc_alloc_reportsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [failed_resourc_alloc_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > failed_resourc_alloc_reports , node ) {
cJSON * itemLocal = OpenAPI_resources_allocation_info_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [failed_resourc_alloc_reports] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( failed_resourc_alloc_reportsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
if ( events_subsc_put_data - > succ_resourc_alloc_reports ) {
cJSON * succ_resourc_alloc_reportsList = cJSON_AddArrayToObject ( item , " succResourcAllocReports " ) ;
if ( succ_resourc_alloc_reportsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [succ_resourc_alloc_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > succ_resourc_alloc_reports , node ) {
cJSON * itemLocal = OpenAPI_resources_allocation_info_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [succ_resourc_alloc_reports] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( succ_resourc_alloc_reportsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > no_net_loc_supp ! = OpenAPI_net_loc_access_support_NULL ) {
2021-07-07 08:32:55 +00:00
if ( cJSON_AddStringToObject ( item , " noNetLocSupp " , OpenAPI_net_loc_access_support_ToString ( events_subsc_put_data - > no_net_loc_supp ) ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [no_net_loc_supp] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > out_of_cred_reports ) {
cJSON * out_of_cred_reportsList = cJSON_AddArrayToObject ( item , " outOfCredReports " ) ;
if ( out_of_cred_reportsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [out_of_cred_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > out_of_cred_reports , node ) {
cJSON * itemLocal = OpenAPI_out_of_credit_information_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [out_of_cred_reports] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( out_of_cred_reportsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
if ( events_subsc_put_data - > plmn_id ) {
cJSON * plmn_id_local_JSON = OpenAPI_plmn_id_nid_convertToJSON ( events_subsc_put_data - > plmn_id ) ;
if ( plmn_id_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [plmn_id] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " plmnId " , plmn_id_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [plmn_id] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > qnc_reports ) {
cJSON * qnc_reportsList = cJSON_AddArrayToObject ( item , " qncReports " ) ;
if ( qnc_reportsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [qnc_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > qnc_reports , node ) {
cJSON * itemLocal = OpenAPI_qos_notification_control_info_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [qnc_reports] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( qnc_reportsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
if ( events_subsc_put_data - > qos_mon_reports ) {
cJSON * qos_mon_reportsList = cJSON_AddArrayToObject ( item , " qosMonReports " ) ;
if ( qos_mon_reportsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [qos_mon_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > qos_mon_reports , node ) {
cJSON * itemLocal = OpenAPI_qos_monitoring_report_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [qos_mon_reports] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( qos_mon_reportsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
if ( events_subsc_put_data - > ran_nas_rel_causes ) {
cJSON * ran_nas_rel_causesList = cJSON_AddArrayToObject ( item , " ranNasRelCauses " ) ;
if ( ran_nas_rel_causesList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ran_nas_rel_causes] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > ran_nas_rel_causes , node ) {
cJSON * itemLocal = OpenAPI_ran_nas_rel_cause_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ran_nas_rel_causes] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( ran_nas_rel_causesList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
2023-03-01 08:50:25 +00:00
if ( events_subsc_put_data - > rat_type ! = OpenAPI_rat_type_NULL ) {
2021-07-07 08:32:55 +00:00
if ( cJSON_AddStringToObject ( item , " ratType " , OpenAPI_rat_type_ToString ( events_subsc_put_data - > rat_type ) ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [rat_type] " ) ;
goto end ;
}
}
2023-03-01 10:56:49 +00:00
if ( events_subsc_put_data - > sat_backhaul_category ! = OpenAPI_satellite_backhaul_category_NULL ) {
if ( cJSON_AddStringToObject ( item , " satBackhaulCategory " , OpenAPI_satellite_backhaul_category_ToString ( events_subsc_put_data - > sat_backhaul_category ) ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [sat_backhaul_category] " ) ;
goto end ;
}
}
2021-07-07 08:32:55 +00:00
if ( events_subsc_put_data - > ue_loc ) {
cJSON * ue_loc_local_JSON = OpenAPI_user_location_convertToJSON ( events_subsc_put_data - > ue_loc ) ;
if ( ue_loc_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ue_loc] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " ueLoc " , ue_loc_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ue_loc] " ) ;
goto end ;
}
}
2023-03-01 10:56:49 +00:00
if ( events_subsc_put_data - > ue_loc_time ) {
if ( cJSON_AddStringToObject ( item , " ueLocTime " , events_subsc_put_data - > ue_loc_time ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ue_loc_time] " ) ;
goto end ;
}
}
2021-07-07 08:32:55 +00:00
if ( events_subsc_put_data - > ue_time_zone ) {
if ( cJSON_AddStringToObject ( item , " ueTimeZone " , events_subsc_put_data - > ue_time_zone ) = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [ue_time_zone] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > usg_rep ) {
cJSON * usg_rep_local_JSON = OpenAPI_accumulated_usage_convertToJSON ( events_subsc_put_data - > usg_rep ) ;
if ( usg_rep_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [usg_rep] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " usgRep " , usg_rep_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [usg_rep] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > tsn_bridge_man_cont ) {
cJSON * tsn_bridge_man_cont_local_JSON = OpenAPI_bridge_management_container_convertToJSON ( events_subsc_put_data - > tsn_bridge_man_cont ) ;
if ( tsn_bridge_man_cont_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [tsn_bridge_man_cont] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " tsnBridgeManCont " , tsn_bridge_man_cont_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [tsn_bridge_man_cont] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > tsn_port_man_cont_dstt ) {
cJSON * tsn_port_man_cont_dstt_local_JSON = OpenAPI_port_management_container_convertToJSON ( events_subsc_put_data - > tsn_port_man_cont_dstt ) ;
if ( tsn_port_man_cont_dstt_local_JSON = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [tsn_port_man_cont_dstt] " ) ;
goto end ;
}
cJSON_AddItemToObject ( item , " tsnPortManContDstt " , tsn_port_man_cont_dstt_local_JSON ) ;
if ( item - > child = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [tsn_port_man_cont_dstt] " ) ;
goto end ;
}
}
if ( events_subsc_put_data - > tsn_port_man_cont_nwtts ) {
cJSON * tsn_port_man_cont_nwttsList = cJSON_AddArrayToObject ( item , " tsnPortManContNwtts " ) ;
if ( tsn_port_man_cont_nwttsList = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [tsn_port_man_cont_nwtts] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
OpenAPI_list_for_each ( events_subsc_put_data - > tsn_port_man_cont_nwtts , node ) {
cJSON * itemLocal = OpenAPI_port_management_container_convertToJSON ( node - > data ) ;
if ( itemLocal = = NULL ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed [tsn_port_man_cont_nwtts] " ) ;
goto end ;
2021-07-07 08:32:55 +00:00
}
2023-03-01 08:50:25 +00:00
cJSON_AddItemToArray ( tsn_port_man_cont_nwttsList , itemLocal ) ;
2021-07-07 08:32:55 +00:00
}
}
end :
return item ;
}
OpenAPI_events_subsc_put_data_t * OpenAPI_events_subsc_put_data_parseFromJSON ( cJSON * events_subsc_put_dataJSON )
{
OpenAPI_events_subsc_put_data_t * events_subsc_put_data_local_var = NULL ;
2023-03-01 08:50:25 +00:00
OpenAPI_lnode_t * node = NULL ;
cJSON * events = NULL ;
OpenAPI_list_t * eventsList = NULL ;
cJSON * notif_uri = NULL ;
cJSON * req_qos_mon_params = NULL ;
OpenAPI_list_t * req_qos_mon_paramsList = NULL ;
cJSON * qos_mon = NULL ;
OpenAPI_qos_monitoring_information_t * qos_mon_local_nonprim = NULL ;
cJSON * req_anis = NULL ;
OpenAPI_list_t * req_anisList = NULL ;
cJSON * usg_thres = NULL ;
OpenAPI_usage_threshold_t * usg_thres_local_nonprim = NULL ;
cJSON * notif_corre_id = NULL ;
2023-03-01 10:56:49 +00:00
cJSON * af_app_ids = NULL ;
OpenAPI_list_t * af_app_idsList = NULL ;
cJSON * direct_notif_ind = NULL ;
cJSON * ad_reports = NULL ;
OpenAPI_list_t * ad_reportsList = NULL ;
2023-03-01 08:50:25 +00:00
cJSON * access_type = NULL ;
OpenAPI_access_type_e access_typeVariable = 0 ;
cJSON * add_access_info = NULL ;
OpenAPI_additional_access_info_t * add_access_info_local_nonprim = NULL ;
cJSON * rel_access_info = NULL ;
OpenAPI_additional_access_info_t * rel_access_info_local_nonprim = NULL ;
cJSON * an_charg_addr = NULL ;
OpenAPI_acc_net_charging_address_t * an_charg_addr_local_nonprim = NULL ;
cJSON * an_charg_ids = NULL ;
OpenAPI_list_t * an_charg_idsList = NULL ;
cJSON * an_gw_addr = NULL ;
OpenAPI_an_gw_address_t * an_gw_addr_local_nonprim = NULL ;
cJSON * ev_subs_uri = NULL ;
cJSON * ev_notifs = NULL ;
OpenAPI_list_t * ev_notifsList = NULL ;
cJSON * failed_resourc_alloc_reports = NULL ;
OpenAPI_list_t * failed_resourc_alloc_reportsList = NULL ;
cJSON * succ_resourc_alloc_reports = NULL ;
OpenAPI_list_t * succ_resourc_alloc_reportsList = NULL ;
cJSON * no_net_loc_supp = NULL ;
OpenAPI_net_loc_access_support_e no_net_loc_suppVariable = 0 ;
cJSON * out_of_cred_reports = NULL ;
OpenAPI_list_t * out_of_cred_reportsList = NULL ;
cJSON * plmn_id = NULL ;
OpenAPI_plmn_id_nid_t * plmn_id_local_nonprim = NULL ;
cJSON * qnc_reports = NULL ;
OpenAPI_list_t * qnc_reportsList = NULL ;
cJSON * qos_mon_reports = NULL ;
OpenAPI_list_t * qos_mon_reportsList = NULL ;
cJSON * ran_nas_rel_causes = NULL ;
OpenAPI_list_t * ran_nas_rel_causesList = NULL ;
cJSON * rat_type = NULL ;
OpenAPI_rat_type_e rat_typeVariable = 0 ;
2023-03-01 10:56:49 +00:00
cJSON * sat_backhaul_category = NULL ;
OpenAPI_satellite_backhaul_category_e sat_backhaul_categoryVariable = 0 ;
2023-03-01 08:50:25 +00:00
cJSON * ue_loc = NULL ;
OpenAPI_user_location_t * ue_loc_local_nonprim = NULL ;
2023-03-01 10:56:49 +00:00
cJSON * ue_loc_time = NULL ;
2023-03-01 08:50:25 +00:00
cJSON * ue_time_zone = NULL ;
cJSON * usg_rep = NULL ;
OpenAPI_accumulated_usage_t * usg_rep_local_nonprim = NULL ;
cJSON * tsn_bridge_man_cont = NULL ;
OpenAPI_bridge_management_container_t * tsn_bridge_man_cont_local_nonprim = NULL ;
cJSON * tsn_port_man_cont_dstt = NULL ;
OpenAPI_port_management_container_t * tsn_port_man_cont_dstt_local_nonprim = NULL ;
cJSON * tsn_port_man_cont_nwtts = NULL ;
OpenAPI_list_t * tsn_port_man_cont_nwttsList = NULL ;
events = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " events " ) ;
2021-07-07 08:32:55 +00:00
if ( ! events ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [events] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
cJSON * events_local = NULL ;
if ( ! cJSON_IsArray ( events ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [events] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
eventsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( events_local , events ) {
if ( ! cJSON_IsObject ( events_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [events] " ) ;
goto end ;
}
OpenAPI_af_event_subscription_t * eventsItem = OpenAPI_af_event_subscription_parseFromJSON ( events_local ) ;
if ( ! eventsItem ) {
ogs_error ( " No eventsItem " ) ;
goto end ;
}
OpenAPI_list_add ( eventsList , eventsItem ) ;
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
notif_uri = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " notifUri " ) ;
2021-07-16 08:02:33 +00:00
if ( notif_uri ) {
2023-03-01 08:50:25 +00:00
if ( ! cJSON_IsString ( notif_uri ) & & ! cJSON_IsNull ( notif_uri ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [notif_uri] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
req_qos_mon_params = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " reqQosMonParams " ) ;
2021-07-16 08:02:33 +00:00
if ( req_qos_mon_params ) {
2023-03-01 08:50:25 +00:00
cJSON * req_qos_mon_params_local = NULL ;
if ( ! cJSON_IsArray ( req_qos_mon_params ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [req_qos_mon_params] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
req_qos_mon_paramsList = OpenAPI_list_create ( ) ;
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( req_qos_mon_params_local , req_qos_mon_params ) {
2023-09-24 00:54:53 +00:00
OpenAPI_requested_qos_monitoring_parameter_e localEnum = OpenAPI_requested_qos_monitoring_parameter_NULL ;
2023-03-01 08:50:25 +00:00
if ( ! cJSON_IsString ( req_qos_mon_params_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [req_qos_mon_params] " ) ;
goto end ;
}
2023-09-24 00:54:53 +00:00
localEnum = OpenAPI_requested_qos_monitoring_parameter_FromString ( req_qos_mon_params_local - > valuestring ) ;
if ( ! localEnum ) {
2023-10-26 13:44:51 +00:00
ogs_info ( " Enum value \" %s \" for field \" req_qos_mon_params \" is not supported. Ignoring it ... " ,
req_qos_mon_params_local - > valuestring ) ;
} else {
OpenAPI_list_add ( req_qos_mon_paramsList , ( void * ) localEnum ) ;
2023-09-24 00:54:53 +00:00
}
2023-10-26 13:44:51 +00:00
}
if ( req_qos_mon_paramsList - > count = = 0 ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed: Expected req_qos_mon_paramsList to not be empty (after ignoring unsupported enum values). " ) ;
goto end ;
2023-03-01 08:50:25 +00:00
}
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
qos_mon = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " qosMon " ) ;
2021-07-16 08:02:33 +00:00
if ( qos_mon ) {
2021-07-07 08:32:55 +00:00
qos_mon_local_nonprim = OpenAPI_qos_monitoring_information_parseFromJSON ( qos_mon ) ;
2023-03-15 11:40:07 +00:00
if ( ! qos_mon_local_nonprim ) {
ogs_error ( " OpenAPI_qos_monitoring_information_parseFromJSON failed [qos_mon] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
req_anis = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " reqAnis " ) ;
2021-07-16 08:02:33 +00:00
if ( req_anis ) {
2023-03-01 08:50:25 +00:00
cJSON * req_anis_local = NULL ;
if ( ! cJSON_IsArray ( req_anis ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [req_anis] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
req_anisList = OpenAPI_list_create ( ) ;
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( req_anis_local , req_anis ) {
2023-09-24 00:54:53 +00:00
OpenAPI_required_access_info_e localEnum = OpenAPI_required_access_info_NULL ;
2023-03-01 08:50:25 +00:00
if ( ! cJSON_IsString ( req_anis_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [req_anis] " ) ;
goto end ;
}
2023-09-24 00:54:53 +00:00
localEnum = OpenAPI_required_access_info_FromString ( req_anis_local - > valuestring ) ;
if ( ! localEnum ) {
2023-10-26 13:44:51 +00:00
ogs_info ( " Enum value \" %s \" for field \" req_anis \" is not supported. Ignoring it ... " ,
req_anis_local - > valuestring ) ;
} else {
OpenAPI_list_add ( req_anisList , ( void * ) localEnum ) ;
2023-09-24 00:54:53 +00:00
}
2023-10-26 13:44:51 +00:00
}
if ( req_anisList - > count = = 0 ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed: Expected req_anisList to not be empty (after ignoring unsupported enum values). " ) ;
goto end ;
2023-03-01 08:50:25 +00:00
}
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
usg_thres = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " usgThres " ) ;
2021-07-16 08:02:33 +00:00
if ( usg_thres ) {
2021-07-07 08:32:55 +00:00
usg_thres_local_nonprim = OpenAPI_usage_threshold_parseFromJSON ( usg_thres ) ;
2023-03-15 11:40:07 +00:00
if ( ! usg_thres_local_nonprim ) {
ogs_error ( " OpenAPI_usage_threshold_parseFromJSON failed [usg_thres] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
notif_corre_id = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " notifCorreId " ) ;
2021-07-16 08:02:33 +00:00
if ( notif_corre_id ) {
2023-03-01 08:50:25 +00:00
if ( ! cJSON_IsString ( notif_corre_id ) & & ! cJSON_IsNull ( notif_corre_id ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [notif_corre_id] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 10:56:49 +00:00
af_app_ids = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " afAppIds " ) ;
if ( af_app_ids ) {
cJSON * af_app_ids_local = NULL ;
if ( ! cJSON_IsArray ( af_app_ids ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [af_app_ids] " ) ;
goto end ;
}
af_app_idsList = OpenAPI_list_create ( ) ;
cJSON_ArrayForEach ( af_app_ids_local , af_app_ids ) {
double * localDouble = NULL ;
int * localInt = NULL ;
if ( ! cJSON_IsString ( af_app_ids_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [af_app_ids] " ) ;
goto end ;
}
OpenAPI_list_add ( af_app_idsList , ogs_strdup ( af_app_ids_local - > valuestring ) ) ;
}
}
direct_notif_ind = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " directNotifInd " ) ;
if ( direct_notif_ind ) {
if ( ! cJSON_IsBool ( direct_notif_ind ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [direct_notif_ind] " ) ;
goto end ;
}
}
ad_reports = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " adReports " ) ;
if ( ad_reports ) {
cJSON * ad_reports_local = NULL ;
if ( ! cJSON_IsArray ( ad_reports ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ad_reports] " ) ;
goto end ;
}
ad_reportsList = OpenAPI_list_create ( ) ;
cJSON_ArrayForEach ( ad_reports_local , ad_reports ) {
if ( ! cJSON_IsObject ( ad_reports_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ad_reports] " ) ;
goto end ;
}
OpenAPI_app_detection_report_t * ad_reportsItem = OpenAPI_app_detection_report_parseFromJSON ( ad_reports_local ) ;
if ( ! ad_reportsItem ) {
ogs_error ( " No ad_reportsItem " ) ;
goto end ;
}
OpenAPI_list_add ( ad_reportsList , ad_reportsItem ) ;
}
}
2023-03-01 08:50:25 +00:00
access_type = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " accessType " ) ;
2021-07-16 08:02:33 +00:00
if ( access_type ) {
2021-07-07 08:32:55 +00:00
if ( ! cJSON_IsString ( access_type ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [access_type] " ) ;
goto end ;
}
access_typeVariable = OpenAPI_access_type_FromString ( access_type - > valuestring ) ;
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
add_access_info = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " addAccessInfo " ) ;
2021-07-16 08:02:33 +00:00
if ( add_access_info ) {
2021-07-07 08:32:55 +00:00
add_access_info_local_nonprim = OpenAPI_additional_access_info_parseFromJSON ( add_access_info ) ;
2023-03-15 11:40:07 +00:00
if ( ! add_access_info_local_nonprim ) {
ogs_error ( " OpenAPI_additional_access_info_parseFromJSON failed [add_access_info] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
rel_access_info = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " relAccessInfo " ) ;
2021-07-16 08:02:33 +00:00
if ( rel_access_info ) {
2021-07-07 08:32:55 +00:00
rel_access_info_local_nonprim = OpenAPI_additional_access_info_parseFromJSON ( rel_access_info ) ;
2023-03-15 11:40:07 +00:00
if ( ! rel_access_info_local_nonprim ) {
ogs_error ( " OpenAPI_additional_access_info_parseFromJSON failed [rel_access_info] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
an_charg_addr = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " anChargAddr " ) ;
2021-07-16 08:02:33 +00:00
if ( an_charg_addr ) {
2021-07-07 08:32:55 +00:00
an_charg_addr_local_nonprim = OpenAPI_acc_net_charging_address_parseFromJSON ( an_charg_addr ) ;
2023-03-15 11:40:07 +00:00
if ( ! an_charg_addr_local_nonprim ) {
ogs_error ( " OpenAPI_acc_net_charging_address_parseFromJSON failed [an_charg_addr] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
an_charg_ids = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " anChargIds " ) ;
2021-07-16 08:02:33 +00:00
if ( an_charg_ids ) {
2023-03-01 08:50:25 +00:00
cJSON * an_charg_ids_local = NULL ;
if ( ! cJSON_IsArray ( an_charg_ids ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [an_charg_ids] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
an_charg_idsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( an_charg_ids_local , an_charg_ids ) {
if ( ! cJSON_IsObject ( an_charg_ids_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [an_charg_ids] " ) ;
goto end ;
}
OpenAPI_access_net_charging_identifier_t * an_charg_idsItem = OpenAPI_access_net_charging_identifier_parseFromJSON ( an_charg_ids_local ) ;
if ( ! an_charg_idsItem ) {
ogs_error ( " No an_charg_idsItem " ) ;
goto end ;
}
OpenAPI_list_add ( an_charg_idsList , an_charg_idsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
an_gw_addr = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " anGwAddr " ) ;
2021-07-16 08:02:33 +00:00
if ( an_gw_addr ) {
2021-07-07 08:32:55 +00:00
an_gw_addr_local_nonprim = OpenAPI_an_gw_address_parseFromJSON ( an_gw_addr ) ;
2023-03-15 11:40:07 +00:00
if ( ! an_gw_addr_local_nonprim ) {
ogs_error ( " OpenAPI_an_gw_address_parseFromJSON failed [an_gw_addr] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
ev_subs_uri = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " evSubsUri " ) ;
2021-07-07 08:32:55 +00:00
if ( ! ev_subs_uri ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ev_subs_uri] " ) ;
goto end ;
}
if ( ! cJSON_IsString ( ev_subs_uri ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ev_subs_uri] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
ev_notifs = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " evNotifs " ) ;
2021-07-07 08:32:55 +00:00
if ( ! ev_notifs ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ev_notifs] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
cJSON * ev_notifs_local = NULL ;
if ( ! cJSON_IsArray ( ev_notifs ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ev_notifs] " ) ;
goto end ;
}
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
ev_notifsList = OpenAPI_list_create ( ) ;
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( ev_notifs_local , ev_notifs ) {
if ( ! cJSON_IsObject ( ev_notifs_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ev_notifs] " ) ;
goto end ;
}
OpenAPI_af_event_notification_t * ev_notifsItem = OpenAPI_af_event_notification_parseFromJSON ( ev_notifs_local ) ;
if ( ! ev_notifsItem ) {
ogs_error ( " No ev_notifsItem " ) ;
goto end ;
}
OpenAPI_list_add ( ev_notifsList , ev_notifsItem ) ;
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
failed_resourc_alloc_reports = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " failedResourcAllocReports " ) ;
2021-07-16 08:02:33 +00:00
if ( failed_resourc_alloc_reports ) {
2023-03-01 08:50:25 +00:00
cJSON * failed_resourc_alloc_reports_local = NULL ;
if ( ! cJSON_IsArray ( failed_resourc_alloc_reports ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [failed_resourc_alloc_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
failed_resourc_alloc_reportsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( failed_resourc_alloc_reports_local , failed_resourc_alloc_reports ) {
if ( ! cJSON_IsObject ( failed_resourc_alloc_reports_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [failed_resourc_alloc_reports] " ) ;
goto end ;
}
OpenAPI_resources_allocation_info_t * failed_resourc_alloc_reportsItem = OpenAPI_resources_allocation_info_parseFromJSON ( failed_resourc_alloc_reports_local ) ;
if ( ! failed_resourc_alloc_reportsItem ) {
ogs_error ( " No failed_resourc_alloc_reportsItem " ) ;
goto end ;
}
OpenAPI_list_add ( failed_resourc_alloc_reportsList , failed_resourc_alloc_reportsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
succ_resourc_alloc_reports = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " succResourcAllocReports " ) ;
2021-07-16 08:02:33 +00:00
if ( succ_resourc_alloc_reports ) {
2023-03-01 08:50:25 +00:00
cJSON * succ_resourc_alloc_reports_local = NULL ;
if ( ! cJSON_IsArray ( succ_resourc_alloc_reports ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [succ_resourc_alloc_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
succ_resourc_alloc_reportsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( succ_resourc_alloc_reports_local , succ_resourc_alloc_reports ) {
if ( ! cJSON_IsObject ( succ_resourc_alloc_reports_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [succ_resourc_alloc_reports] " ) ;
goto end ;
}
OpenAPI_resources_allocation_info_t * succ_resourc_alloc_reportsItem = OpenAPI_resources_allocation_info_parseFromJSON ( succ_resourc_alloc_reports_local ) ;
if ( ! succ_resourc_alloc_reportsItem ) {
ogs_error ( " No succ_resourc_alloc_reportsItem " ) ;
goto end ;
}
OpenAPI_list_add ( succ_resourc_alloc_reportsList , succ_resourc_alloc_reportsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
no_net_loc_supp = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " noNetLocSupp " ) ;
2021-07-16 08:02:33 +00:00
if ( no_net_loc_supp ) {
2021-07-07 08:32:55 +00:00
if ( ! cJSON_IsString ( no_net_loc_supp ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [no_net_loc_supp] " ) ;
goto end ;
}
no_net_loc_suppVariable = OpenAPI_net_loc_access_support_FromString ( no_net_loc_supp - > valuestring ) ;
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
out_of_cred_reports = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " outOfCredReports " ) ;
2021-07-16 08:02:33 +00:00
if ( out_of_cred_reports ) {
2023-03-01 08:50:25 +00:00
cJSON * out_of_cred_reports_local = NULL ;
if ( ! cJSON_IsArray ( out_of_cred_reports ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [out_of_cred_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
out_of_cred_reportsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( out_of_cred_reports_local , out_of_cred_reports ) {
if ( ! cJSON_IsObject ( out_of_cred_reports_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [out_of_cred_reports] " ) ;
goto end ;
}
OpenAPI_out_of_credit_information_t * out_of_cred_reportsItem = OpenAPI_out_of_credit_information_parseFromJSON ( out_of_cred_reports_local ) ;
if ( ! out_of_cred_reportsItem ) {
ogs_error ( " No out_of_cred_reportsItem " ) ;
goto end ;
}
OpenAPI_list_add ( out_of_cred_reportsList , out_of_cred_reportsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
plmn_id = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " plmnId " ) ;
2021-07-16 08:02:33 +00:00
if ( plmn_id ) {
2021-07-07 08:32:55 +00:00
plmn_id_local_nonprim = OpenAPI_plmn_id_nid_parseFromJSON ( plmn_id ) ;
2023-03-15 11:40:07 +00:00
if ( ! plmn_id_local_nonprim ) {
ogs_error ( " OpenAPI_plmn_id_nid_parseFromJSON failed [plmn_id] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
qnc_reports = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " qncReports " ) ;
2021-07-16 08:02:33 +00:00
if ( qnc_reports ) {
2023-03-01 08:50:25 +00:00
cJSON * qnc_reports_local = NULL ;
if ( ! cJSON_IsArray ( qnc_reports ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [qnc_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
qnc_reportsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( qnc_reports_local , qnc_reports ) {
if ( ! cJSON_IsObject ( qnc_reports_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [qnc_reports] " ) ;
goto end ;
}
OpenAPI_qos_notification_control_info_t * qnc_reportsItem = OpenAPI_qos_notification_control_info_parseFromJSON ( qnc_reports_local ) ;
if ( ! qnc_reportsItem ) {
ogs_error ( " No qnc_reportsItem " ) ;
goto end ;
}
OpenAPI_list_add ( qnc_reportsList , qnc_reportsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
qos_mon_reports = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " qosMonReports " ) ;
2021-07-16 08:02:33 +00:00
if ( qos_mon_reports ) {
2023-03-01 08:50:25 +00:00
cJSON * qos_mon_reports_local = NULL ;
if ( ! cJSON_IsArray ( qos_mon_reports ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [qos_mon_reports] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
qos_mon_reportsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( qos_mon_reports_local , qos_mon_reports ) {
if ( ! cJSON_IsObject ( qos_mon_reports_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [qos_mon_reports] " ) ;
goto end ;
}
OpenAPI_qos_monitoring_report_t * qos_mon_reportsItem = OpenAPI_qos_monitoring_report_parseFromJSON ( qos_mon_reports_local ) ;
if ( ! qos_mon_reportsItem ) {
ogs_error ( " No qos_mon_reportsItem " ) ;
goto end ;
}
OpenAPI_list_add ( qos_mon_reportsList , qos_mon_reportsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
ran_nas_rel_causes = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " ranNasRelCauses " ) ;
2021-07-16 08:02:33 +00:00
if ( ran_nas_rel_causes ) {
2023-03-01 08:50:25 +00:00
cJSON * ran_nas_rel_causes_local = NULL ;
if ( ! cJSON_IsArray ( ran_nas_rel_causes ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ran_nas_rel_causes] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
ran_nas_rel_causesList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( ran_nas_rel_causes_local , ran_nas_rel_causes ) {
if ( ! cJSON_IsObject ( ran_nas_rel_causes_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ran_nas_rel_causes] " ) ;
goto end ;
}
OpenAPI_ran_nas_rel_cause_t * ran_nas_rel_causesItem = OpenAPI_ran_nas_rel_cause_parseFromJSON ( ran_nas_rel_causes_local ) ;
if ( ! ran_nas_rel_causesItem ) {
ogs_error ( " No ran_nas_rel_causesItem " ) ;
goto end ;
}
OpenAPI_list_add ( ran_nas_rel_causesList , ran_nas_rel_causesItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
rat_type = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " ratType " ) ;
2021-07-16 08:02:33 +00:00
if ( rat_type ) {
2021-07-07 08:32:55 +00:00
if ( ! cJSON_IsString ( rat_type ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [rat_type] " ) ;
goto end ;
}
rat_typeVariable = OpenAPI_rat_type_FromString ( rat_type - > valuestring ) ;
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 10:56:49 +00:00
sat_backhaul_category = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " satBackhaulCategory " ) ;
if ( sat_backhaul_category ) {
if ( ! cJSON_IsString ( sat_backhaul_category ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [sat_backhaul_category] " ) ;
goto end ;
}
sat_backhaul_categoryVariable = OpenAPI_satellite_backhaul_category_FromString ( sat_backhaul_category - > valuestring ) ;
}
2023-03-01 08:50:25 +00:00
ue_loc = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " ueLoc " ) ;
2021-07-16 08:02:33 +00:00
if ( ue_loc ) {
2021-07-07 08:32:55 +00:00
ue_loc_local_nonprim = OpenAPI_user_location_parseFromJSON ( ue_loc ) ;
2023-03-15 11:40:07 +00:00
if ( ! ue_loc_local_nonprim ) {
ogs_error ( " OpenAPI_user_location_parseFromJSON failed [ue_loc] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 10:56:49 +00:00
ue_loc_time = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " ueLocTime " ) ;
if ( ue_loc_time ) {
if ( ! cJSON_IsString ( ue_loc_time ) & & ! cJSON_IsNull ( ue_loc_time ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ue_loc_time] " ) ;
goto end ;
}
}
2023-03-01 08:50:25 +00:00
ue_time_zone = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " ueTimeZone " ) ;
2021-07-16 08:02:33 +00:00
if ( ue_time_zone ) {
2023-03-01 08:50:25 +00:00
if ( ! cJSON_IsString ( ue_time_zone ) & & ! cJSON_IsNull ( ue_time_zone ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [ue_time_zone] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
usg_rep = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " usgRep " ) ;
2021-07-16 08:02:33 +00:00
if ( usg_rep ) {
2021-07-07 08:32:55 +00:00
usg_rep_local_nonprim = OpenAPI_accumulated_usage_parseFromJSON ( usg_rep ) ;
2023-03-15 11:40:07 +00:00
if ( ! usg_rep_local_nonprim ) {
ogs_error ( " OpenAPI_accumulated_usage_parseFromJSON failed [usg_rep] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
tsn_bridge_man_cont = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " tsnBridgeManCont " ) ;
2021-07-16 08:02:33 +00:00
if ( tsn_bridge_man_cont ) {
2021-07-07 08:32:55 +00:00
tsn_bridge_man_cont_local_nonprim = OpenAPI_bridge_management_container_parseFromJSON ( tsn_bridge_man_cont ) ;
2023-03-15 11:40:07 +00:00
if ( ! tsn_bridge_man_cont_local_nonprim ) {
ogs_error ( " OpenAPI_bridge_management_container_parseFromJSON failed [tsn_bridge_man_cont] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
tsn_port_man_cont_dstt = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " tsnPortManContDstt " ) ;
2021-07-16 08:02:33 +00:00
if ( tsn_port_man_cont_dstt ) {
2021-07-07 08:32:55 +00:00
tsn_port_man_cont_dstt_local_nonprim = OpenAPI_port_management_container_parseFromJSON ( tsn_port_man_cont_dstt ) ;
2023-03-15 11:40:07 +00:00
if ( ! tsn_port_man_cont_dstt_local_nonprim ) {
ogs_error ( " OpenAPI_port_management_container_parseFromJSON failed [tsn_port_man_cont_dstt] " ) ;
goto end ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
2023-03-01 08:50:25 +00:00
tsn_port_man_cont_nwtts = cJSON_GetObjectItemCaseSensitive ( events_subsc_put_dataJSON , " tsnPortManContNwtts " ) ;
2021-07-16 08:02:33 +00:00
if ( tsn_port_man_cont_nwtts ) {
2023-03-01 08:50:25 +00:00
cJSON * tsn_port_man_cont_nwtts_local = NULL ;
if ( ! cJSON_IsArray ( tsn_port_man_cont_nwtts ) ) {
2021-07-07 08:32:55 +00:00
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [tsn_port_man_cont_nwtts] " ) ;
goto end ;
}
2023-03-01 08:50:25 +00:00
tsn_port_man_cont_nwttsList = OpenAPI_list_create ( ) ;
2022-02-05 11:20:45 +00:00
2023-03-01 08:50:25 +00:00
cJSON_ArrayForEach ( tsn_port_man_cont_nwtts_local , tsn_port_man_cont_nwtts ) {
if ( ! cJSON_IsObject ( tsn_port_man_cont_nwtts_local ) ) {
ogs_error ( " OpenAPI_events_subsc_put_data_parseFromJSON() failed [tsn_port_man_cont_nwtts] " ) ;
goto end ;
}
OpenAPI_port_management_container_t * tsn_port_man_cont_nwttsItem = OpenAPI_port_management_container_parseFromJSON ( tsn_port_man_cont_nwtts_local ) ;
if ( ! tsn_port_man_cont_nwttsItem ) {
ogs_error ( " No tsn_port_man_cont_nwttsItem " ) ;
goto end ;
}
OpenAPI_list_add ( tsn_port_man_cont_nwttsList , tsn_port_man_cont_nwttsItem ) ;
}
2021-07-08 06:00:59 +00:00
}
2021-07-07 08:32:55 +00:00
events_subsc_put_data_local_var = OpenAPI_events_subsc_put_data_create (
eventsList ,
2023-03-01 08:50:25 +00:00
notif_uri & & ! cJSON_IsNull ( notif_uri ) ? ogs_strdup ( notif_uri - > valuestring ) : NULL ,
2021-07-07 08:32:55 +00:00
req_qos_mon_params ? req_qos_mon_paramsList : NULL ,
qos_mon ? qos_mon_local_nonprim : NULL ,
req_anis ? req_anisList : NULL ,
usg_thres ? usg_thres_local_nonprim : NULL ,
2023-03-01 08:50:25 +00:00
notif_corre_id & & ! cJSON_IsNull ( notif_corre_id ) ? ogs_strdup ( notif_corre_id - > valuestring ) : NULL ,
2023-03-01 10:56:49 +00:00
af_app_ids ? af_app_idsList : NULL ,
direct_notif_ind ? true : false ,
direct_notif_ind ? direct_notif_ind - > valueint : 0 ,
ad_reports ? ad_reportsList : NULL ,
2021-07-07 08:32:55 +00:00
access_type ? access_typeVariable : 0 ,
add_access_info ? add_access_info_local_nonprim : NULL ,
rel_access_info ? rel_access_info_local_nonprim : NULL ,
an_charg_addr ? an_charg_addr_local_nonprim : NULL ,
an_charg_ids ? an_charg_idsList : NULL ,
an_gw_addr ? an_gw_addr_local_nonprim : NULL ,
2022-01-03 23:29:18 +00:00
ogs_strdup ( ev_subs_uri - > valuestring ) ,
2021-07-07 08:32:55 +00:00
ev_notifsList ,
failed_resourc_alloc_reports ? failed_resourc_alloc_reportsList : NULL ,
succ_resourc_alloc_reports ? succ_resourc_alloc_reportsList : NULL ,
no_net_loc_supp ? no_net_loc_suppVariable : 0 ,
out_of_cred_reports ? out_of_cred_reportsList : NULL ,
plmn_id ? plmn_id_local_nonprim : NULL ,
qnc_reports ? qnc_reportsList : NULL ,
qos_mon_reports ? qos_mon_reportsList : NULL ,
ran_nas_rel_causes ? ran_nas_rel_causesList : NULL ,
rat_type ? rat_typeVariable : 0 ,
2023-03-01 10:56:49 +00:00
sat_backhaul_category ? sat_backhaul_categoryVariable : 0 ,
2021-07-07 08:32:55 +00:00
ue_loc ? ue_loc_local_nonprim : NULL ,
2023-03-01 10:56:49 +00:00
ue_loc_time & & ! cJSON_IsNull ( ue_loc_time ) ? ogs_strdup ( ue_loc_time - > valuestring ) : NULL ,
2023-03-01 08:50:25 +00:00
ue_time_zone & & ! cJSON_IsNull ( ue_time_zone ) ? ogs_strdup ( ue_time_zone - > valuestring ) : NULL ,
2021-07-07 08:32:55 +00:00
usg_rep ? usg_rep_local_nonprim : NULL ,
tsn_bridge_man_cont ? tsn_bridge_man_cont_local_nonprim : NULL ,
tsn_port_man_cont_dstt ? tsn_port_man_cont_dstt_local_nonprim : NULL ,
tsn_port_man_cont_nwtts ? tsn_port_man_cont_nwttsList : NULL
) ;
return events_subsc_put_data_local_var ;
end :
2023-03-01 08:50:25 +00:00
if ( eventsList ) {
OpenAPI_list_for_each ( eventsList , node ) {
OpenAPI_af_event_subscription_free ( node - > data ) ;
}
OpenAPI_list_free ( eventsList ) ;
eventsList = NULL ;
}
if ( req_qos_mon_paramsList ) {
OpenAPI_list_free ( req_qos_mon_paramsList ) ;
req_qos_mon_paramsList = NULL ;
}
if ( qos_mon_local_nonprim ) {
OpenAPI_qos_monitoring_information_free ( qos_mon_local_nonprim ) ;
qos_mon_local_nonprim = NULL ;
}
if ( req_anisList ) {
OpenAPI_list_free ( req_anisList ) ;
req_anisList = NULL ;
}
if ( usg_thres_local_nonprim ) {
OpenAPI_usage_threshold_free ( usg_thres_local_nonprim ) ;
usg_thres_local_nonprim = NULL ;
}
2023-03-01 10:56:49 +00:00
if ( af_app_idsList ) {
OpenAPI_list_for_each ( af_app_idsList , node ) {
ogs_free ( node - > data ) ;
}
OpenAPI_list_free ( af_app_idsList ) ;
af_app_idsList = NULL ;
}
if ( ad_reportsList ) {
OpenAPI_list_for_each ( ad_reportsList , node ) {
OpenAPI_app_detection_report_free ( node - > data ) ;
}
OpenAPI_list_free ( ad_reportsList ) ;
ad_reportsList = NULL ;
}
2023-03-01 08:50:25 +00:00
if ( add_access_info_local_nonprim ) {
OpenAPI_additional_access_info_free ( add_access_info_local_nonprim ) ;
add_access_info_local_nonprim = NULL ;
}
if ( rel_access_info_local_nonprim ) {
OpenAPI_additional_access_info_free ( rel_access_info_local_nonprim ) ;
rel_access_info_local_nonprim = NULL ;
}
if ( an_charg_addr_local_nonprim ) {
OpenAPI_acc_net_charging_address_free ( an_charg_addr_local_nonprim ) ;
an_charg_addr_local_nonprim = NULL ;
}
if ( an_charg_idsList ) {
OpenAPI_list_for_each ( an_charg_idsList , node ) {
OpenAPI_access_net_charging_identifier_free ( node - > data ) ;
}
OpenAPI_list_free ( an_charg_idsList ) ;
an_charg_idsList = NULL ;
}
if ( an_gw_addr_local_nonprim ) {
OpenAPI_an_gw_address_free ( an_gw_addr_local_nonprim ) ;
an_gw_addr_local_nonprim = NULL ;
}
if ( ev_notifsList ) {
OpenAPI_list_for_each ( ev_notifsList , node ) {
OpenAPI_af_event_notification_free ( node - > data ) ;
}
OpenAPI_list_free ( ev_notifsList ) ;
ev_notifsList = NULL ;
}
if ( failed_resourc_alloc_reportsList ) {
OpenAPI_list_for_each ( failed_resourc_alloc_reportsList , node ) {
OpenAPI_resources_allocation_info_free ( node - > data ) ;
}
OpenAPI_list_free ( failed_resourc_alloc_reportsList ) ;
failed_resourc_alloc_reportsList = NULL ;
}
if ( succ_resourc_alloc_reportsList ) {
OpenAPI_list_for_each ( succ_resourc_alloc_reportsList , node ) {
OpenAPI_resources_allocation_info_free ( node - > data ) ;
}
OpenAPI_list_free ( succ_resourc_alloc_reportsList ) ;
succ_resourc_alloc_reportsList = NULL ;
}
if ( out_of_cred_reportsList ) {
OpenAPI_list_for_each ( out_of_cred_reportsList , node ) {
OpenAPI_out_of_credit_information_free ( node - > data ) ;
}
OpenAPI_list_free ( out_of_cred_reportsList ) ;
out_of_cred_reportsList = NULL ;
}
if ( plmn_id_local_nonprim ) {
OpenAPI_plmn_id_nid_free ( plmn_id_local_nonprim ) ;
plmn_id_local_nonprim = NULL ;
}
if ( qnc_reportsList ) {
OpenAPI_list_for_each ( qnc_reportsList , node ) {
OpenAPI_qos_notification_control_info_free ( node - > data ) ;
}
OpenAPI_list_free ( qnc_reportsList ) ;
qnc_reportsList = NULL ;
}
if ( qos_mon_reportsList ) {
OpenAPI_list_for_each ( qos_mon_reportsList , node ) {
OpenAPI_qos_monitoring_report_free ( node - > data ) ;
}
OpenAPI_list_free ( qos_mon_reportsList ) ;
qos_mon_reportsList = NULL ;
}
if ( ran_nas_rel_causesList ) {
OpenAPI_list_for_each ( ran_nas_rel_causesList , node ) {
OpenAPI_ran_nas_rel_cause_free ( node - > data ) ;
}
OpenAPI_list_free ( ran_nas_rel_causesList ) ;
ran_nas_rel_causesList = NULL ;
}
if ( ue_loc_local_nonprim ) {
OpenAPI_user_location_free ( ue_loc_local_nonprim ) ;
ue_loc_local_nonprim = NULL ;
}
if ( usg_rep_local_nonprim ) {
OpenAPI_accumulated_usage_free ( usg_rep_local_nonprim ) ;
usg_rep_local_nonprim = NULL ;
}
if ( tsn_bridge_man_cont_local_nonprim ) {
OpenAPI_bridge_management_container_free ( tsn_bridge_man_cont_local_nonprim ) ;
tsn_bridge_man_cont_local_nonprim = NULL ;
}
if ( tsn_port_man_cont_dstt_local_nonprim ) {
OpenAPI_port_management_container_free ( tsn_port_man_cont_dstt_local_nonprim ) ;
tsn_port_man_cont_dstt_local_nonprim = NULL ;
}
if ( tsn_port_man_cont_nwttsList ) {
OpenAPI_list_for_each ( tsn_port_man_cont_nwttsList , node ) {
OpenAPI_port_management_container_free ( node - > data ) ;
}
OpenAPI_list_free ( tsn_port_man_cont_nwttsList ) ;
tsn_port_man_cont_nwttsList = NULL ;
}
2021-07-07 08:32:55 +00:00
return NULL ;
}
OpenAPI_events_subsc_put_data_t * OpenAPI_events_subsc_put_data_copy ( OpenAPI_events_subsc_put_data_t * dst , OpenAPI_events_subsc_put_data_t * src )
{
cJSON * item = NULL ;
char * content = NULL ;
ogs_assert ( src ) ;
item = OpenAPI_events_subsc_put_data_convertToJSON ( src ) ;
if ( ! item ) {
ogs_error ( " OpenAPI_events_subsc_put_data_convertToJSON() failed " ) ;
return NULL ;
}
content = cJSON_Print ( item ) ;
cJSON_Delete ( item ) ;
if ( ! content ) {
ogs_error ( " cJSON_Print() failed " ) ;
return NULL ;
}
item = cJSON_Parse ( content ) ;
ogs_free ( content ) ;
if ( ! item ) {
ogs_error ( " cJSON_Parse() failed " ) ;
return NULL ;
}
OpenAPI_events_subsc_put_data_free ( dst ) ;
dst = OpenAPI_events_subsc_put_data_parseFromJSON ( item ) ;
cJSON_Delete ( item ) ;
return dst ;
}