Coverage Report

Created: 2026-11-12 06:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/scheduled_area.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "scheduled_area.h"
6
7
OpenAPI_scheduled_area_t *OpenAPI_scheduled_area_create(
8
    OpenAPI_list_t *tai_list,
9
    char *enter_time,
10
    char *leave_time,
11
    bool is_altitude_low,
12
    double altitude_low,
13
    bool is_altitude_high,
14
    double altitude_high,
15
    OpenAPI_list_t *ran_node_id_list,
16
    OpenAPI_list_t *ncgi_list,
17
    OpenAPI_list_t *ecgi_list
18
)
19
0
{
20
0
    OpenAPI_scheduled_area_t *scheduled_area_local_var = ogs_malloc(sizeof(OpenAPI_scheduled_area_t));
21
0
    ogs_assert(scheduled_area_local_var);
22
23
0
    scheduled_area_local_var->tai_list = tai_list;
24
0
    scheduled_area_local_var->enter_time = enter_time;
25
0
    scheduled_area_local_var->leave_time = leave_time;
26
0
    scheduled_area_local_var->is_altitude_low = is_altitude_low;
27
0
    scheduled_area_local_var->altitude_low = altitude_low;
28
0
    scheduled_area_local_var->is_altitude_high = is_altitude_high;
29
0
    scheduled_area_local_var->altitude_high = altitude_high;
30
0
    scheduled_area_local_var->ran_node_id_list = ran_node_id_list;
31
0
    scheduled_area_local_var->ncgi_list = ncgi_list;
32
0
    scheduled_area_local_var->ecgi_list = ecgi_list;
33
34
0
    return scheduled_area_local_var;
35
0
}
36
37
void OpenAPI_scheduled_area_free(OpenAPI_scheduled_area_t *scheduled_area)
38
0
{
39
0
    OpenAPI_lnode_t *node = NULL;
40
41
0
    if (NULL == scheduled_area) {
42
0
        return;
43
0
    }
44
0
    if (scheduled_area->tai_list) {
45
0
        OpenAPI_list_for_each(scheduled_area->tai_list, node) {
46
0
            OpenAPI_tai_free(node->data);
47
0
        }
48
0
        OpenAPI_list_free(scheduled_area->tai_list);
49
0
        scheduled_area->tai_list = NULL;
50
0
    }
51
0
    if (scheduled_area->enter_time) {
52
0
        ogs_free(scheduled_area->enter_time);
53
0
        scheduled_area->enter_time = NULL;
54
0
    }
55
0
    if (scheduled_area->leave_time) {
56
0
        ogs_free(scheduled_area->leave_time);
57
0
        scheduled_area->leave_time = NULL;
58
0
    }
59
0
    if (scheduled_area->ran_node_id_list) {
60
0
        OpenAPI_list_for_each(scheduled_area->ran_node_id_list, node) {
61
0
            OpenAPI_global_ran_node_id_free(node->data);
62
0
        }
63
0
        OpenAPI_list_free(scheduled_area->ran_node_id_list);
64
0
        scheduled_area->ran_node_id_list = NULL;
65
0
    }
66
0
    if (scheduled_area->ncgi_list) {
67
0
        OpenAPI_list_for_each(scheduled_area->ncgi_list, node) {
68
0
            OpenAPI_ncgi_free(node->data);
69
0
        }
70
0
        OpenAPI_list_free(scheduled_area->ncgi_list);
71
0
        scheduled_area->ncgi_list = NULL;
72
0
    }
73
0
    if (scheduled_area->ecgi_list) {
74
0
        OpenAPI_list_for_each(scheduled_area->ecgi_list, node) {
75
0
            OpenAPI_ecgi_free(node->data);
76
0
        }
77
0
        OpenAPI_list_free(scheduled_area->ecgi_list);
78
0
        scheduled_area->ecgi_list = NULL;
79
0
    }
80
0
    ogs_free(scheduled_area);
81
0
}
82
83
cJSON *OpenAPI_scheduled_area_convertToJSON(OpenAPI_scheduled_area_t *scheduled_area)
84
0
{
85
0
    cJSON *item = NULL;
86
0
    OpenAPI_lnode_t *node = NULL;
87
88
0
    if (scheduled_area == NULL) {
89
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ScheduledArea]");
90
0
        return NULL;
91
0
    }
92
93
0
    item = cJSON_CreateObject();
94
0
    if (scheduled_area->tai_list) {
95
0
    cJSON *tai_listList = cJSON_AddArrayToObject(item, "taiList");
96
0
    if (tai_listList == NULL) {
97
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [tai_list]");
98
0
        goto end;
99
0
    }
100
0
    OpenAPI_list_for_each(scheduled_area->tai_list, node) {
101
0
        cJSON *itemLocal = OpenAPI_tai_convertToJSON(node->data);
102
0
        if (itemLocal == NULL) {
103
0
            ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [tai_list]");
104
0
            goto end;
105
0
        }
106
0
        cJSON_AddItemToArray(tai_listList, itemLocal);
107
0
    }
108
0
    }
109
110
0
    if (scheduled_area->enter_time) {
111
0
    if (cJSON_AddStringToObject(item, "enterTime", scheduled_area->enter_time) == NULL) {
112
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [enter_time]");
113
0
        goto end;
114
0
    }
115
0
    }
116
117
0
    if (scheduled_area->leave_time) {
118
0
    if (cJSON_AddStringToObject(item, "leaveTime", scheduled_area->leave_time) == NULL) {
119
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [leave_time]");
120
0
        goto end;
121
0
    }
122
0
    }
123
124
0
    if (scheduled_area->is_altitude_low) {
125
0
    if (cJSON_AddNumberToObject(item, "altitudeLow", scheduled_area->altitude_low) == NULL) {
126
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [altitude_low]");
127
0
        goto end;
128
0
    }
129
0
    }
130
131
0
    if (scheduled_area->is_altitude_high) {
132
0
    if (cJSON_AddNumberToObject(item, "altitudeHigh", scheduled_area->altitude_high) == NULL) {
133
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [altitude_high]");
134
0
        goto end;
135
0
    }
136
0
    }
137
138
0
    if (scheduled_area->ran_node_id_list) {
139
0
    cJSON *ran_node_id_listList = cJSON_AddArrayToObject(item, "ranNodeIdList");
140
0
    if (ran_node_id_listList == NULL) {
141
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ran_node_id_list]");
142
0
        goto end;
143
0
    }
144
0
    OpenAPI_list_for_each(scheduled_area->ran_node_id_list, node) {
145
0
        cJSON *itemLocal = OpenAPI_global_ran_node_id_convertToJSON(node->data);
146
0
        if (itemLocal == NULL) {
147
0
            ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ran_node_id_list]");
148
0
            goto end;
149
0
        }
150
0
        cJSON_AddItemToArray(ran_node_id_listList, itemLocal);
151
0
    }
152
0
    }
153
154
0
    if (scheduled_area->ncgi_list) {
155
0
    cJSON *ncgi_listList = cJSON_AddArrayToObject(item, "ncgiList");
156
0
    if (ncgi_listList == NULL) {
157
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ncgi_list]");
158
0
        goto end;
159
0
    }
160
0
    OpenAPI_list_for_each(scheduled_area->ncgi_list, node) {
161
0
        cJSON *itemLocal = OpenAPI_ncgi_convertToJSON(node->data);
162
0
        if (itemLocal == NULL) {
163
0
            ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ncgi_list]");
164
0
            goto end;
165
0
        }
166
0
        cJSON_AddItemToArray(ncgi_listList, itemLocal);
167
0
    }
168
0
    }
169
170
0
    if (scheduled_area->ecgi_list) {
171
0
    cJSON *ecgi_listList = cJSON_AddArrayToObject(item, "ecgiList");
172
0
    if (ecgi_listList == NULL) {
173
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ecgi_list]");
174
0
        goto end;
175
0
    }
176
0
    OpenAPI_list_for_each(scheduled_area->ecgi_list, node) {
177
0
        cJSON *itemLocal = OpenAPI_ecgi_convertToJSON(node->data);
178
0
        if (itemLocal == NULL) {
179
0
            ogs_error("OpenAPI_scheduled_area_convertToJSON() failed [ecgi_list]");
180
0
            goto end;
181
0
        }
182
0
        cJSON_AddItemToArray(ecgi_listList, itemLocal);
183
0
    }
184
0
    }
185
186
0
end:
187
0
    return item;
188
0
}
189
190
OpenAPI_scheduled_area_t *OpenAPI_scheduled_area_parseFromJSON(cJSON *scheduled_areaJSON)
191
0
{
192
0
    OpenAPI_scheduled_area_t *scheduled_area_local_var = NULL;
193
0
    OpenAPI_lnode_t *node = NULL;
194
0
    cJSON *tai_list = NULL;
195
0
    OpenAPI_list_t *tai_listList = NULL;
196
0
    cJSON *enter_time = NULL;
197
0
    cJSON *leave_time = NULL;
198
0
    cJSON *altitude_low = NULL;
199
0
    cJSON *altitude_high = NULL;
200
0
    cJSON *ran_node_id_list = NULL;
201
0
    OpenAPI_list_t *ran_node_id_listList = NULL;
202
0
    cJSON *ncgi_list = NULL;
203
0
    OpenAPI_list_t *ncgi_listList = NULL;
204
0
    cJSON *ecgi_list = NULL;
205
0
    OpenAPI_list_t *ecgi_listList = NULL;
206
0
    tai_list = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "taiList");
207
0
    if (tai_list) {
208
0
        cJSON *tai_list_local = NULL;
209
0
        if (!cJSON_IsArray(tai_list)) {
210
0
            ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [tai_list]");
211
0
            goto end;
212
0
        }
213
214
0
        tai_listList = OpenAPI_list_create();
215
216
0
        cJSON_ArrayForEach(tai_list_local, tai_list) {
217
0
            if (!cJSON_IsObject(tai_list_local)) {
218
0
                ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [tai_list]");
219
0
                goto end;
220
0
            }
221
0
            OpenAPI_tai_t *tai_listItem = OpenAPI_tai_parseFromJSON(tai_list_local);
222
0
            if (!tai_listItem) {
223
0
                ogs_error("No tai_listItem");
224
0
                goto end;
225
0
            }
226
0
            OpenAPI_list_add(tai_listList, tai_listItem);
227
0
        }
228
0
    }
229
230
0
    enter_time = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "enterTime");
231
0
    if (enter_time) {
232
0
    if (!cJSON_IsString(enter_time) && !cJSON_IsNull(enter_time)) {
233
0
        ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [enter_time]");
234
0
        goto end;
235
0
    }
236
0
    }
237
238
0
    leave_time = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "leaveTime");
239
0
    if (leave_time) {
240
0
    if (!cJSON_IsString(leave_time) && !cJSON_IsNull(leave_time)) {
241
0
        ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [leave_time]");
242
0
        goto end;
243
0
    }
244
0
    }
245
246
0
    altitude_low = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "altitudeLow");
247
0
    if (altitude_low) {
248
0
    if (!cJSON_IsNumber(altitude_low)) {
249
0
        ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [altitude_low]");
250
0
        goto end;
251
0
    }
252
0
    }
253
254
0
    altitude_high = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "altitudeHigh");
255
0
    if (altitude_high) {
256
0
    if (!cJSON_IsNumber(altitude_high)) {
257
0
        ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [altitude_high]");
258
0
        goto end;
259
0
    }
260
0
    }
261
262
0
    ran_node_id_list = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "ranNodeIdList");
263
0
    if (ran_node_id_list) {
264
0
        cJSON *ran_node_id_list_local = NULL;
265
0
        if (!cJSON_IsArray(ran_node_id_list)) {
266
0
            ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [ran_node_id_list]");
267
0
            goto end;
268
0
        }
269
270
0
        ran_node_id_listList = OpenAPI_list_create();
271
272
0
        cJSON_ArrayForEach(ran_node_id_list_local, ran_node_id_list) {
273
0
            if (!cJSON_IsObject(ran_node_id_list_local)) {
274
0
                ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [ran_node_id_list]");
275
0
                goto end;
276
0
            }
277
0
            OpenAPI_global_ran_node_id_t *ran_node_id_listItem = OpenAPI_global_ran_node_id_parseFromJSON(ran_node_id_list_local);
278
0
            if (!ran_node_id_listItem) {
279
0
                ogs_error("No ran_node_id_listItem");
280
0
                goto end;
281
0
            }
282
0
            OpenAPI_list_add(ran_node_id_listList, ran_node_id_listItem);
283
0
        }
284
0
    }
285
286
0
    ncgi_list = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "ncgiList");
287
0
    if (ncgi_list) {
288
0
        cJSON *ncgi_list_local = NULL;
289
0
        if (!cJSON_IsArray(ncgi_list)) {
290
0
            ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [ncgi_list]");
291
0
            goto end;
292
0
        }
293
294
0
        ncgi_listList = OpenAPI_list_create();
295
296
0
        cJSON_ArrayForEach(ncgi_list_local, ncgi_list) {
297
0
            if (!cJSON_IsObject(ncgi_list_local)) {
298
0
                ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [ncgi_list]");
299
0
                goto end;
300
0
            }
301
0
            OpenAPI_ncgi_t *ncgi_listItem = OpenAPI_ncgi_parseFromJSON(ncgi_list_local);
302
0
            if (!ncgi_listItem) {
303
0
                ogs_error("No ncgi_listItem");
304
0
                goto end;
305
0
            }
306
0
            OpenAPI_list_add(ncgi_listList, ncgi_listItem);
307
0
        }
308
0
    }
309
310
0
    ecgi_list = cJSON_GetObjectItemCaseSensitive(scheduled_areaJSON, "ecgiList");
311
0
    if (ecgi_list) {
312
0
        cJSON *ecgi_list_local = NULL;
313
0
        if (!cJSON_IsArray(ecgi_list)) {
314
0
            ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [ecgi_list]");
315
0
            goto end;
316
0
        }
317
318
0
        ecgi_listList = OpenAPI_list_create();
319
320
0
        cJSON_ArrayForEach(ecgi_list_local, ecgi_list) {
321
0
            if (!cJSON_IsObject(ecgi_list_local)) {
322
0
                ogs_error("OpenAPI_scheduled_area_parseFromJSON() failed [ecgi_list]");
323
0
                goto end;
324
0
            }
325
0
            OpenAPI_ecgi_t *ecgi_listItem = OpenAPI_ecgi_parseFromJSON(ecgi_list_local);
326
0
            if (!ecgi_listItem) {
327
0
                ogs_error("No ecgi_listItem");
328
0
                goto end;
329
0
            }
330
0
            OpenAPI_list_add(ecgi_listList, ecgi_listItem);
331
0
        }
332
0
    }
333
334
0
    scheduled_area_local_var = OpenAPI_scheduled_area_create (
335
0
        tai_list ? tai_listList : NULL,
336
0
        enter_time && !cJSON_IsNull(enter_time) ? ogs_strdup(enter_time->valuestring) : NULL,
337
0
        leave_time && !cJSON_IsNull(leave_time) ? ogs_strdup(leave_time->valuestring) : NULL,
338
0
        altitude_low ? true : false,
339
0
        altitude_low ? altitude_low->valuedouble : 0,
340
0
        altitude_high ? true : false,
341
0
        altitude_high ? altitude_high->valuedouble : 0,
342
0
        ran_node_id_list ? ran_node_id_listList : NULL,
343
0
        ncgi_list ? ncgi_listList : NULL,
344
0
        ecgi_list ? ecgi_listList : NULL
345
0
    );
346
347
0
    return scheduled_area_local_var;
348
0
end:
349
0
    if (tai_listList) {
350
0
        OpenAPI_list_for_each(tai_listList, node) {
351
0
            OpenAPI_tai_free(node->data);
352
0
        }
353
0
        OpenAPI_list_free(tai_listList);
354
0
        tai_listList = NULL;
355
0
    }
356
0
    if (ran_node_id_listList) {
357
0
        OpenAPI_list_for_each(ran_node_id_listList, node) {
358
0
            OpenAPI_global_ran_node_id_free(node->data);
359
0
        }
360
0
        OpenAPI_list_free(ran_node_id_listList);
361
0
        ran_node_id_listList = NULL;
362
0
    }
363
0
    if (ncgi_listList) {
364
0
        OpenAPI_list_for_each(ncgi_listList, node) {
365
0
            OpenAPI_ncgi_free(node->data);
366
0
        }
367
0
        OpenAPI_list_free(ncgi_listList);
368
0
        ncgi_listList = NULL;
369
0
    }
370
0
    if (ecgi_listList) {
371
0
        OpenAPI_list_for_each(ecgi_listList, node) {
372
0
            OpenAPI_ecgi_free(node->data);
373
0
        }
374
0
        OpenAPI_list_free(ecgi_listList);
375
0
        ecgi_listList = NULL;
376
0
    }
377
0
    return NULL;
378
0
}
379
380
OpenAPI_scheduled_area_t *OpenAPI_scheduled_area_copy(OpenAPI_scheduled_area_t *dst, OpenAPI_scheduled_area_t *src)
381
0
{
382
0
    cJSON *item = NULL;
383
0
    char *content = NULL;
384
385
0
    ogs_assert(src);
386
0
    item = OpenAPI_scheduled_area_convertToJSON(src);
387
0
    if (!item) {
388
0
        ogs_error("OpenAPI_scheduled_area_convertToJSON() failed");
389
0
        return NULL;
390
0
    }
391
392
0
    content = cJSON_Print(item);
393
0
    cJSON_Delete(item);
394
395
0
    if (!content) {
396
0
        ogs_error("cJSON_Print() failed");
397
0
        return NULL;
398
0
    }
399
400
0
    item = cJSON_Parse(content);
401
0
    ogs_free(content);
402
0
    if (!item) {
403
0
        ogs_error("cJSON_Parse() failed");
404
0
        return NULL;
405
0
    }
406
407
0
    OpenAPI_scheduled_area_free(dst);
408
0
    dst = OpenAPI_scheduled_area_parseFromJSON(item);
409
0
    cJSON_Delete(item);
410
411
0
    return dst;
412
0
}
413