Add only one 5GC scenario (call-flow)

This commit is contained in:
Sukchan Lee 2020-06-17 01:22:28 -04:00
parent 20008b6a13
commit dbee687a75
1415 changed files with 86635 additions and 5877 deletions

View file

@ -6,8 +6,8 @@
OpenAPI_service_to_pdu_session_t *OpenAPI_service_to_pdu_session_create(
OpenAPI_list_t *ser_ids,
OpenAPI_pdu_session_type_t *pdu_session_type,
OpenAPI_ssc_mode_t *ssc_mode,
OpenAPI_pdu_session_type_e pdu_session_type,
OpenAPI_ssc_mode_e ssc_mode,
OpenAPI_list_t *slice_info,
OpenAPI_list_t *dnns
)
@ -35,8 +35,6 @@ void OpenAPI_service_to_pdu_session_free(OpenAPI_service_to_pdu_session_t *servi
ogs_free(node->data);
}
OpenAPI_list_free(service_to_pdu_session->ser_ids);
OpenAPI_pdu_session_type_free(service_to_pdu_session->pdu_session_type);
OpenAPI_ssc_mode_free(service_to_pdu_session->ssc_mode);
OpenAPI_list_for_each(service_to_pdu_session->slice_info, node) {
OpenAPI_snssai_free(node->data);
}
@ -77,26 +75,14 @@ cJSON *OpenAPI_service_to_pdu_session_convertToJSON(OpenAPI_service_to_pdu_sessi
}
if (service_to_pdu_session->pdu_session_type) {
cJSON *pdu_session_type_local_JSON = OpenAPI_pdu_session_type_convertToJSON(service_to_pdu_session->pdu_session_type);
if (pdu_session_type_local_JSON == NULL) {
ogs_error("OpenAPI_service_to_pdu_session_convertToJSON() failed [pdu_session_type]");
goto end;
}
cJSON_AddItemToObject(item, "pduSessionType", pdu_session_type_local_JSON);
if (item->child == NULL) {
if (cJSON_AddStringToObject(item, "pduSessionType", OpenAPI_pdu_session_type_ToString(service_to_pdu_session->pdu_session_type)) == NULL) {
ogs_error("OpenAPI_service_to_pdu_session_convertToJSON() failed [pdu_session_type]");
goto end;
}
}
if (service_to_pdu_session->ssc_mode) {
cJSON *ssc_mode_local_JSON = OpenAPI_ssc_mode_convertToJSON(service_to_pdu_session->ssc_mode);
if (ssc_mode_local_JSON == NULL) {
ogs_error("OpenAPI_service_to_pdu_session_convertToJSON() failed [ssc_mode]");
goto end;
}
cJSON_AddItemToObject(item, "sscMode", ssc_mode_local_JSON);
if (item->child == NULL) {
if (cJSON_AddStringToObject(item, "sscMode", OpenAPI_ssc_mode_ToString(service_to_pdu_session->ssc_mode)) == NULL) {
ogs_error("OpenAPI_service_to_pdu_session_convertToJSON() failed [ssc_mode]");
goto end;
}
@ -170,16 +156,24 @@ OpenAPI_service_to_pdu_session_t *OpenAPI_service_to_pdu_session_parseFromJSON(c
cJSON *pdu_session_type = cJSON_GetObjectItemCaseSensitive(service_to_pdu_sessionJSON, "pduSessionType");
OpenAPI_pdu_session_type_t *pdu_session_type_local_nonprim = NULL;
OpenAPI_pdu_session_type_e pdu_session_typeVariable;
if (pdu_session_type) {
pdu_session_type_local_nonprim = OpenAPI_pdu_session_type_parseFromJSON(pdu_session_type);
if (!cJSON_IsString(pdu_session_type)) {
ogs_error("OpenAPI_service_to_pdu_session_parseFromJSON() failed [pdu_session_type]");
goto end;
}
pdu_session_typeVariable = OpenAPI_pdu_session_type_FromString(pdu_session_type->valuestring);
}
cJSON *ssc_mode = cJSON_GetObjectItemCaseSensitive(service_to_pdu_sessionJSON, "sscMode");
OpenAPI_ssc_mode_t *ssc_mode_local_nonprim = NULL;
OpenAPI_ssc_mode_e ssc_modeVariable;
if (ssc_mode) {
ssc_mode_local_nonprim = OpenAPI_ssc_mode_parseFromJSON(ssc_mode);
if (!cJSON_IsString(ssc_mode)) {
ogs_error("OpenAPI_service_to_pdu_session_parseFromJSON() failed [ssc_mode]");
goto end;
}
ssc_modeVariable = OpenAPI_ssc_mode_FromString(ssc_mode->valuestring);
}
cJSON *slice_info = cJSON_GetObjectItemCaseSensitive(service_to_pdu_sessionJSON, "sliceInfo");
@ -227,8 +221,8 @@ OpenAPI_service_to_pdu_session_t *OpenAPI_service_to_pdu_session_parseFromJSON(c
service_to_pdu_session_local_var = OpenAPI_service_to_pdu_session_create (
ser_idsList,
pdu_session_type ? pdu_session_type_local_nonprim : NULL,
ssc_mode ? ssc_mode_local_nonprim : NULL,
pdu_session_type ? pdu_session_typeVariable : 0,
ssc_mode ? ssc_modeVariable : 0,
slice_info ? slice_infoList : NULL,
dnns ? dnnsList : NULL
);
@ -238,3 +232,37 @@ end:
return NULL;
}
OpenAPI_service_to_pdu_session_t *OpenAPI_service_to_pdu_session_copy(OpenAPI_service_to_pdu_session_t *dst, OpenAPI_service_to_pdu_session_t *src)
{
cJSON *item = NULL;
char *content = NULL;
ogs_assert(src);
item = OpenAPI_service_to_pdu_session_convertToJSON(src);
if (!item) {
ogs_error("OpenAPI_service_to_pdu_session_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_service_to_pdu_session_free(dst);
dst = OpenAPI_service_to_pdu_session_parseFromJSON(item);
cJSON_Delete(item);
return dst;
}