1 /* c/zx-sp-dec.c - WARNING: This file was auto generated by xsd2sg.pl. DO NOT EDIT!
2 * $Id$ */
3 /* Code generation design Copyright (c) 2006 Sampo Kellomaki (sampo@iki.fi),
4 * All Rights Reserved. NO WARRANTY. See file COPYING for terms and conditions
5 * of use. Some aspects of code generation were driven by schema
6 * descriptions that were used as input and may be subject to their own copyright.
7 * Code generation uses a template, whose copyright statement follows. */
8
9 /** dec-templ.c - XML decoder template, used in code generation
10 ** Copyright (c) 2010 Sampo Kellomaki (sampo@iki.fi), All Rights Reserved.
11 ** Copyright (c) 2006-2007 Symlabs (symlabs@symlabs.com), All Rights Reserved.
12 ** Author: Sampo Kellomaki (sampo@iki.fi)
13 ** This is confidential unpublished proprietary source code of the author.
14 ** NO WARRANTY, not even implied warranties. Contains trade secrets.
15 ** Distribution prohibited unless authorized in writing.
16 ** Licensed under Apache License 2.0, see file COPYING.
17 ** Id: dec-templ.c,v 1.30 2008-10-04 23:42:14 sampo Exp $
18 **
19 ** 28.5.2006, created, Sampo Kellomaki (sampo@iki.fi)
20 ** 8.8.2006, reworked namespace handling --Sampo
21 ** 12.8.2006, added special scanning of xmlns to avoid backtracking elem recognition --Sampo
22 ** 23.9.2006, added collection of WO information --Sampo
23 ** 21.6.2007, improved handling of undeclared namespace prefixes --Sampo
24 ** 27.10.2010, CSE refactoring, re-engineered namespace handling --Sampo
25 ** 21.11.2010, re-engineered to extract most code to zx_DEC_elem, leaving just switches --Sampo
26 **
27 ** N.B: This template is meant to be processed by pd/xsd2sg.pl. Beware
28 ** of special markers that xsd2sg.pl expects to find and understand.
29 **/
30
31 #include "errmac.h"
32 #include "zx.h"
33 #include "c/zx-const.h"
34 #include "c/zx-data.h"
35 #include "c/zx-sp-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38
39
40
zx_DEC_ATTR_sp_ArtifactResolve(struct zx_ctx * c,struct zx_sp_ArtifactResolve_s * x)41 int zx_DEC_ATTR_sp_ArtifactResolve(struct zx_ctx* c, struct zx_sp_ArtifactResolve_s* x)
42 {
43 switch (x->gg.attr->g.tok) {
44 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
45 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
46 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
47 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
48 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
49
50 default: return 0;
51 }
52 }
53
zx_DEC_ELEM_sp_ArtifactResolve(struct zx_ctx * c,struct zx_sp_ArtifactResolve_s * x)54 int zx_DEC_ELEM_sp_ArtifactResolve(struct zx_ctx* c, struct zx_sp_ArtifactResolve_s* x)
55 {
56 struct zx_elem_s* el = x->gg.kids;
57 switch (el->g.tok) {
58 case zx_sa_Issuer_ELEM:
59 if (!x->Issuer)
60 x->Issuer = (struct zx_sa_Issuer_s*)el;
61 return 1;
62 case zx_ds_Signature_ELEM:
63 if (!x->Signature)
64 x->Signature = (struct zx_ds_Signature_s*)el;
65 return 1;
66 case zx_sp_Extensions_ELEM:
67 if (!x->Extensions)
68 x->Extensions = (struct zx_sp_Extensions_s*)el;
69 return 1;
70 case zx_sp_Artifact_ELEM:
71 if (!x->Artifact)
72 x->Artifact = el;
73 return 1;
74
75 default: return 0;
76 }
77 }
78
79
80
81
zx_DEC_ATTR_sp_ArtifactResponse(struct zx_ctx * c,struct zx_sp_ArtifactResponse_s * x)82 int zx_DEC_ATTR_sp_ArtifactResponse(struct zx_ctx* c, struct zx_sp_ArtifactResponse_s* x)
83 {
84 switch (x->gg.attr->g.tok) {
85 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
86 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
87 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
88 case zx_InResponseTo_ATTR: x->InResponseTo = x->gg.attr; return 1;
89 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
90 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
91
92 default: return 0;
93 }
94 }
95
zx_DEC_ELEM_sp_ArtifactResponse(struct zx_ctx * c,struct zx_sp_ArtifactResponse_s * x)96 int zx_DEC_ELEM_sp_ArtifactResponse(struct zx_ctx* c, struct zx_sp_ArtifactResponse_s* x)
97 {
98 struct zx_elem_s* el = x->gg.kids;
99 switch (el->g.tok) {
100 case zx_sa_Issuer_ELEM:
101 if (!x->Issuer)
102 x->Issuer = (struct zx_sa_Issuer_s*)el;
103 return 1;
104 case zx_ds_Signature_ELEM:
105 if (!x->Signature)
106 x->Signature = (struct zx_ds_Signature_s*)el;
107 return 1;
108 case zx_sp_Extensions_ELEM:
109 if (!x->Extensions)
110 x->Extensions = (struct zx_sp_Extensions_s*)el;
111 return 1;
112 case zx_sp_Status_ELEM:
113 if (!x->Status)
114 x->Status = (struct zx_sp_Status_s*)el;
115 return 1;
116 case zx_sp_Response_ELEM:
117 if (!x->Response)
118 x->Response = (struct zx_sp_Response_s*)el;
119 return 1;
120
121 default: return 0;
122 }
123 }
124
125
126
127
zx_DEC_ATTR_sp_AssertionIDRequest(struct zx_ctx * c,struct zx_sp_AssertionIDRequest_s * x)128 int zx_DEC_ATTR_sp_AssertionIDRequest(struct zx_ctx* c, struct zx_sp_AssertionIDRequest_s* x)
129 {
130 switch (x->gg.attr->g.tok) {
131 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
132 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
133 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
134 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
135 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
136
137 default: return 0;
138 }
139 }
140
zx_DEC_ELEM_sp_AssertionIDRequest(struct zx_ctx * c,struct zx_sp_AssertionIDRequest_s * x)141 int zx_DEC_ELEM_sp_AssertionIDRequest(struct zx_ctx* c, struct zx_sp_AssertionIDRequest_s* x)
142 {
143 struct zx_elem_s* el = x->gg.kids;
144 switch (el->g.tok) {
145 case zx_sa_Issuer_ELEM:
146 if (!x->Issuer)
147 x->Issuer = (struct zx_sa_Issuer_s*)el;
148 return 1;
149 case zx_ds_Signature_ELEM:
150 if (!x->Signature)
151 x->Signature = (struct zx_ds_Signature_s*)el;
152 return 1;
153 case zx_sp_Extensions_ELEM:
154 if (!x->Extensions)
155 x->Extensions = (struct zx_sp_Extensions_s*)el;
156 return 1;
157 case zx_sa_AssertionIDRef_ELEM:
158 if (!x->AssertionIDRef)
159 x->AssertionIDRef = el;
160 return 1;
161
162 default: return 0;
163 }
164 }
165
166
167
168
zx_DEC_ATTR_sp_AttributeQuery(struct zx_ctx * c,struct zx_sp_AttributeQuery_s * x)169 int zx_DEC_ATTR_sp_AttributeQuery(struct zx_ctx* c, struct zx_sp_AttributeQuery_s* x)
170 {
171 switch (x->gg.attr->g.tok) {
172 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
173 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
174 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
175 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
176 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
177
178 default: return 0;
179 }
180 }
181
zx_DEC_ELEM_sp_AttributeQuery(struct zx_ctx * c,struct zx_sp_AttributeQuery_s * x)182 int zx_DEC_ELEM_sp_AttributeQuery(struct zx_ctx* c, struct zx_sp_AttributeQuery_s* x)
183 {
184 struct zx_elem_s* el = x->gg.kids;
185 switch (el->g.tok) {
186 case zx_sa_Issuer_ELEM:
187 if (!x->Issuer)
188 x->Issuer = (struct zx_sa_Issuer_s*)el;
189 return 1;
190 case zx_ds_Signature_ELEM:
191 if (!x->Signature)
192 x->Signature = (struct zx_ds_Signature_s*)el;
193 return 1;
194 case zx_sp_Extensions_ELEM:
195 if (!x->Extensions)
196 x->Extensions = (struct zx_sp_Extensions_s*)el;
197 return 1;
198 case zx_sa_Subject_ELEM:
199 if (!x->Subject)
200 x->Subject = (struct zx_sa_Subject_s*)el;
201 return 1;
202 case zx_sa_Attribute_ELEM:
203 if (!x->Attribute)
204 x->Attribute = (struct zx_sa_Attribute_s*)el;
205 return 1;
206
207 default: return 0;
208 }
209 }
210
211
212
213
zx_DEC_ATTR_sp_AuthnQuery(struct zx_ctx * c,struct zx_sp_AuthnQuery_s * x)214 int zx_DEC_ATTR_sp_AuthnQuery(struct zx_ctx* c, struct zx_sp_AuthnQuery_s* x)
215 {
216 switch (x->gg.attr->g.tok) {
217 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
218 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
219 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
220 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
221 case zx_SessionIndex_ATTR: x->SessionIndex = x->gg.attr; return 1;
222 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
223
224 default: return 0;
225 }
226 }
227
zx_DEC_ELEM_sp_AuthnQuery(struct zx_ctx * c,struct zx_sp_AuthnQuery_s * x)228 int zx_DEC_ELEM_sp_AuthnQuery(struct zx_ctx* c, struct zx_sp_AuthnQuery_s* x)
229 {
230 struct zx_elem_s* el = x->gg.kids;
231 switch (el->g.tok) {
232 case zx_sa_Issuer_ELEM:
233 if (!x->Issuer)
234 x->Issuer = (struct zx_sa_Issuer_s*)el;
235 return 1;
236 case zx_ds_Signature_ELEM:
237 if (!x->Signature)
238 x->Signature = (struct zx_ds_Signature_s*)el;
239 return 1;
240 case zx_sp_Extensions_ELEM:
241 if (!x->Extensions)
242 x->Extensions = (struct zx_sp_Extensions_s*)el;
243 return 1;
244 case zx_sa_Subject_ELEM:
245 if (!x->Subject)
246 x->Subject = (struct zx_sa_Subject_s*)el;
247 return 1;
248 case zx_sp_RequestedAuthnContext_ELEM:
249 if (!x->RequestedAuthnContext)
250 x->RequestedAuthnContext = (struct zx_sp_RequestedAuthnContext_s*)el;
251 return 1;
252
253 default: return 0;
254 }
255 }
256
257
258
259
zx_DEC_ATTR_sp_AuthnRequest(struct zx_ctx * c,struct zx_sp_AuthnRequest_s * x)260 int zx_DEC_ATTR_sp_AuthnRequest(struct zx_ctx* c, struct zx_sp_AuthnRequest_s* x)
261 {
262 switch (x->gg.attr->g.tok) {
263 case zx_AssertionConsumerServiceIndex_ATTR: x->AssertionConsumerServiceIndex = x->gg.attr; return 1;
264 case zx_AssertionConsumerServiceURL_ATTR: x->AssertionConsumerServiceURL = x->gg.attr; return 1;
265 case zx_AttributeConsumingServiceIndex_ATTR: x->AttributeConsumingServiceIndex = x->gg.attr; return 1;
266 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
267 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
268 case zx_ForceAuthn_ATTR: x->ForceAuthn = x->gg.attr; return 1;
269 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
270 case zx_IsPassive_ATTR: x->IsPassive = x->gg.attr; return 1;
271 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
272 case zx_ProtocolBinding_ATTR: x->ProtocolBinding = x->gg.attr; return 1;
273 case zx_ProviderName_ATTR: x->ProviderName = x->gg.attr; return 1;
274 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
275
276 default: return 0;
277 }
278 }
279
zx_DEC_ELEM_sp_AuthnRequest(struct zx_ctx * c,struct zx_sp_AuthnRequest_s * x)280 int zx_DEC_ELEM_sp_AuthnRequest(struct zx_ctx* c, struct zx_sp_AuthnRequest_s* x)
281 {
282 struct zx_elem_s* el = x->gg.kids;
283 switch (el->g.tok) {
284 case zx_sa_Issuer_ELEM:
285 if (!x->Issuer)
286 x->Issuer = (struct zx_sa_Issuer_s*)el;
287 return 1;
288 case zx_ds_Signature_ELEM:
289 if (!x->Signature)
290 x->Signature = (struct zx_ds_Signature_s*)el;
291 return 1;
292 case zx_sp_Extensions_ELEM:
293 if (!x->Extensions)
294 x->Extensions = (struct zx_sp_Extensions_s*)el;
295 return 1;
296 case zx_sa_Subject_ELEM:
297 if (!x->Subject)
298 x->Subject = (struct zx_sa_Subject_s*)el;
299 return 1;
300 case zx_sp_NameIDPolicy_ELEM:
301 if (!x->NameIDPolicy)
302 x->NameIDPolicy = (struct zx_sp_NameIDPolicy_s*)el;
303 return 1;
304 case zx_sa_Conditions_ELEM:
305 if (!x->Conditions)
306 x->Conditions = (struct zx_sa_Conditions_s*)el;
307 return 1;
308 case zx_sp_RequestedAuthnContext_ELEM:
309 if (!x->RequestedAuthnContext)
310 x->RequestedAuthnContext = (struct zx_sp_RequestedAuthnContext_s*)el;
311 return 1;
312 case zx_sp_Scoping_ELEM:
313 if (!x->Scoping)
314 x->Scoping = (struct zx_sp_Scoping_s*)el;
315 return 1;
316
317 default: return 0;
318 }
319 }
320
321
322
323
zx_DEC_ATTR_sp_AuthzDecisionQuery(struct zx_ctx * c,struct zx_sp_AuthzDecisionQuery_s * x)324 int zx_DEC_ATTR_sp_AuthzDecisionQuery(struct zx_ctx* c, struct zx_sp_AuthzDecisionQuery_s* x)
325 {
326 switch (x->gg.attr->g.tok) {
327 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
328 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
329 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
330 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
331 case zx_Resource_ATTR: x->Resource = x->gg.attr; return 1;
332 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
333
334 default: return 0;
335 }
336 }
337
zx_DEC_ELEM_sp_AuthzDecisionQuery(struct zx_ctx * c,struct zx_sp_AuthzDecisionQuery_s * x)338 int zx_DEC_ELEM_sp_AuthzDecisionQuery(struct zx_ctx* c, struct zx_sp_AuthzDecisionQuery_s* x)
339 {
340 struct zx_elem_s* el = x->gg.kids;
341 switch (el->g.tok) {
342 case zx_sa_Issuer_ELEM:
343 if (!x->Issuer)
344 x->Issuer = (struct zx_sa_Issuer_s*)el;
345 return 1;
346 case zx_ds_Signature_ELEM:
347 if (!x->Signature)
348 x->Signature = (struct zx_ds_Signature_s*)el;
349 return 1;
350 case zx_sp_Extensions_ELEM:
351 if (!x->Extensions)
352 x->Extensions = (struct zx_sp_Extensions_s*)el;
353 return 1;
354 case zx_sa_Subject_ELEM:
355 if (!x->Subject)
356 x->Subject = (struct zx_sa_Subject_s*)el;
357 return 1;
358 case zx_sa_Action_ELEM:
359 if (!x->Action)
360 x->Action = (struct zx_sa_Action_s*)el;
361 return 1;
362 case zx_sa_Evidence_ELEM:
363 if (!x->Evidence)
364 x->Evidence = (struct zx_sa_Evidence_s*)el;
365 return 1;
366
367 default: return 0;
368 }
369 }
370
371
372
373
zx_DEC_ATTR_sp_Extensions(struct zx_ctx * c,struct zx_sp_Extensions_s * x)374 int zx_DEC_ATTR_sp_Extensions(struct zx_ctx* c, struct zx_sp_Extensions_s* x)
375 {
376 switch (x->gg.attr->g.tok) {
377
378 default: return 0;
379 }
380 }
381
zx_DEC_ELEM_sp_Extensions(struct zx_ctx * c,struct zx_sp_Extensions_s * x)382 int zx_DEC_ELEM_sp_Extensions(struct zx_ctx* c, struct zx_sp_Extensions_s* x)
383 {
384 struct zx_elem_s* el = x->gg.kids;
385 switch (el->g.tok) {
386
387 default: return 0;
388 }
389 }
390
391
392
393
zx_DEC_ATTR_sp_IDPEntry(struct zx_ctx * c,struct zx_sp_IDPEntry_s * x)394 int zx_DEC_ATTR_sp_IDPEntry(struct zx_ctx* c, struct zx_sp_IDPEntry_s* x)
395 {
396 switch (x->gg.attr->g.tok) {
397 case zx_Loc_ATTR: x->Loc = x->gg.attr; return 1;
398 case zx_Name_ATTR: x->Name = x->gg.attr; return 1;
399 case zx_ProviderID_ATTR: x->ProviderID = x->gg.attr; return 1;
400
401 default: return 0;
402 }
403 }
404
zx_DEC_ELEM_sp_IDPEntry(struct zx_ctx * c,struct zx_sp_IDPEntry_s * x)405 int zx_DEC_ELEM_sp_IDPEntry(struct zx_ctx* c, struct zx_sp_IDPEntry_s* x)
406 {
407 struct zx_elem_s* el = x->gg.kids;
408 switch (el->g.tok) {
409
410 default: return 0;
411 }
412 }
413
414
415
416
zx_DEC_ATTR_sp_IDPList(struct zx_ctx * c,struct zx_sp_IDPList_s * x)417 int zx_DEC_ATTR_sp_IDPList(struct zx_ctx* c, struct zx_sp_IDPList_s* x)
418 {
419 switch (x->gg.attr->g.tok) {
420
421 default: return 0;
422 }
423 }
424
zx_DEC_ELEM_sp_IDPList(struct zx_ctx * c,struct zx_sp_IDPList_s * x)425 int zx_DEC_ELEM_sp_IDPList(struct zx_ctx* c, struct zx_sp_IDPList_s* x)
426 {
427 struct zx_elem_s* el = x->gg.kids;
428 switch (el->g.tok) {
429 case zx_sp_IDPEntry_ELEM:
430 if (!x->IDPEntry)
431 x->IDPEntry = (struct zx_sp_IDPEntry_s*)el;
432 return 1;
433 case zx_sp_GetComplete_ELEM:
434 if (!x->GetComplete)
435 x->GetComplete = el;
436 return 1;
437
438 default: return 0;
439 }
440 }
441
442
443
444
zx_DEC_ATTR_sp_LogoutRequest(struct zx_ctx * c,struct zx_sp_LogoutRequest_s * x)445 int zx_DEC_ATTR_sp_LogoutRequest(struct zx_ctx* c, struct zx_sp_LogoutRequest_s* x)
446 {
447 switch (x->gg.attr->g.tok) {
448 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
449 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
450 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
451 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
452 case zx_NotOnOrAfter_ATTR: x->NotOnOrAfter = x->gg.attr; return 1;
453 case zx_Reason_ATTR: x->Reason = x->gg.attr; return 1;
454 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
455
456 default: return 0;
457 }
458 }
459
zx_DEC_ELEM_sp_LogoutRequest(struct zx_ctx * c,struct zx_sp_LogoutRequest_s * x)460 int zx_DEC_ELEM_sp_LogoutRequest(struct zx_ctx* c, struct zx_sp_LogoutRequest_s* x)
461 {
462 struct zx_elem_s* el = x->gg.kids;
463 switch (el->g.tok) {
464 case zx_sa_Issuer_ELEM:
465 if (!x->Issuer)
466 x->Issuer = (struct zx_sa_Issuer_s*)el;
467 return 1;
468 case zx_ds_Signature_ELEM:
469 if (!x->Signature)
470 x->Signature = (struct zx_ds_Signature_s*)el;
471 return 1;
472 case zx_sp_Extensions_ELEM:
473 if (!x->Extensions)
474 x->Extensions = (struct zx_sp_Extensions_s*)el;
475 return 1;
476 case zx_sa_BaseID_ELEM:
477 if (!x->BaseID)
478 x->BaseID = (struct zx_sa_BaseID_s*)el;
479 return 1;
480 case zx_sa_NameID_ELEM:
481 if (!x->NameID)
482 x->NameID = (struct zx_sa_NameID_s*)el;
483 return 1;
484 case zx_sa_EncryptedID_ELEM:
485 if (!x->EncryptedID)
486 x->EncryptedID = (struct zx_sa_EncryptedID_s*)el;
487 return 1;
488 case zx_sp_SessionIndex_ELEM:
489 if (!x->SessionIndex)
490 x->SessionIndex = el;
491 return 1;
492
493 default: return 0;
494 }
495 }
496
497
498
499
zx_DEC_ATTR_sp_LogoutResponse(struct zx_ctx * c,struct zx_sp_LogoutResponse_s * x)500 int zx_DEC_ATTR_sp_LogoutResponse(struct zx_ctx* c, struct zx_sp_LogoutResponse_s* x)
501 {
502 switch (x->gg.attr->g.tok) {
503 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
504 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
505 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
506 case zx_InResponseTo_ATTR: x->InResponseTo = x->gg.attr; return 1;
507 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
508 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
509
510 default: return 0;
511 }
512 }
513
zx_DEC_ELEM_sp_LogoutResponse(struct zx_ctx * c,struct zx_sp_LogoutResponse_s * x)514 int zx_DEC_ELEM_sp_LogoutResponse(struct zx_ctx* c, struct zx_sp_LogoutResponse_s* x)
515 {
516 struct zx_elem_s* el = x->gg.kids;
517 switch (el->g.tok) {
518 case zx_sa_Issuer_ELEM:
519 if (!x->Issuer)
520 x->Issuer = (struct zx_sa_Issuer_s*)el;
521 return 1;
522 case zx_ds_Signature_ELEM:
523 if (!x->Signature)
524 x->Signature = (struct zx_ds_Signature_s*)el;
525 return 1;
526 case zx_sp_Extensions_ELEM:
527 if (!x->Extensions)
528 x->Extensions = (struct zx_sp_Extensions_s*)el;
529 return 1;
530 case zx_sp_Status_ELEM:
531 if (!x->Status)
532 x->Status = (struct zx_sp_Status_s*)el;
533 return 1;
534
535 default: return 0;
536 }
537 }
538
539
540
541
zx_DEC_ATTR_sp_ManageNameIDRequest(struct zx_ctx * c,struct zx_sp_ManageNameIDRequest_s * x)542 int zx_DEC_ATTR_sp_ManageNameIDRequest(struct zx_ctx* c, struct zx_sp_ManageNameIDRequest_s* x)
543 {
544 switch (x->gg.attr->g.tok) {
545 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
546 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
547 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
548 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
549 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
550
551 default: return 0;
552 }
553 }
554
zx_DEC_ELEM_sp_ManageNameIDRequest(struct zx_ctx * c,struct zx_sp_ManageNameIDRequest_s * x)555 int zx_DEC_ELEM_sp_ManageNameIDRequest(struct zx_ctx* c, struct zx_sp_ManageNameIDRequest_s* x)
556 {
557 struct zx_elem_s* el = x->gg.kids;
558 switch (el->g.tok) {
559 case zx_sa_Issuer_ELEM:
560 if (!x->Issuer)
561 x->Issuer = (struct zx_sa_Issuer_s*)el;
562 return 1;
563 case zx_ds_Signature_ELEM:
564 if (!x->Signature)
565 x->Signature = (struct zx_ds_Signature_s*)el;
566 return 1;
567 case zx_sp_Extensions_ELEM:
568 if (!x->Extensions)
569 x->Extensions = (struct zx_sp_Extensions_s*)el;
570 return 1;
571 case zx_sa_NameID_ELEM:
572 if (!x->NameID)
573 x->NameID = (struct zx_sa_NameID_s*)el;
574 return 1;
575 case zx_sa_EncryptedID_ELEM:
576 if (!x->EncryptedID)
577 x->EncryptedID = (struct zx_sa_EncryptedID_s*)el;
578 return 1;
579 case zx_sp_NewID_ELEM:
580 if (!x->NewID)
581 x->NewID = el;
582 return 1;
583 case zx_sp_NewEncryptedID_ELEM:
584 if (!x->NewEncryptedID)
585 x->NewEncryptedID = (struct zx_sp_NewEncryptedID_s*)el;
586 return 1;
587 case zx_sp_Terminate_ELEM:
588 if (!x->Terminate)
589 x->Terminate = el;
590 return 1;
591
592 default: return 0;
593 }
594 }
595
596
597
598
zx_DEC_ATTR_sp_ManageNameIDResponse(struct zx_ctx * c,struct zx_sp_ManageNameIDResponse_s * x)599 int zx_DEC_ATTR_sp_ManageNameIDResponse(struct zx_ctx* c, struct zx_sp_ManageNameIDResponse_s* x)
600 {
601 switch (x->gg.attr->g.tok) {
602 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
603 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
604 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
605 case zx_InResponseTo_ATTR: x->InResponseTo = x->gg.attr; return 1;
606 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
607 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
608
609 default: return 0;
610 }
611 }
612
zx_DEC_ELEM_sp_ManageNameIDResponse(struct zx_ctx * c,struct zx_sp_ManageNameIDResponse_s * x)613 int zx_DEC_ELEM_sp_ManageNameIDResponse(struct zx_ctx* c, struct zx_sp_ManageNameIDResponse_s* x)
614 {
615 struct zx_elem_s* el = x->gg.kids;
616 switch (el->g.tok) {
617 case zx_sa_Issuer_ELEM:
618 if (!x->Issuer)
619 x->Issuer = (struct zx_sa_Issuer_s*)el;
620 return 1;
621 case zx_ds_Signature_ELEM:
622 if (!x->Signature)
623 x->Signature = (struct zx_ds_Signature_s*)el;
624 return 1;
625 case zx_sp_Extensions_ELEM:
626 if (!x->Extensions)
627 x->Extensions = (struct zx_sp_Extensions_s*)el;
628 return 1;
629 case zx_sp_Status_ELEM:
630 if (!x->Status)
631 x->Status = (struct zx_sp_Status_s*)el;
632 return 1;
633
634 default: return 0;
635 }
636 }
637
638
639
640
zx_DEC_ATTR_sp_NameIDMappingRequest(struct zx_ctx * c,struct zx_sp_NameIDMappingRequest_s * x)641 int zx_DEC_ATTR_sp_NameIDMappingRequest(struct zx_ctx* c, struct zx_sp_NameIDMappingRequest_s* x)
642 {
643 switch (x->gg.attr->g.tok) {
644 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
645 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
646 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
647 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
648 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
649
650 default: return 0;
651 }
652 }
653
zx_DEC_ELEM_sp_NameIDMappingRequest(struct zx_ctx * c,struct zx_sp_NameIDMappingRequest_s * x)654 int zx_DEC_ELEM_sp_NameIDMappingRequest(struct zx_ctx* c, struct zx_sp_NameIDMappingRequest_s* x)
655 {
656 struct zx_elem_s* el = x->gg.kids;
657 switch (el->g.tok) {
658 case zx_sa_Issuer_ELEM:
659 if (!x->Issuer)
660 x->Issuer = (struct zx_sa_Issuer_s*)el;
661 return 1;
662 case zx_ds_Signature_ELEM:
663 if (!x->Signature)
664 x->Signature = (struct zx_ds_Signature_s*)el;
665 return 1;
666 case zx_sp_Extensions_ELEM:
667 if (!x->Extensions)
668 x->Extensions = (struct zx_sp_Extensions_s*)el;
669 return 1;
670 case zx_sa_BaseID_ELEM:
671 if (!x->BaseID)
672 x->BaseID = (struct zx_sa_BaseID_s*)el;
673 return 1;
674 case zx_sa_NameID_ELEM:
675 if (!x->NameID)
676 x->NameID = (struct zx_sa_NameID_s*)el;
677 return 1;
678 case zx_sa_EncryptedID_ELEM:
679 if (!x->EncryptedID)
680 x->EncryptedID = (struct zx_sa_EncryptedID_s*)el;
681 return 1;
682 case zx_sp_NameIDPolicy_ELEM:
683 if (!x->NameIDPolicy)
684 x->NameIDPolicy = (struct zx_sp_NameIDPolicy_s*)el;
685 return 1;
686
687 default: return 0;
688 }
689 }
690
691
692
693
zx_DEC_ATTR_sp_NameIDMappingResponse(struct zx_ctx * c,struct zx_sp_NameIDMappingResponse_s * x)694 int zx_DEC_ATTR_sp_NameIDMappingResponse(struct zx_ctx* c, struct zx_sp_NameIDMappingResponse_s* x)
695 {
696 switch (x->gg.attr->g.tok) {
697 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
698 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
699 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
700 case zx_InResponseTo_ATTR: x->InResponseTo = x->gg.attr; return 1;
701 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
702 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
703
704 default: return 0;
705 }
706 }
707
zx_DEC_ELEM_sp_NameIDMappingResponse(struct zx_ctx * c,struct zx_sp_NameIDMappingResponse_s * x)708 int zx_DEC_ELEM_sp_NameIDMappingResponse(struct zx_ctx* c, struct zx_sp_NameIDMappingResponse_s* x)
709 {
710 struct zx_elem_s* el = x->gg.kids;
711 switch (el->g.tok) {
712 case zx_sa_Issuer_ELEM:
713 if (!x->Issuer)
714 x->Issuer = (struct zx_sa_Issuer_s*)el;
715 return 1;
716 case zx_ds_Signature_ELEM:
717 if (!x->Signature)
718 x->Signature = (struct zx_ds_Signature_s*)el;
719 return 1;
720 case zx_sp_Extensions_ELEM:
721 if (!x->Extensions)
722 x->Extensions = (struct zx_sp_Extensions_s*)el;
723 return 1;
724 case zx_sp_Status_ELEM:
725 if (!x->Status)
726 x->Status = (struct zx_sp_Status_s*)el;
727 return 1;
728 case zx_sa_NameID_ELEM:
729 if (!x->NameID)
730 x->NameID = (struct zx_sa_NameID_s*)el;
731 return 1;
732 case zx_sa_EncryptedID_ELEM:
733 if (!x->EncryptedID)
734 x->EncryptedID = (struct zx_sa_EncryptedID_s*)el;
735 return 1;
736
737 default: return 0;
738 }
739 }
740
741
742
743
zx_DEC_ATTR_sp_NameIDPolicy(struct zx_ctx * c,struct zx_sp_NameIDPolicy_s * x)744 int zx_DEC_ATTR_sp_NameIDPolicy(struct zx_ctx* c, struct zx_sp_NameIDPolicy_s* x)
745 {
746 switch (x->gg.attr->g.tok) {
747 case zx_AllowCreate_ATTR: x->AllowCreate = x->gg.attr; return 1;
748 case zx_Format_ATTR: x->Format = x->gg.attr; return 1;
749 case zx_SPNameQualifier_ATTR: x->SPNameQualifier = x->gg.attr; return 1;
750
751 default: return 0;
752 }
753 }
754
zx_DEC_ELEM_sp_NameIDPolicy(struct zx_ctx * c,struct zx_sp_NameIDPolicy_s * x)755 int zx_DEC_ELEM_sp_NameIDPolicy(struct zx_ctx* c, struct zx_sp_NameIDPolicy_s* x)
756 {
757 struct zx_elem_s* el = x->gg.kids;
758 switch (el->g.tok) {
759
760 default: return 0;
761 }
762 }
763
764
765
766
zx_DEC_ATTR_sp_NewEncryptedID(struct zx_ctx * c,struct zx_sp_NewEncryptedID_s * x)767 int zx_DEC_ATTR_sp_NewEncryptedID(struct zx_ctx* c, struct zx_sp_NewEncryptedID_s* x)
768 {
769 switch (x->gg.attr->g.tok) {
770
771 default: return 0;
772 }
773 }
774
zx_DEC_ELEM_sp_NewEncryptedID(struct zx_ctx * c,struct zx_sp_NewEncryptedID_s * x)775 int zx_DEC_ELEM_sp_NewEncryptedID(struct zx_ctx* c, struct zx_sp_NewEncryptedID_s* x)
776 {
777 struct zx_elem_s* el = x->gg.kids;
778 switch (el->g.tok) {
779 case zx_xenc_EncryptedData_ELEM:
780 if (!x->EncryptedData)
781 x->EncryptedData = (struct zx_xenc_EncryptedData_s*)el;
782 return 1;
783 case zx_xenc_EncryptedKey_ELEM:
784 if (!x->EncryptedKey)
785 x->EncryptedKey = (struct zx_xenc_EncryptedKey_s*)el;
786 return 1;
787
788 default: return 0;
789 }
790 }
791
792
793
794
zx_DEC_ATTR_sp_RequestedAuthnContext(struct zx_ctx * c,struct zx_sp_RequestedAuthnContext_s * x)795 int zx_DEC_ATTR_sp_RequestedAuthnContext(struct zx_ctx* c, struct zx_sp_RequestedAuthnContext_s* x)
796 {
797 switch (x->gg.attr->g.tok) {
798 case zx_Comparison_ATTR: x->Comparison = x->gg.attr; return 1;
799
800 default: return 0;
801 }
802 }
803
zx_DEC_ELEM_sp_RequestedAuthnContext(struct zx_ctx * c,struct zx_sp_RequestedAuthnContext_s * x)804 int zx_DEC_ELEM_sp_RequestedAuthnContext(struct zx_ctx* c, struct zx_sp_RequestedAuthnContext_s* x)
805 {
806 struct zx_elem_s* el = x->gg.kids;
807 switch (el->g.tok) {
808 case zx_sa_AuthnContextClassRef_ELEM:
809 if (!x->AuthnContextClassRef)
810 x->AuthnContextClassRef = el;
811 return 1;
812 case zx_sa_AuthnContextDeclRef_ELEM:
813 if (!x->AuthnContextDeclRef)
814 x->AuthnContextDeclRef = el;
815 return 1;
816
817 default: return 0;
818 }
819 }
820
821
822
823
zx_DEC_ATTR_sp_Response(struct zx_ctx * c,struct zx_sp_Response_s * x)824 int zx_DEC_ATTR_sp_Response(struct zx_ctx* c, struct zx_sp_Response_s* x)
825 {
826 switch (x->gg.attr->g.tok) {
827 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
828 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
829 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
830 case zx_InResponseTo_ATTR: x->InResponseTo = x->gg.attr; return 1;
831 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
832 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
833
834 default: return 0;
835 }
836 }
837
zx_DEC_ELEM_sp_Response(struct zx_ctx * c,struct zx_sp_Response_s * x)838 int zx_DEC_ELEM_sp_Response(struct zx_ctx* c, struct zx_sp_Response_s* x)
839 {
840 struct zx_elem_s* el = x->gg.kids;
841 switch (el->g.tok) {
842 case zx_sa_Issuer_ELEM:
843 if (!x->Issuer)
844 x->Issuer = (struct zx_sa_Issuer_s*)el;
845 return 1;
846 case zx_ds_Signature_ELEM:
847 if (!x->Signature)
848 x->Signature = (struct zx_ds_Signature_s*)el;
849 return 1;
850 case zx_sp_Extensions_ELEM:
851 if (!x->Extensions)
852 x->Extensions = (struct zx_sp_Extensions_s*)el;
853 return 1;
854 case zx_sp_Status_ELEM:
855 if (!x->Status)
856 x->Status = (struct zx_sp_Status_s*)el;
857 return 1;
858 case zx_sa_Assertion_ELEM:
859 if (!x->Assertion)
860 x->Assertion = (struct zx_sa_Assertion_s*)el;
861 return 1;
862 case zx_sa_EncryptedAssertion_ELEM:
863 if (!x->EncryptedAssertion)
864 x->EncryptedAssertion = (struct zx_sa_EncryptedAssertion_s*)el;
865 return 1;
866
867 default: return 0;
868 }
869 }
870
871
872
873
zx_DEC_ATTR_sp_Scoping(struct zx_ctx * c,struct zx_sp_Scoping_s * x)874 int zx_DEC_ATTR_sp_Scoping(struct zx_ctx* c, struct zx_sp_Scoping_s* x)
875 {
876 switch (x->gg.attr->g.tok) {
877 case zx_ProxyCount_ATTR: x->ProxyCount = x->gg.attr; return 1;
878
879 default: return 0;
880 }
881 }
882
zx_DEC_ELEM_sp_Scoping(struct zx_ctx * c,struct zx_sp_Scoping_s * x)883 int zx_DEC_ELEM_sp_Scoping(struct zx_ctx* c, struct zx_sp_Scoping_s* x)
884 {
885 struct zx_elem_s* el = x->gg.kids;
886 switch (el->g.tok) {
887 case zx_sp_IDPList_ELEM:
888 if (!x->IDPList)
889 x->IDPList = (struct zx_sp_IDPList_s*)el;
890 return 1;
891 case zx_sp_RequesterID_ELEM:
892 if (!x->RequesterID)
893 x->RequesterID = el;
894 return 1;
895
896 default: return 0;
897 }
898 }
899
900
901
902
zx_DEC_ATTR_sp_Status(struct zx_ctx * c,struct zx_sp_Status_s * x)903 int zx_DEC_ATTR_sp_Status(struct zx_ctx* c, struct zx_sp_Status_s* x)
904 {
905 switch (x->gg.attr->g.tok) {
906
907 default: return 0;
908 }
909 }
910
zx_DEC_ELEM_sp_Status(struct zx_ctx * c,struct zx_sp_Status_s * x)911 int zx_DEC_ELEM_sp_Status(struct zx_ctx* c, struct zx_sp_Status_s* x)
912 {
913 struct zx_elem_s* el = x->gg.kids;
914 switch (el->g.tok) {
915 case zx_sp_StatusCode_ELEM:
916 if (!x->StatusCode)
917 x->StatusCode = (struct zx_sp_StatusCode_s*)el;
918 return 1;
919 case zx_sp_StatusMessage_ELEM:
920 if (!x->StatusMessage)
921 x->StatusMessage = el;
922 return 1;
923 case zx_sp_StatusDetail_ELEM:
924 if (!x->StatusDetail)
925 x->StatusDetail = (struct zx_sp_StatusDetail_s*)el;
926 return 1;
927
928 default: return 0;
929 }
930 }
931
932
933
934
zx_DEC_ATTR_sp_StatusCode(struct zx_ctx * c,struct zx_sp_StatusCode_s * x)935 int zx_DEC_ATTR_sp_StatusCode(struct zx_ctx* c, struct zx_sp_StatusCode_s* x)
936 {
937 switch (x->gg.attr->g.tok) {
938 case zx_Value_ATTR: x->Value = x->gg.attr; return 1;
939
940 default: return 0;
941 }
942 }
943
zx_DEC_ELEM_sp_StatusCode(struct zx_ctx * c,struct zx_sp_StatusCode_s * x)944 int zx_DEC_ELEM_sp_StatusCode(struct zx_ctx* c, struct zx_sp_StatusCode_s* x)
945 {
946 struct zx_elem_s* el = x->gg.kids;
947 switch (el->g.tok) {
948 case zx_sp_StatusCode_ELEM:
949 if (!x->StatusCode)
950 x->StatusCode = (struct zx_sp_StatusCode_s*)el;
951 return 1;
952
953 default: return 0;
954 }
955 }
956
957
958
959
zx_DEC_ATTR_sp_StatusDetail(struct zx_ctx * c,struct zx_sp_StatusDetail_s * x)960 int zx_DEC_ATTR_sp_StatusDetail(struct zx_ctx* c, struct zx_sp_StatusDetail_s* x)
961 {
962 switch (x->gg.attr->g.tok) {
963
964 default: return 0;
965 }
966 }
967
zx_DEC_ELEM_sp_StatusDetail(struct zx_ctx * c,struct zx_sp_StatusDetail_s * x)968 int zx_DEC_ELEM_sp_StatusDetail(struct zx_ctx* c, struct zx_sp_StatusDetail_s* x)
969 {
970 struct zx_elem_s* el = x->gg.kids;
971 switch (el->g.tok) {
972
973 default: return 0;
974 }
975 }
976
977
978
979
zx_DEC_ATTR_sp_SubjectQuery(struct zx_ctx * c,struct zx_sp_SubjectQuery_s * x)980 int zx_DEC_ATTR_sp_SubjectQuery(struct zx_ctx* c, struct zx_sp_SubjectQuery_s* x)
981 {
982 switch (x->gg.attr->g.tok) {
983 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
984 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
985 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
986 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
987 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
988
989 default: return 0;
990 }
991 }
992
zx_DEC_ELEM_sp_SubjectQuery(struct zx_ctx * c,struct zx_sp_SubjectQuery_s * x)993 int zx_DEC_ELEM_sp_SubjectQuery(struct zx_ctx* c, struct zx_sp_SubjectQuery_s* x)
994 {
995 struct zx_elem_s* el = x->gg.kids;
996 switch (el->g.tok) {
997 case zx_sa_Issuer_ELEM:
998 if (!x->Issuer)
999 x->Issuer = (struct zx_sa_Issuer_s*)el;
1000 return 1;
1001 case zx_ds_Signature_ELEM:
1002 if (!x->Signature)
1003 x->Signature = (struct zx_ds_Signature_s*)el;
1004 return 1;
1005 case zx_sp_Extensions_ELEM:
1006 if (!x->Extensions)
1007 x->Extensions = (struct zx_sp_Extensions_s*)el;
1008 return 1;
1009 case zx_sa_Subject_ELEM:
1010 if (!x->Subject)
1011 x->Subject = (struct zx_sa_Subject_s*)el;
1012 return 1;
1013
1014 default: return 0;
1015 }
1016 }
1017
1018
1019 /* EOF -- c/zx-sp-dec.c */
1020