Coverage Report

Created: 2026-11-06 06:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/shared_data.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "shared_data.h"
6
7
OpenAPI_shared_data_t *OpenAPI_shared_data_create(
8
    char *shared_data_id,
9
    bool is_shared_profile_data_null,
10
    OpenAPI_nf_profile_t *shared_profile_data,
11
    OpenAPI_nf_service_t *shared_service_data,
12
    OpenAPI_shared_scope_t *authorized_write_scope
13
)
14
0
{
15
0
    OpenAPI_shared_data_t *shared_data_local_var = ogs_malloc(sizeof(OpenAPI_shared_data_t));
16
0
    ogs_assert(shared_data_local_var);
17
18
0
    shared_data_local_var->shared_data_id = shared_data_id;
19
0
    shared_data_local_var->is_shared_profile_data_null = is_shared_profile_data_null;
20
0
    shared_data_local_var->shared_profile_data = shared_profile_data;
21
0
    shared_data_local_var->shared_service_data = shared_service_data;
22
0
    shared_data_local_var->authorized_write_scope = authorized_write_scope;
23
24
0
    return shared_data_local_var;
25
0
}
26
27
void OpenAPI_shared_data_free(OpenAPI_shared_data_t *shared_data)
28
0
{
29
0
    OpenAPI_lnode_t *node = NULL;
30
31
0
    if (NULL == shared_data) {
32
0
        return;
33
0
    }
34
0
    if (shared_data->shared_data_id) {
35
0
        ogs_free(shared_data->shared_data_id);
36
0
        shared_data->shared_data_id = NULL;
37
0
    }
38
0
    if (shared_data->shared_profile_data) {
39
0
        OpenAPI_nf_profile_free(shared_data->shared_profile_data);
40
0
        shared_data->shared_profile_data = NULL;
41
0
    }
42
0
    if (shared_data->shared_service_data) {
43
0
        OpenAPI_nf_service_free(shared_data->shared_service_data);
44
0
        shared_data->shared_service_data = NULL;
45
0
    }
46
0
    if (shared_data->authorized_write_scope) {
47
0
        OpenAPI_shared_scope_free(shared_data->authorized_write_scope);
48
0
        shared_data->authorized_write_scope = NULL;
49
0
    }
50
0
    ogs_free(shared_data);
51
0
}
52
53
cJSON *OpenAPI_shared_data_convertToJSON(OpenAPI_shared_data_t *shared_data)
54
0
{
55
0
    cJSON *item = NULL;
56
0
    OpenAPI_lnode_t *node = NULL;
57
58
0
    if (shared_data == NULL) {
59
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [SharedData]");
60
0
        return NULL;
61
0
    }
62
63
0
    item = cJSON_CreateObject();
64
0
    if (!shared_data->shared_data_id) {
65
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_data_id]");
66
0
        return NULL;
67
0
    }
68
0
    if (cJSON_AddStringToObject(item, "sharedDataId", shared_data->shared_data_id) == NULL) {
69
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_data_id]");
70
0
        goto end;
71
0
    }
72
73
0
    if (shared_data->shared_profile_data) {
74
0
    cJSON *shared_profile_data_local_JSON = OpenAPI_nf_profile_convertToJSON(shared_data->shared_profile_data);
75
0
    if (shared_profile_data_local_JSON == NULL) {
76
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_profile_data]");
77
0
        goto end;
78
0
    }
79
0
    cJSON_AddItemToObject(item, "sharedProfileData", shared_profile_data_local_JSON);
80
0
    if (item->child == NULL) {
81
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_profile_data]");
82
0
        goto end;
83
0
    }
84
0
    } else if (shared_data->is_shared_profile_data_null) {
85
0
        if (cJSON_AddNullToObject(item, "sharedProfileData") == NULL) {
86
0
            ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_profile_data]");
87
0
            goto end;
88
0
        }
89
0
    }
90
91
0
    if (shared_data->shared_service_data) {
92
0
    cJSON *shared_service_data_local_JSON = OpenAPI_nf_service_convertToJSON(shared_data->shared_service_data);
93
0
    if (shared_service_data_local_JSON == NULL) {
94
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_service_data]");
95
0
        goto end;
96
0
    }
97
0
    cJSON_AddItemToObject(item, "sharedServiceData", shared_service_data_local_JSON);
98
0
    if (item->child == NULL) {
99
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_service_data]");
100
0
        goto end;
101
0
    }
102
0
    }
103
104
0
    if (shared_data->authorized_write_scope) {
105
0
    cJSON *authorized_write_scope_local_JSON = OpenAPI_shared_scope_convertToJSON(shared_data->authorized_write_scope);
106
0
    if (authorized_write_scope_local_JSON == NULL) {
107
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [authorized_write_scope]");
108
0
        goto end;
109
0
    }
110
0
    cJSON_AddItemToObject(item, "authorizedWriteScope", authorized_write_scope_local_JSON);
111
0
    if (item->child == NULL) {
112
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed [authorized_write_scope]");
113
0
        goto end;
114
0
    }
115
0
    }
116
117
0
end:
118
0
    return item;
119
0
}
120
121
OpenAPI_shared_data_t *OpenAPI_shared_data_parseFromJSON(cJSON *shared_dataJSON)
122
23
{
123
23
    OpenAPI_shared_data_t *shared_data_local_var = NULL;
124
23
    OpenAPI_lnode_t *node = NULL;
125
23
    cJSON *shared_data_id = NULL;
126
23
    cJSON *shared_profile_data = NULL;
127
23
    OpenAPI_nf_profile_t *shared_profile_data_local_nonprim = NULL;
128
23
    cJSON *shared_service_data = NULL;
129
23
    OpenAPI_nf_service_t *shared_service_data_local_nonprim = NULL;
130
23
    cJSON *authorized_write_scope = NULL;
131
23
    OpenAPI_shared_scope_t *authorized_write_scope_local_nonprim = NULL;
132
23
    shared_data_id = cJSON_GetObjectItemCaseSensitive(shared_dataJSON, "sharedDataId");
133
23
    if (!shared_data_id) {
134
23
        ogs_error("OpenAPI_shared_data_parseFromJSON() failed [shared_data_id]");
135
23
        goto end;
136
23
    }
137
0
    if (!cJSON_IsString(shared_data_id)) {
138
0
        ogs_error("OpenAPI_shared_data_parseFromJSON() failed [shared_data_id]");
139
0
        goto end;
140
0
    }
141
142
0
    shared_profile_data = cJSON_GetObjectItemCaseSensitive(shared_dataJSON, "sharedProfileData");
143
0
    if (shared_profile_data) {
144
0
    if (!cJSON_IsNull(shared_profile_data)) {
145
0
    shared_profile_data_local_nonprim = OpenAPI_nf_profile_parseFromJSON(shared_profile_data);
146
0
    if (!shared_profile_data_local_nonprim) {
147
0
        ogs_error("OpenAPI_nf_profile_parseFromJSON failed [shared_profile_data]");
148
0
        goto end;
149
0
    }
150
0
    }
151
0
    }
152
153
0
    shared_service_data = cJSON_GetObjectItemCaseSensitive(shared_dataJSON, "sharedServiceData");
154
0
    if (shared_service_data) {
155
0
    shared_service_data_local_nonprim = OpenAPI_nf_service_parseFromJSON(shared_service_data);
156
0
    if (!shared_service_data_local_nonprim) {
157
0
        ogs_error("OpenAPI_nf_service_parseFromJSON failed [shared_service_data]");
158
0
        goto end;
159
0
    }
160
0
    }
161
162
0
    authorized_write_scope = cJSON_GetObjectItemCaseSensitive(shared_dataJSON, "authorizedWriteScope");
163
0
    if (authorized_write_scope) {
164
0
    authorized_write_scope_local_nonprim = OpenAPI_shared_scope_parseFromJSON(authorized_write_scope);
165
0
    if (!authorized_write_scope_local_nonprim) {
166
0
        ogs_error("OpenAPI_shared_scope_parseFromJSON failed [authorized_write_scope]");
167
0
        goto end;
168
0
    }
169
0
    }
170
171
0
    shared_data_local_var = OpenAPI_shared_data_create (
172
0
        ogs_strdup(shared_data_id->valuestring),
173
0
        shared_profile_data && cJSON_IsNull(shared_profile_data) ? true : false,
174
0
        shared_profile_data ? shared_profile_data_local_nonprim : NULL,
175
0
        shared_service_data ? shared_service_data_local_nonprim : NULL,
176
0
        authorized_write_scope ? authorized_write_scope_local_nonprim : NULL
177
0
    );
178
179
0
    return shared_data_local_var;
180
23
end:
181
23
    if (shared_profile_data_local_nonprim) {
182
0
        OpenAPI_nf_profile_free(shared_profile_data_local_nonprim);
183
0
        shared_profile_data_local_nonprim = NULL;
184
0
    }
185
23
    if (shared_service_data_local_nonprim) {
186
0
        OpenAPI_nf_service_free(shared_service_data_local_nonprim);
187
0
        shared_service_data_local_nonprim = NULL;
188
0
    }
189
23
    if (authorized_write_scope_local_nonprim) {
190
0
        OpenAPI_shared_scope_free(authorized_write_scope_local_nonprim);
191
0
        authorized_write_scope_local_nonprim = NULL;
192
0
    }
193
23
    return NULL;
194
0
}
195
196
OpenAPI_shared_data_t *OpenAPI_shared_data_copy(OpenAPI_shared_data_t *dst, OpenAPI_shared_data_t *src)
197
0
{
198
0
    cJSON *item = NULL;
199
0
    char *content = NULL;
200
201
0
    ogs_assert(src);
202
0
    item = OpenAPI_shared_data_convertToJSON(src);
203
0
    if (!item) {
204
0
        ogs_error("OpenAPI_shared_data_convertToJSON() failed");
205
0
        return NULL;
206
0
    }
207
208
0
    content = cJSON_Print(item);
209
0
    cJSON_Delete(item);
210
211
0
    if (!content) {
212
0
        ogs_error("cJSON_Print() failed");
213
0
        return NULL;
214
0
    }
215
216
0
    item = cJSON_Parse(content);
217
0
    ogs_free(content);
218
0
    if (!item) {
219
0
        ogs_error("cJSON_Parse() failed");
220
0
        return NULL;
221
0
    }
222
223
0
    OpenAPI_shared_data_free(dst);
224
0
    dst = OpenAPI_shared_data_parseFromJSON(item);
225
0
    cJSON_Delete(item);
226
227
0
    return dst;
228
0
}
229