[Release-17] Upgrade SBI to v17.x.0

This commit is contained in:
Sukchan Lee 2023-03-01 19:56:49 +09:00
parent 969c116e77
commit 4d44b1843e
1687 changed files with 121604 additions and 9310 deletions

View file

@ -9,7 +9,10 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_create(
char *lmf_id,
OpenAPI_list_t *serving_access_types,
OpenAPI_list_t *serving_an_node_types,
OpenAPI_list_t *serving_rat_types
OpenAPI_list_t *serving_rat_types,
OpenAPI_list_t *tai_list,
OpenAPI_list_t *tai_range_list,
OpenAPI_list_t *supported_gad_shapes
)
{
OpenAPI_lmf_info_t *lmf_info_local_var = ogs_malloc(sizeof(OpenAPI_lmf_info_t));
@ -20,6 +23,9 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_create(
lmf_info_local_var->serving_access_types = serving_access_types;
lmf_info_local_var->serving_an_node_types = serving_an_node_types;
lmf_info_local_var->serving_rat_types = serving_rat_types;
lmf_info_local_var->tai_list = tai_list;
lmf_info_local_var->tai_range_list = tai_range_list;
lmf_info_local_var->supported_gad_shapes = supported_gad_shapes;
return lmf_info_local_var;
}
@ -54,6 +60,27 @@ void OpenAPI_lmf_info_free(OpenAPI_lmf_info_t *lmf_info)
OpenAPI_list_free(lmf_info->serving_rat_types);
lmf_info->serving_rat_types = NULL;
}
if (lmf_info->tai_list) {
OpenAPI_list_for_each(lmf_info->tai_list, node) {
OpenAPI_tai_free(node->data);
}
OpenAPI_list_free(lmf_info->tai_list);
lmf_info->tai_list = NULL;
}
if (lmf_info->tai_range_list) {
OpenAPI_list_for_each(lmf_info->tai_range_list, node) {
OpenAPI_tai_range_free(node->data);
}
OpenAPI_list_free(lmf_info->tai_range_list);
lmf_info->tai_range_list = NULL;
}
if (lmf_info->supported_gad_shapes) {
OpenAPI_list_for_each(lmf_info->supported_gad_shapes, node) {
OpenAPI_supported_gad_shapes_free(node->data);
}
OpenAPI_list_free(lmf_info->supported_gad_shapes);
lmf_info->supported_gad_shapes = NULL;
}
ogs_free(lmf_info);
}
@ -133,6 +160,54 @@ cJSON *OpenAPI_lmf_info_convertToJSON(OpenAPI_lmf_info_t *lmf_info)
}
}
if (lmf_info->tai_list) {
cJSON *tai_listList = cJSON_AddArrayToObject(item, "taiList");
if (tai_listList == NULL) {
ogs_error("OpenAPI_lmf_info_convertToJSON() failed [tai_list]");
goto end;
}
OpenAPI_list_for_each(lmf_info->tai_list, node) {
cJSON *itemLocal = OpenAPI_tai_convertToJSON(node->data);
if (itemLocal == NULL) {
ogs_error("OpenAPI_lmf_info_convertToJSON() failed [tai_list]");
goto end;
}
cJSON_AddItemToArray(tai_listList, itemLocal);
}
}
if (lmf_info->tai_range_list) {
cJSON *tai_range_listList = cJSON_AddArrayToObject(item, "taiRangeList");
if (tai_range_listList == NULL) {
ogs_error("OpenAPI_lmf_info_convertToJSON() failed [tai_range_list]");
goto end;
}
OpenAPI_list_for_each(lmf_info->tai_range_list, node) {
cJSON *itemLocal = OpenAPI_tai_range_convertToJSON(node->data);
if (itemLocal == NULL) {
ogs_error("OpenAPI_lmf_info_convertToJSON() failed [tai_range_list]");
goto end;
}
cJSON_AddItemToArray(tai_range_listList, itemLocal);
}
}
if (lmf_info->supported_gad_shapes) {
cJSON *supported_gad_shapesList = cJSON_AddArrayToObject(item, "supportedGADShapes");
if (supported_gad_shapesList == NULL) {
ogs_error("OpenAPI_lmf_info_convertToJSON() failed [supported_gad_shapes]");
goto end;
}
OpenAPI_list_for_each(lmf_info->supported_gad_shapes, node) {
cJSON *itemLocal = OpenAPI_supported_gad_shapes_convertToJSON(node->data);
if (itemLocal == NULL) {
ogs_error("OpenAPI_lmf_info_convertToJSON() failed [supported_gad_shapes]");
goto end;
}
cJSON_AddItemToArray(supported_gad_shapesList, itemLocal);
}
}
end:
return item;
}
@ -150,6 +225,12 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_parseFromJSON(cJSON *lmf_infoJSON)
OpenAPI_list_t *serving_an_node_typesList = NULL;
cJSON *serving_rat_types = NULL;
OpenAPI_list_t *serving_rat_typesList = NULL;
cJSON *tai_list = NULL;
OpenAPI_list_t *tai_listList = NULL;
cJSON *tai_range_list = NULL;
OpenAPI_list_t *tai_range_listList = NULL;
cJSON *supported_gad_shapes = NULL;
OpenAPI_list_t *supported_gad_shapesList = NULL;
serving_client_types = cJSON_GetObjectItemCaseSensitive(lmf_infoJSON, "servingClientTypes");
if (serving_client_types) {
cJSON *serving_client_types_local = NULL;
@ -240,12 +321,90 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_parseFromJSON(cJSON *lmf_infoJSON)
}
}
tai_list = cJSON_GetObjectItemCaseSensitive(lmf_infoJSON, "taiList");
if (tai_list) {
cJSON *tai_list_local = NULL;
if (!cJSON_IsArray(tai_list)) {
ogs_error("OpenAPI_lmf_info_parseFromJSON() failed [tai_list]");
goto end;
}
tai_listList = OpenAPI_list_create();
cJSON_ArrayForEach(tai_list_local, tai_list) {
if (!cJSON_IsObject(tai_list_local)) {
ogs_error("OpenAPI_lmf_info_parseFromJSON() failed [tai_list]");
goto end;
}
OpenAPI_tai_t *tai_listItem = OpenAPI_tai_parseFromJSON(tai_list_local);
if (!tai_listItem) {
ogs_error("No tai_listItem");
OpenAPI_list_free(tai_listList);
goto end;
}
OpenAPI_list_add(tai_listList, tai_listItem);
}
}
tai_range_list = cJSON_GetObjectItemCaseSensitive(lmf_infoJSON, "taiRangeList");
if (tai_range_list) {
cJSON *tai_range_list_local = NULL;
if (!cJSON_IsArray(tai_range_list)) {
ogs_error("OpenAPI_lmf_info_parseFromJSON() failed [tai_range_list]");
goto end;
}
tai_range_listList = OpenAPI_list_create();
cJSON_ArrayForEach(tai_range_list_local, tai_range_list) {
if (!cJSON_IsObject(tai_range_list_local)) {
ogs_error("OpenAPI_lmf_info_parseFromJSON() failed [tai_range_list]");
goto end;
}
OpenAPI_tai_range_t *tai_range_listItem = OpenAPI_tai_range_parseFromJSON(tai_range_list_local);
if (!tai_range_listItem) {
ogs_error("No tai_range_listItem");
OpenAPI_list_free(tai_range_listList);
goto end;
}
OpenAPI_list_add(tai_range_listList, tai_range_listItem);
}
}
supported_gad_shapes = cJSON_GetObjectItemCaseSensitive(lmf_infoJSON, "supportedGADShapes");
if (supported_gad_shapes) {
cJSON *supported_gad_shapes_local = NULL;
if (!cJSON_IsArray(supported_gad_shapes)) {
ogs_error("OpenAPI_lmf_info_parseFromJSON() failed [supported_gad_shapes]");
goto end;
}
supported_gad_shapesList = OpenAPI_list_create();
cJSON_ArrayForEach(supported_gad_shapes_local, supported_gad_shapes) {
if (!cJSON_IsObject(supported_gad_shapes_local)) {
ogs_error("OpenAPI_lmf_info_parseFromJSON() failed [supported_gad_shapes]");
goto end;
}
OpenAPI_supported_gad_shapes_t *supported_gad_shapesItem = OpenAPI_supported_gad_shapes_parseFromJSON(supported_gad_shapes_local);
if (!supported_gad_shapesItem) {
ogs_error("No supported_gad_shapesItem");
OpenAPI_list_free(supported_gad_shapesList);
goto end;
}
OpenAPI_list_add(supported_gad_shapesList, supported_gad_shapesItem);
}
}
lmf_info_local_var = OpenAPI_lmf_info_create (
serving_client_types ? serving_client_typesList : NULL,
lmf_id && !cJSON_IsNull(lmf_id) ? ogs_strdup(lmf_id->valuestring) : NULL,
serving_access_types ? serving_access_typesList : NULL,
serving_an_node_types ? serving_an_node_typesList : NULL,
serving_rat_types ? serving_rat_typesList : NULL
serving_rat_types ? serving_rat_typesList : NULL,
tai_list ? tai_listList : NULL,
tai_range_list ? tai_range_listList : NULL,
supported_gad_shapes ? supported_gad_shapesList : NULL
);
return lmf_info_local_var;
@ -269,6 +428,27 @@ end:
OpenAPI_list_free(serving_rat_typesList);
serving_rat_typesList = NULL;
}
if (tai_listList) {
OpenAPI_list_for_each(tai_listList, node) {
OpenAPI_tai_free(node->data);
}
OpenAPI_list_free(tai_listList);
tai_listList = NULL;
}
if (tai_range_listList) {
OpenAPI_list_for_each(tai_range_listList, node) {
OpenAPI_tai_range_free(node->data);
}
OpenAPI_list_free(tai_range_listList);
tai_range_listList = NULL;
}
if (supported_gad_shapesList) {
OpenAPI_list_for_each(supported_gad_shapesList, node) {
OpenAPI_supported_gad_shapes_free(node->data);
}
OpenAPI_list_free(supported_gad_shapesList);
supported_gad_shapesList = NULL;
}
return NULL;
}