mirror of
https://github.com/open5gs/open5gs.git
synced 2026-05-03 05:40:09 +00:00
Add PCF(Policy Control Function)
This commit is contained in:
parent
fb95725ca4
commit
198abc6e8b
299 changed files with 29050 additions and 1075 deletions
262
lib/sbi/openapi/model/accu_usage_report.c
Normal file
262
lib/sbi/openapi/model/accu_usage_report.c
Normal file
|
|
@ -0,0 +1,262 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "accu_usage_report.h"
|
||||
|
||||
OpenAPI_accu_usage_report_t *OpenAPI_accu_usage_report_create(
|
||||
char *ref_um_ids,
|
||||
long vol_usage,
|
||||
long vol_usage_uplink,
|
||||
long vol_usage_downlink,
|
||||
int time_usage,
|
||||
long next_vol_usage,
|
||||
long next_vol_usage_uplink,
|
||||
long next_vol_usage_downlink,
|
||||
int next_time_usage
|
||||
)
|
||||
{
|
||||
OpenAPI_accu_usage_report_t *accu_usage_report_local_var = OpenAPI_malloc(sizeof(OpenAPI_accu_usage_report_t));
|
||||
if (!accu_usage_report_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
accu_usage_report_local_var->ref_um_ids = ref_um_ids;
|
||||
accu_usage_report_local_var->vol_usage = vol_usage;
|
||||
accu_usage_report_local_var->vol_usage_uplink = vol_usage_uplink;
|
||||
accu_usage_report_local_var->vol_usage_downlink = vol_usage_downlink;
|
||||
accu_usage_report_local_var->time_usage = time_usage;
|
||||
accu_usage_report_local_var->next_vol_usage = next_vol_usage;
|
||||
accu_usage_report_local_var->next_vol_usage_uplink = next_vol_usage_uplink;
|
||||
accu_usage_report_local_var->next_vol_usage_downlink = next_vol_usage_downlink;
|
||||
accu_usage_report_local_var->next_time_usage = next_time_usage;
|
||||
|
||||
return accu_usage_report_local_var;
|
||||
}
|
||||
|
||||
void OpenAPI_accu_usage_report_free(OpenAPI_accu_usage_report_t *accu_usage_report)
|
||||
{
|
||||
if (NULL == accu_usage_report) {
|
||||
return;
|
||||
}
|
||||
OpenAPI_lnode_t *node;
|
||||
ogs_free(accu_usage_report->ref_um_ids);
|
||||
ogs_free(accu_usage_report);
|
||||
}
|
||||
|
||||
cJSON *OpenAPI_accu_usage_report_convertToJSON(OpenAPI_accu_usage_report_t *accu_usage_report)
|
||||
{
|
||||
cJSON *item = NULL;
|
||||
|
||||
if (accu_usage_report == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [AccuUsageReport]");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
item = cJSON_CreateObject();
|
||||
if (!accu_usage_report->ref_um_ids) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [ref_um_ids]");
|
||||
goto end;
|
||||
}
|
||||
if (cJSON_AddStringToObject(item, "refUmIds", accu_usage_report->ref_um_ids) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [ref_um_ids]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (accu_usage_report->vol_usage) {
|
||||
if (cJSON_AddNumberToObject(item, "volUsage", accu_usage_report->vol_usage) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [vol_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->vol_usage_uplink) {
|
||||
if (cJSON_AddNumberToObject(item, "volUsageUplink", accu_usage_report->vol_usage_uplink) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [vol_usage_uplink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->vol_usage_downlink) {
|
||||
if (cJSON_AddNumberToObject(item, "volUsageDownlink", accu_usage_report->vol_usage_downlink) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [vol_usage_downlink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->time_usage) {
|
||||
if (cJSON_AddNumberToObject(item, "timeUsage", accu_usage_report->time_usage) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [time_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->next_vol_usage) {
|
||||
if (cJSON_AddNumberToObject(item, "nextVolUsage", accu_usage_report->next_vol_usage) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [next_vol_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->next_vol_usage_uplink) {
|
||||
if (cJSON_AddNumberToObject(item, "nextVolUsageUplink", accu_usage_report->next_vol_usage_uplink) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [next_vol_usage_uplink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->next_vol_usage_downlink) {
|
||||
if (cJSON_AddNumberToObject(item, "nextVolUsageDownlink", accu_usage_report->next_vol_usage_downlink) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [next_vol_usage_downlink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (accu_usage_report->next_time_usage) {
|
||||
if (cJSON_AddNumberToObject(item, "nextTimeUsage", accu_usage_report->next_time_usage) == NULL) {
|
||||
ogs_error("OpenAPI_accu_usage_report_convertToJSON() failed [next_time_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
return item;
|
||||
}
|
||||
|
||||
OpenAPI_accu_usage_report_t *OpenAPI_accu_usage_report_parseFromJSON(cJSON *accu_usage_reportJSON)
|
||||
{
|
||||
OpenAPI_accu_usage_report_t *accu_usage_report_local_var = NULL;
|
||||
cJSON *ref_um_ids = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "refUmIds");
|
||||
if (!ref_um_ids) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [ref_um_ids]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
||||
if (!cJSON_IsString(ref_um_ids)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [ref_um_ids]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
cJSON *vol_usage = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "volUsage");
|
||||
|
||||
if (vol_usage) {
|
||||
if (!cJSON_IsNumber(vol_usage)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [vol_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *vol_usage_uplink = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "volUsageUplink");
|
||||
|
||||
if (vol_usage_uplink) {
|
||||
if (!cJSON_IsNumber(vol_usage_uplink)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [vol_usage_uplink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *vol_usage_downlink = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "volUsageDownlink");
|
||||
|
||||
if (vol_usage_downlink) {
|
||||
if (!cJSON_IsNumber(vol_usage_downlink)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [vol_usage_downlink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *time_usage = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "timeUsage");
|
||||
|
||||
if (time_usage) {
|
||||
if (!cJSON_IsNumber(time_usage)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [time_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *next_vol_usage = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "nextVolUsage");
|
||||
|
||||
if (next_vol_usage) {
|
||||
if (!cJSON_IsNumber(next_vol_usage)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [next_vol_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *next_vol_usage_uplink = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "nextVolUsageUplink");
|
||||
|
||||
if (next_vol_usage_uplink) {
|
||||
if (!cJSON_IsNumber(next_vol_usage_uplink)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [next_vol_usage_uplink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *next_vol_usage_downlink = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "nextVolUsageDownlink");
|
||||
|
||||
if (next_vol_usage_downlink) {
|
||||
if (!cJSON_IsNumber(next_vol_usage_downlink)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [next_vol_usage_downlink]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *next_time_usage = cJSON_GetObjectItemCaseSensitive(accu_usage_reportJSON, "nextTimeUsage");
|
||||
|
||||
if (next_time_usage) {
|
||||
if (!cJSON_IsNumber(next_time_usage)) {
|
||||
ogs_error("OpenAPI_accu_usage_report_parseFromJSON() failed [next_time_usage]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
accu_usage_report_local_var = OpenAPI_accu_usage_report_create (
|
||||
ogs_strdup(ref_um_ids->valuestring),
|
||||
vol_usage ? vol_usage->valuedouble : 0,
|
||||
vol_usage_uplink ? vol_usage_uplink->valuedouble : 0,
|
||||
vol_usage_downlink ? vol_usage_downlink->valuedouble : 0,
|
||||
time_usage ? time_usage->valuedouble : 0,
|
||||
next_vol_usage ? next_vol_usage->valuedouble : 0,
|
||||
next_vol_usage_uplink ? next_vol_usage_uplink->valuedouble : 0,
|
||||
next_vol_usage_downlink ? next_vol_usage_downlink->valuedouble : 0,
|
||||
next_time_usage ? next_time_usage->valuedouble : 0
|
||||
);
|
||||
|
||||
return accu_usage_report_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
OpenAPI_accu_usage_report_t *OpenAPI_accu_usage_report_copy(OpenAPI_accu_usage_report_t *dst, OpenAPI_accu_usage_report_t *src)
|
||||
{
|
||||
cJSON *item = NULL;
|
||||
char *content = NULL;
|
||||
|
||||
ogs_assert(src);
|
||||
item = OpenAPI_accu_usage_report_convertToJSON(src);
|
||||
if (!item) {
|
||||
ogs_error("OpenAPI_accu_usage_report_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_accu_usage_report_free(dst);
|
||||
dst = OpenAPI_accu_usage_report_parseFromJSON(item);
|
||||
cJSON_Delete(item);
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue