/src/open5gs/lib/sbi/openapi/model/atsss_capability.c
Line | Count | Source |
1 | | |
2 | | #include <stdlib.h> |
3 | | #include <string.h> |
4 | | #include <stdio.h> |
5 | | #include "atsss_capability.h" |
6 | | |
7 | | OpenAPI_atsss_capability_t *OpenAPI_atsss_capability_create( |
8 | | bool is_atsss_ll, |
9 | | int atsss_ll, |
10 | | bool is_mptcp, |
11 | | int mptcp, |
12 | | bool is_mpquic, |
13 | | int mpquic, |
14 | | bool is_rtt_without_pmf, |
15 | | int rtt_without_pmf, |
16 | | bool is_mpquic_ip, |
17 | | int mpquic_ip, |
18 | | bool is_mpquic_e, |
19 | | int mpquic_e |
20 | | ) |
21 | 0 | { |
22 | 0 | OpenAPI_atsss_capability_t *atsss_capability_local_var = ogs_malloc(sizeof(OpenAPI_atsss_capability_t)); |
23 | 0 | ogs_assert(atsss_capability_local_var); |
24 | | |
25 | 0 | atsss_capability_local_var->is_atsss_ll = is_atsss_ll; |
26 | 0 | atsss_capability_local_var->atsss_ll = atsss_ll; |
27 | 0 | atsss_capability_local_var->is_mptcp = is_mptcp; |
28 | 0 | atsss_capability_local_var->mptcp = mptcp; |
29 | 0 | atsss_capability_local_var->is_mpquic = is_mpquic; |
30 | 0 | atsss_capability_local_var->mpquic = mpquic; |
31 | 0 | atsss_capability_local_var->is_rtt_without_pmf = is_rtt_without_pmf; |
32 | 0 | atsss_capability_local_var->rtt_without_pmf = rtt_without_pmf; |
33 | 0 | atsss_capability_local_var->is_mpquic_ip = is_mpquic_ip; |
34 | 0 | atsss_capability_local_var->mpquic_ip = mpquic_ip; |
35 | 0 | atsss_capability_local_var->is_mpquic_e = is_mpquic_e; |
36 | 0 | atsss_capability_local_var->mpquic_e = mpquic_e; |
37 | |
|
38 | 0 | return atsss_capability_local_var; |
39 | 0 | } |
40 | | |
41 | | void OpenAPI_atsss_capability_free(OpenAPI_atsss_capability_t *atsss_capability) |
42 | 0 | { |
43 | 0 | OpenAPI_lnode_t *node = NULL; |
44 | |
|
45 | 0 | if (NULL == atsss_capability) { |
46 | 0 | return; |
47 | 0 | } |
48 | 0 | ogs_free(atsss_capability); |
49 | 0 | } |
50 | | |
51 | | cJSON *OpenAPI_atsss_capability_convertToJSON(OpenAPI_atsss_capability_t *atsss_capability) |
52 | 0 | { |
53 | 0 | cJSON *item = NULL; |
54 | 0 | OpenAPI_lnode_t *node = NULL; |
55 | |
|
56 | 0 | if (atsss_capability == NULL) { |
57 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [AtsssCapability]"); |
58 | 0 | return NULL; |
59 | 0 | } |
60 | | |
61 | 0 | item = cJSON_CreateObject(); |
62 | 0 | if (atsss_capability->is_atsss_ll) { |
63 | 0 | if (cJSON_AddBoolToObject(item, "atsssLL", atsss_capability->atsss_ll) == NULL) { |
64 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [atsss_ll]"); |
65 | 0 | goto end; |
66 | 0 | } |
67 | 0 | } |
68 | | |
69 | 0 | if (atsss_capability->is_mptcp) { |
70 | 0 | if (cJSON_AddBoolToObject(item, "mptcp", atsss_capability->mptcp) == NULL) { |
71 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [mptcp]"); |
72 | 0 | goto end; |
73 | 0 | } |
74 | 0 | } |
75 | | |
76 | 0 | if (atsss_capability->is_mpquic) { |
77 | 0 | if (cJSON_AddBoolToObject(item, "mpquic", atsss_capability->mpquic) == NULL) { |
78 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [mpquic]"); |
79 | 0 | goto end; |
80 | 0 | } |
81 | 0 | } |
82 | | |
83 | 0 | if (atsss_capability->is_rtt_without_pmf) { |
84 | 0 | if (cJSON_AddBoolToObject(item, "rttWithoutPmf", atsss_capability->rtt_without_pmf) == NULL) { |
85 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [rtt_without_pmf]"); |
86 | 0 | goto end; |
87 | 0 | } |
88 | 0 | } |
89 | | |
90 | 0 | if (atsss_capability->is_mpquic_ip) { |
91 | 0 | if (cJSON_AddBoolToObject(item, "mpquicIp", atsss_capability->mpquic_ip) == NULL) { |
92 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [mpquic_ip]"); |
93 | 0 | goto end; |
94 | 0 | } |
95 | 0 | } |
96 | | |
97 | 0 | if (atsss_capability->is_mpquic_e) { |
98 | 0 | if (cJSON_AddBoolToObject(item, "mpquicE", atsss_capability->mpquic_e) == NULL) { |
99 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed [mpquic_e]"); |
100 | 0 | goto end; |
101 | 0 | } |
102 | 0 | } |
103 | | |
104 | 0 | end: |
105 | 0 | return item; |
106 | 0 | } |
107 | | |
108 | | OpenAPI_atsss_capability_t *OpenAPI_atsss_capability_parseFromJSON(cJSON *atsss_capabilityJSON) |
109 | 0 | { |
110 | 0 | OpenAPI_atsss_capability_t *atsss_capability_local_var = NULL; |
111 | 0 | OpenAPI_lnode_t *node = NULL; |
112 | 0 | cJSON *atsss_ll = NULL; |
113 | 0 | cJSON *mptcp = NULL; |
114 | 0 | cJSON *mpquic = NULL; |
115 | 0 | cJSON *rtt_without_pmf = NULL; |
116 | 0 | cJSON *mpquic_ip = NULL; |
117 | 0 | cJSON *mpquic_e = NULL; |
118 | 0 | atsss_ll = cJSON_GetObjectItemCaseSensitive(atsss_capabilityJSON, "atsssLL"); |
119 | 0 | if (atsss_ll) { |
120 | 0 | if (!cJSON_IsBool(atsss_ll)) { |
121 | 0 | ogs_error("OpenAPI_atsss_capability_parseFromJSON() failed [atsss_ll]"); |
122 | 0 | goto end; |
123 | 0 | } |
124 | 0 | } |
125 | | |
126 | 0 | mptcp = cJSON_GetObjectItemCaseSensitive(atsss_capabilityJSON, "mptcp"); |
127 | 0 | if (mptcp) { |
128 | 0 | if (!cJSON_IsBool(mptcp)) { |
129 | 0 | ogs_error("OpenAPI_atsss_capability_parseFromJSON() failed [mptcp]"); |
130 | 0 | goto end; |
131 | 0 | } |
132 | 0 | } |
133 | | |
134 | 0 | mpquic = cJSON_GetObjectItemCaseSensitive(atsss_capabilityJSON, "mpquic"); |
135 | 0 | if (mpquic) { |
136 | 0 | if (!cJSON_IsBool(mpquic)) { |
137 | 0 | ogs_error("OpenAPI_atsss_capability_parseFromJSON() failed [mpquic]"); |
138 | 0 | goto end; |
139 | 0 | } |
140 | 0 | } |
141 | | |
142 | 0 | rtt_without_pmf = cJSON_GetObjectItemCaseSensitive(atsss_capabilityJSON, "rttWithoutPmf"); |
143 | 0 | if (rtt_without_pmf) { |
144 | 0 | if (!cJSON_IsBool(rtt_without_pmf)) { |
145 | 0 | ogs_error("OpenAPI_atsss_capability_parseFromJSON() failed [rtt_without_pmf]"); |
146 | 0 | goto end; |
147 | 0 | } |
148 | 0 | } |
149 | | |
150 | 0 | mpquic_ip = cJSON_GetObjectItemCaseSensitive(atsss_capabilityJSON, "mpquicIp"); |
151 | 0 | if (mpquic_ip) { |
152 | 0 | if (!cJSON_IsBool(mpquic_ip)) { |
153 | 0 | ogs_error("OpenAPI_atsss_capability_parseFromJSON() failed [mpquic_ip]"); |
154 | 0 | goto end; |
155 | 0 | } |
156 | 0 | } |
157 | | |
158 | 0 | mpquic_e = cJSON_GetObjectItemCaseSensitive(atsss_capabilityJSON, "mpquicE"); |
159 | 0 | if (mpquic_e) { |
160 | 0 | if (!cJSON_IsBool(mpquic_e)) { |
161 | 0 | ogs_error("OpenAPI_atsss_capability_parseFromJSON() failed [mpquic_e]"); |
162 | 0 | goto end; |
163 | 0 | } |
164 | 0 | } |
165 | | |
166 | 0 | atsss_capability_local_var = OpenAPI_atsss_capability_create ( |
167 | 0 | atsss_ll ? true : false, |
168 | 0 | atsss_ll ? atsss_ll->valueint : 0, |
169 | 0 | mptcp ? true : false, |
170 | 0 | mptcp ? mptcp->valueint : 0, |
171 | 0 | mpquic ? true : false, |
172 | 0 | mpquic ? mpquic->valueint : 0, |
173 | 0 | rtt_without_pmf ? true : false, |
174 | 0 | rtt_without_pmf ? rtt_without_pmf->valueint : 0, |
175 | 0 | mpquic_ip ? true : false, |
176 | 0 | mpquic_ip ? mpquic_ip->valueint : 0, |
177 | 0 | mpquic_e ? true : false, |
178 | 0 | mpquic_e ? mpquic_e->valueint : 0 |
179 | 0 | ); |
180 | |
|
181 | 0 | return atsss_capability_local_var; |
182 | 0 | end: |
183 | 0 | return NULL; |
184 | 0 | } |
185 | | |
186 | | OpenAPI_atsss_capability_t *OpenAPI_atsss_capability_copy(OpenAPI_atsss_capability_t *dst, OpenAPI_atsss_capability_t *src) |
187 | 0 | { |
188 | 0 | cJSON *item = NULL; |
189 | 0 | char *content = NULL; |
190 | |
|
191 | 0 | ogs_assert(src); |
192 | 0 | item = OpenAPI_atsss_capability_convertToJSON(src); |
193 | 0 | if (!item) { |
194 | 0 | ogs_error("OpenAPI_atsss_capability_convertToJSON() failed"); |
195 | 0 | return NULL; |
196 | 0 | } |
197 | | |
198 | 0 | content = cJSON_Print(item); |
199 | 0 | cJSON_Delete(item); |
200 | |
|
201 | 0 | if (!content) { |
202 | 0 | ogs_error("cJSON_Print() failed"); |
203 | 0 | return NULL; |
204 | 0 | } |
205 | | |
206 | 0 | item = cJSON_Parse(content); |
207 | 0 | ogs_free(content); |
208 | 0 | if (!item) { |
209 | 0 | ogs_error("cJSON_Parse() failed"); |
210 | 0 | return NULL; |
211 | 0 | } |
212 | | |
213 | 0 | OpenAPI_atsss_capability_free(dst); |
214 | 0 | dst = OpenAPI_atsss_capability_parseFromJSON(item); |
215 | 0 | cJSON_Delete(item); |
216 | |
|
217 | 0 | return dst; |
218 | 0 | } |
219 | | |