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