Coverage Report

Created: 2026-09-27 06:19

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/svc_experience.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "svc_experience.h"
6
7
OpenAPI_svc_experience_t *OpenAPI_svc_experience_create(
8
    bool is_mos,
9
    float mos,
10
    bool is_upper_range,
11
    float upper_range,
12
    bool is_lower_range,
13
    float lower_range
14
)
15
0
{
16
0
    OpenAPI_svc_experience_t *svc_experience_local_var = ogs_malloc(sizeof(OpenAPI_svc_experience_t));
17
0
    ogs_assert(svc_experience_local_var);
18
19
0
    svc_experience_local_var->is_mos = is_mos;
20
0
    svc_experience_local_var->mos = mos;
21
0
    svc_experience_local_var->is_upper_range = is_upper_range;
22
0
    svc_experience_local_var->upper_range = upper_range;
23
0
    svc_experience_local_var->is_lower_range = is_lower_range;
24
0
    svc_experience_local_var->lower_range = lower_range;
25
26
0
    return svc_experience_local_var;
27
0
}
28
29
void OpenAPI_svc_experience_free(OpenAPI_svc_experience_t *svc_experience)
30
0
{
31
0
    OpenAPI_lnode_t *node = NULL;
32
33
0
    if (NULL == svc_experience) {
34
0
        return;
35
0
    }
36
0
    ogs_free(svc_experience);
37
0
}
38
39
cJSON *OpenAPI_svc_experience_convertToJSON(OpenAPI_svc_experience_t *svc_experience)
40
0
{
41
0
    cJSON *item = NULL;
42
0
    OpenAPI_lnode_t *node = NULL;
43
44
0
    if (svc_experience == NULL) {
45
0
        ogs_error("OpenAPI_svc_experience_convertToJSON() failed [SvcExperience]");
46
0
        return NULL;
47
0
    }
48
49
0
    item = cJSON_CreateObject();
50
0
    if (svc_experience->is_mos) {
51
0
    if (cJSON_AddNumberToObject(item, "mos", svc_experience->mos) == NULL) {
52
0
        ogs_error("OpenAPI_svc_experience_convertToJSON() failed [mos]");
53
0
        goto end;
54
0
    }
55
0
    }
56
57
0
    if (svc_experience->is_upper_range) {
58
0
    if (cJSON_AddNumberToObject(item, "upperRange", svc_experience->upper_range) == NULL) {
59
0
        ogs_error("OpenAPI_svc_experience_convertToJSON() failed [upper_range]");
60
0
        goto end;
61
0
    }
62
0
    }
63
64
0
    if (svc_experience->is_lower_range) {
65
0
    if (cJSON_AddNumberToObject(item, "lowerRange", svc_experience->lower_range) == NULL) {
66
0
        ogs_error("OpenAPI_svc_experience_convertToJSON() failed [lower_range]");
67
0
        goto end;
68
0
    }
69
0
    }
70
71
0
end:
72
0
    return item;
73
0
}
74
75
OpenAPI_svc_experience_t *OpenAPI_svc_experience_parseFromJSON(cJSON *svc_experienceJSON)
76
0
{
77
0
    OpenAPI_svc_experience_t *svc_experience_local_var = NULL;
78
0
    OpenAPI_lnode_t *node = NULL;
79
0
    cJSON *mos = NULL;
80
0
    cJSON *upper_range = NULL;
81
0
    cJSON *lower_range = NULL;
82
0
    mos = cJSON_GetObjectItemCaseSensitive(svc_experienceJSON, "mos");
83
0
    if (mos) {
84
0
    if (!cJSON_IsNumber(mos)) {
85
0
        ogs_error("OpenAPI_svc_experience_parseFromJSON() failed [mos]");
86
0
        goto end;
87
0
    }
88
0
    }
89
90
0
    upper_range = cJSON_GetObjectItemCaseSensitive(svc_experienceJSON, "upperRange");
91
0
    if (upper_range) {
92
0
    if (!cJSON_IsNumber(upper_range)) {
93
0
        ogs_error("OpenAPI_svc_experience_parseFromJSON() failed [upper_range]");
94
0
        goto end;
95
0
    }
96
0
    }
97
98
0
    lower_range = cJSON_GetObjectItemCaseSensitive(svc_experienceJSON, "lowerRange");
99
0
    if (lower_range) {
100
0
    if (!cJSON_IsNumber(lower_range)) {
101
0
        ogs_error("OpenAPI_svc_experience_parseFromJSON() failed [lower_range]");
102
0
        goto end;
103
0
    }
104
0
    }
105
106
0
    svc_experience_local_var = OpenAPI_svc_experience_create (
107
0
        mos ? true : false,
108
0
        mos ? mos->valuedouble : 0,
109
0
        upper_range ? true : false,
110
0
        upper_range ? upper_range->valuedouble : 0,
111
0
        lower_range ? true : false,
112
0
        lower_range ? lower_range->valuedouble : 0
113
0
    );
114
115
0
    return svc_experience_local_var;
116
0
end:
117
0
    return NULL;
118
0
}
119
120
OpenAPI_svc_experience_t *OpenAPI_svc_experience_copy(OpenAPI_svc_experience_t *dst, OpenAPI_svc_experience_t *src)
121
0
{
122
0
    cJSON *item = NULL;
123
0
    char *content = NULL;
124
125
0
    ogs_assert(src);
126
0
    item = OpenAPI_svc_experience_convertToJSON(src);
127
0
    if (!item) {
128
0
        ogs_error("OpenAPI_svc_experience_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_svc_experience_free(dst);
148
0
    dst = OpenAPI_svc_experience_parseFromJSON(item);
149
0
    cJSON_Delete(item);
150
151
0
    return dst;
152
0
}
153