mirror of
https://github.com/open5gs/open5gs.git
synced 2026-05-02 13:20:08 +00:00
Add only one 5GC scenario (call-flow)
This commit is contained in:
parent
20008b6a13
commit
dbee687a75
1415 changed files with 86635 additions and 5877 deletions
|
|
@ -28,13 +28,7 @@ void OpenAPI_dnn_route_selection_descriptor_free(OpenAPI_dnn_route_selection_des
|
|||
}
|
||||
OpenAPI_lnode_t *node;
|
||||
ogs_free(dnn_route_selection_descriptor->dnn);
|
||||
OpenAPI_list_for_each(dnn_route_selection_descriptor->ssc_modes, node) {
|
||||
OpenAPI_ssc_mode_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(dnn_route_selection_descriptor->ssc_modes);
|
||||
OpenAPI_list_for_each(dnn_route_selection_descriptor->pdu_sess_types, node) {
|
||||
OpenAPI_pdu_session_type_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(dnn_route_selection_descriptor->pdu_sess_types);
|
||||
ogs_free(dnn_route_selection_descriptor);
|
||||
}
|
||||
|
|
@ -59,41 +53,31 @@ cJSON *OpenAPI_dnn_route_selection_descriptor_convertToJSON(OpenAPI_dnn_route_se
|
|||
}
|
||||
|
||||
if (dnn_route_selection_descriptor->ssc_modes) {
|
||||
cJSON *ssc_modesList = cJSON_AddArrayToObject(item, "sscModes");
|
||||
if (ssc_modesList == NULL) {
|
||||
cJSON *ssc_modes = cJSON_AddArrayToObject(item, "sscModes");
|
||||
if (ssc_modes == NULL) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_convertToJSON() failed [ssc_modes]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *ssc_modes_node;
|
||||
if (dnn_route_selection_descriptor->ssc_modes) {
|
||||
OpenAPI_list_for_each(dnn_route_selection_descriptor->ssc_modes, ssc_modes_node) {
|
||||
cJSON *itemLocal = OpenAPI_ssc_mode_convertToJSON(ssc_modes_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_convertToJSON() failed [ssc_modes]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(ssc_modesList, itemLocal);
|
||||
OpenAPI_list_for_each(dnn_route_selection_descriptor->ssc_modes, ssc_modes_node) {
|
||||
if (cJSON_AddStringToObject(ssc_modes, "", OpenAPI_ssc_mode_ToString((OpenAPI_ssc_mode_e)ssc_modes_node->data)) == NULL) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_convertToJSON() failed [ssc_modes]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dnn_route_selection_descriptor->pdu_sess_types) {
|
||||
cJSON *pdu_sess_typesList = cJSON_AddArrayToObject(item, "pduSessTypes");
|
||||
if (pdu_sess_typesList == NULL) {
|
||||
cJSON *pdu_sess_types = cJSON_AddArrayToObject(item, "pduSessTypes");
|
||||
if (pdu_sess_types == NULL) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_convertToJSON() failed [pdu_sess_types]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *pdu_sess_types_node;
|
||||
if (dnn_route_selection_descriptor->pdu_sess_types) {
|
||||
OpenAPI_list_for_each(dnn_route_selection_descriptor->pdu_sess_types, pdu_sess_types_node) {
|
||||
cJSON *itemLocal = OpenAPI_pdu_session_type_convertToJSON(pdu_sess_types_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_convertToJSON() failed [pdu_sess_types]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(pdu_sess_typesList, itemLocal);
|
||||
OpenAPI_list_for_each(dnn_route_selection_descriptor->pdu_sess_types, pdu_sess_types_node) {
|
||||
if (cJSON_AddStringToObject(pdu_sess_types, "", OpenAPI_pdu_session_type_ToString((OpenAPI_pdu_session_type_e)pdu_sess_types_node->data)) == NULL) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_convertToJSON() failed [pdu_sess_types]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -130,13 +114,12 @@ OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor
|
|||
ssc_modesList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(ssc_modes_local_nonprimitive, ssc_modes ) {
|
||||
if (!cJSON_IsObject(ssc_modes_local_nonprimitive)) {
|
||||
if (!cJSON_IsString(ssc_modes_local_nonprimitive)) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_parseFromJSON() failed [ssc_modes]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_ssc_mode_t *ssc_modesItem = OpenAPI_ssc_mode_parseFromJSON(ssc_modes_local_nonprimitive);
|
||||
|
||||
OpenAPI_list_add(ssc_modesList, ssc_modesItem);
|
||||
OpenAPI_list_add(ssc_modesList, (void *)OpenAPI_ssc_mode_FromString(ssc_modes_local_nonprimitive->valuestring));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -153,13 +136,12 @@ OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor
|
|||
pdu_sess_typesList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(pdu_sess_types_local_nonprimitive, pdu_sess_types ) {
|
||||
if (!cJSON_IsObject(pdu_sess_types_local_nonprimitive)) {
|
||||
if (!cJSON_IsString(pdu_sess_types_local_nonprimitive)) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_parseFromJSON() failed [pdu_sess_types]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_pdu_session_type_t *pdu_sess_typesItem = OpenAPI_pdu_session_type_parseFromJSON(pdu_sess_types_local_nonprimitive);
|
||||
|
||||
OpenAPI_list_add(pdu_sess_typesList, pdu_sess_typesItem);
|
||||
OpenAPI_list_add(pdu_sess_typesList, (void *)OpenAPI_pdu_session_type_FromString(pdu_sess_types_local_nonprimitive->valuestring));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -174,3 +156,37 @@ end:
|
|||
return NULL;
|
||||
}
|
||||
|
||||
OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor_copy(OpenAPI_dnn_route_selection_descriptor_t *dst, OpenAPI_dnn_route_selection_descriptor_t *src)
|
||||
{
|
||||
cJSON *item = NULL;
|
||||
char *content = NULL;
|
||||
|
||||
ogs_assert(src);
|
||||
item = OpenAPI_dnn_route_selection_descriptor_convertToJSON(src);
|
||||
if (!item) {
|
||||
ogs_error("OpenAPI_dnn_route_selection_descriptor_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_dnn_route_selection_descriptor_free(dst);
|
||||
dst = OpenAPI_dnn_route_selection_descriptor_parseFromJSON(item);
|
||||
cJSON_Delete(item);
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue