Coverage Report

Created: 2026-06-30 06:14

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/resource_usage.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "resource_usage.h"
6
7
OpenAPI_resource_usage_t *OpenAPI_resource_usage_create(
8
    bool is_cpu_usage,
9
    int cpu_usage,
10
    bool is_memory_usage,
11
    int memory_usage,
12
    bool is_storage_usage,
13
    int storage_usage
14
)
15
0
{
16
0
    OpenAPI_resource_usage_t *resource_usage_local_var = ogs_malloc(sizeof(OpenAPI_resource_usage_t));
17
0
    ogs_assert(resource_usage_local_var);
18
19
0
    resource_usage_local_var->is_cpu_usage = is_cpu_usage;
20
0
    resource_usage_local_var->cpu_usage = cpu_usage;
21
0
    resource_usage_local_var->is_memory_usage = is_memory_usage;
22
0
    resource_usage_local_var->memory_usage = memory_usage;
23
0
    resource_usage_local_var->is_storage_usage = is_storage_usage;
24
0
    resource_usage_local_var->storage_usage = storage_usage;
25
26
0
    return resource_usage_local_var;
27
0
}
28
29
void OpenAPI_resource_usage_free(OpenAPI_resource_usage_t *resource_usage)
30
0
{
31
0
    OpenAPI_lnode_t *node = NULL;
32
33
0
    if (NULL == resource_usage) {
34
0
        return;
35
0
    }
36
0
    ogs_free(resource_usage);
37
0
}
38
39
cJSON *OpenAPI_resource_usage_convertToJSON(OpenAPI_resource_usage_t *resource_usage)
40
0
{
41
0
    cJSON *item = NULL;
42
0
    OpenAPI_lnode_t *node = NULL;
43
44
0
    if (resource_usage == NULL) {
45
0
        ogs_error("OpenAPI_resource_usage_convertToJSON() failed [ResourceUsage]");
46
0
        return NULL;
47
0
    }
48
49
0
    item = cJSON_CreateObject();
50
0
    if (resource_usage->is_cpu_usage) {
51
0
    if (cJSON_AddNumberToObject(item, "cpuUsage", resource_usage->cpu_usage) == NULL) {
52
0
        ogs_error("OpenAPI_resource_usage_convertToJSON() failed [cpu_usage]");
53
0
        goto end;
54
0
    }
55
0
    }
56
57
0
    if (resource_usage->is_memory_usage) {
58
0
    if (cJSON_AddNumberToObject(item, "memoryUsage", resource_usage->memory_usage) == NULL) {
59
0
        ogs_error("OpenAPI_resource_usage_convertToJSON() failed [memory_usage]");
60
0
        goto end;
61
0
    }
62
0
    }
63
64
0
    if (resource_usage->is_storage_usage) {
65
0
    if (cJSON_AddNumberToObject(item, "storageUsage", resource_usage->storage_usage) == NULL) {
66
0
        ogs_error("OpenAPI_resource_usage_convertToJSON() failed [storage_usage]");
67
0
        goto end;
68
0
    }
69
0
    }
70
71
0
end:
72
0
    return item;
73
0
}
74
75
OpenAPI_resource_usage_t *OpenAPI_resource_usage_parseFromJSON(cJSON *resource_usageJSON)
76
0
{
77
0
    OpenAPI_resource_usage_t *resource_usage_local_var = NULL;
78
0
    OpenAPI_lnode_t *node = NULL;
79
0
    cJSON *cpu_usage = NULL;
80
0
    cJSON *memory_usage = NULL;
81
0
    cJSON *storage_usage = NULL;
82
0
    cpu_usage = cJSON_GetObjectItemCaseSensitive(resource_usageJSON, "cpuUsage");
83
0
    if (cpu_usage) {
84
0
    if (!cJSON_IsNumber(cpu_usage)) {
85
0
        ogs_error("OpenAPI_resource_usage_parseFromJSON() failed [cpu_usage]");
86
0
        goto end;
87
0
    }
88
0
    }
89
90
0
    memory_usage = cJSON_GetObjectItemCaseSensitive(resource_usageJSON, "memoryUsage");
91
0
    if (memory_usage) {
92
0
    if (!cJSON_IsNumber(memory_usage)) {
93
0
        ogs_error("OpenAPI_resource_usage_parseFromJSON() failed [memory_usage]");
94
0
        goto end;
95
0
    }
96
0
    }
97
98
0
    storage_usage = cJSON_GetObjectItemCaseSensitive(resource_usageJSON, "storageUsage");
99
0
    if (storage_usage) {
100
0
    if (!cJSON_IsNumber(storage_usage)) {
101
0
        ogs_error("OpenAPI_resource_usage_parseFromJSON() failed [storage_usage]");
102
0
        goto end;
103
0
    }
104
0
    }
105
106
0
    resource_usage_local_var = OpenAPI_resource_usage_create (
107
0
        cpu_usage ? true : false,
108
0
        cpu_usage ? cpu_usage->valuedouble : 0,
109
0
        memory_usage ? true : false,
110
0
        memory_usage ? memory_usage->valuedouble : 0,
111
0
        storage_usage ? true : false,
112
0
        storage_usage ? storage_usage->valuedouble : 0
113
0
    );
114
115
0
    return resource_usage_local_var;
116
0
end:
117
0
    return NULL;
118
0
}
119
120
OpenAPI_resource_usage_t *OpenAPI_resource_usage_copy(OpenAPI_resource_usage_t *dst, OpenAPI_resource_usage_t *src)
121
0
{
122
0
    cJSON *item = NULL;
123
0
    char *content = NULL;
124
125
0
    ogs_assert(src);
126
0
    item = OpenAPI_resource_usage_convertToJSON(src);
127
0
    if (!item) {
128
0
        ogs_error("OpenAPI_resource_usage_convertToJSON() failed");
129
0
        return NULL;
130
0
    }
131
132
0
    content = cJSON_Print(item);
133
0
    cJSON_Delete(item);
134
135
0
    if (!content) {
136
0
        ogs_error("cJSON_Print() failed");
137
0
        return NULL;
138
0
    }
139
140
0
    item = cJSON_Parse(content);
141
0
    ogs_free(content);
142
0
    if (!item) {
143
0
        ogs_error("cJSON_Parse() failed");
144
0
        return NULL;
145
0
    }
146
147
0
    OpenAPI_resource_usage_free(dst);
148
0
    dst = OpenAPI_resource_usage_parseFromJSON(item);
149
0
    cJSON_Delete(item);
150
151
0
    return dst;
152
0
}
153