mirror of
https://github.com/open5gs/open5gs.git
synced 2026-05-05 07:08:11 +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
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue