1 /* c/zx-b-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-b-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38 
39 
40 
zx_DEC_ATTR_b_ApplicationEPR(struct zx_ctx * c,struct zx_b_ApplicationEPR_s * x)41 int zx_DEC_ATTR_b_ApplicationEPR(struct zx_ctx* c, struct zx_b_ApplicationEPR_s* x)
42 {
43   switch (x->gg.attr->g.tok) {
44     case zx_ID_ATTR:  x->ID = x->gg.attr; return 1;
45     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
46     case zx_notOnOrAfter_ATTR:  x->notOnOrAfter = x->gg.attr; return 1;
47     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
48     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
49     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
50 
51   default: return 0;
52   }
53 }
54 
zx_DEC_ELEM_b_ApplicationEPR(struct zx_ctx * c,struct zx_b_ApplicationEPR_s * x)55 int zx_DEC_ELEM_b_ApplicationEPR(struct zx_ctx* c, struct zx_b_ApplicationEPR_s* x)
56 {
57   struct zx_elem_s* el = x->gg.kids;
58   switch (el->g.tok) {
59   case zx_a_Address_ELEM:
60     if (!x->Address)
61       x->Address = (struct zx_a_Address_s*)el;
62     return 1;
63   case zx_a_ReferenceParameters_ELEM:
64     if (!x->ReferenceParameters)
65       x->ReferenceParameters = (struct zx_a_ReferenceParameters_s*)el;
66     return 1;
67   case zx_a_Metadata_ELEM:
68     if (!x->Metadata)
69       x->Metadata = (struct zx_a_Metadata_s*)el;
70     return 1;
71   case zx_tas3_AltAddress_ELEM:
72     if (!x->AltAddress)
73       x->AltAddress = el;
74     return 1;
75 
76   default: return 0;
77   }
78 }
79 
80 
81 
82 
zx_DEC_ATTR_b_Consent(struct zx_ctx * c,struct zx_b_Consent_s * x)83 int zx_DEC_ATTR_b_Consent(struct zx_ctx* c, struct zx_b_Consent_s* x)
84 {
85   switch (x->gg.attr->g.tok) {
86     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
87     case zx_timestamp_ATTR:  x->timestamp = x->gg.attr; return 1;
88     case zx_uri_ATTR:  x->uri = x->gg.attr; return 1;
89     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
90     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
91     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
92 
93   default: return 0;
94   }
95 }
96 
zx_DEC_ELEM_b_Consent(struct zx_ctx * c,struct zx_b_Consent_s * x)97 int zx_DEC_ELEM_b_Consent(struct zx_ctx* c, struct zx_b_Consent_s* x)
98 {
99   struct zx_elem_s* el = x->gg.kids;
100   switch (el->g.tok) {
101 
102   default: return 0;
103   }
104 }
105 
106 
107 
108 
zx_DEC_ATTR_b_CredentialsContext(struct zx_ctx * c,struct zx_b_CredentialsContext_s * x)109 int zx_DEC_ATTR_b_CredentialsContext(struct zx_ctx* c, struct zx_b_CredentialsContext_s* x)
110 {
111   switch (x->gg.attr->g.tok) {
112     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
113     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
114     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
115     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
116 
117   default: return 0;
118   }
119 }
120 
zx_DEC_ELEM_b_CredentialsContext(struct zx_ctx * c,struct zx_b_CredentialsContext_s * x)121 int zx_DEC_ELEM_b_CredentialsContext(struct zx_ctx* c, struct zx_b_CredentialsContext_s* x)
122 {
123   struct zx_elem_s* el = x->gg.kids;
124   switch (el->g.tok) {
125   case zx_sp_RequestedAuthnContext_ELEM:
126     if (!x->RequestedAuthnContext)
127       x->RequestedAuthnContext = (struct zx_sp_RequestedAuthnContext_s*)el;
128     return 1;
129   case zx_b_SecurityMechID_ELEM:
130     if (!x->SecurityMechID)
131       x->SecurityMechID = el;
132     return 1;
133 
134   default: return 0;
135   }
136 }
137 
138 
139 
140 
zx_DEC_ATTR_b_EndpointUpdate(struct zx_ctx * c,struct zx_b_EndpointUpdate_s * x)141 int zx_DEC_ATTR_b_EndpointUpdate(struct zx_ctx* c, struct zx_b_EndpointUpdate_s* x)
142 {
143   switch (x->gg.attr->g.tok) {
144     case zx_ID_ATTR:  x->ID = x->gg.attr; return 1;
145     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
146     case zx_notOnOrAfter_ATTR:  x->notOnOrAfter = x->gg.attr; return 1;
147     case zx_updateType_ATTR:  x->updateType = x->gg.attr; return 1;
148     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
149     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
150     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
151 
152   default: return 0;
153   }
154 }
155 
zx_DEC_ELEM_b_EndpointUpdate(struct zx_ctx * c,struct zx_b_EndpointUpdate_s * x)156 int zx_DEC_ELEM_b_EndpointUpdate(struct zx_ctx* c, struct zx_b_EndpointUpdate_s* x)
157 {
158   struct zx_elem_s* el = x->gg.kids;
159   switch (el->g.tok) {
160   case zx_a_Address_ELEM:
161     if (!x->Address)
162       x->Address = (struct zx_a_Address_s*)el;
163     return 1;
164   case zx_a_ReferenceParameters_ELEM:
165     if (!x->ReferenceParameters)
166       x->ReferenceParameters = (struct zx_a_ReferenceParameters_s*)el;
167     return 1;
168   case zx_a_Metadata_ELEM:
169     if (!x->Metadata)
170       x->Metadata = (struct zx_a_Metadata_s*)el;
171     return 1;
172   case zx_tas3_AltAddress_ELEM:
173     if (!x->AltAddress)
174       x->AltAddress = el;
175     return 1;
176 
177   default: return 0;
178   }
179 }
180 
181 
182 
183 
zx_DEC_ATTR_b_Framework(struct zx_ctx * c,struct zx_b_Framework_s * x)184 int zx_DEC_ATTR_b_Framework(struct zx_ctx* c, struct zx_b_Framework_s* x)
185 {
186   switch (x->gg.attr->g.tok) {
187     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
188     case zx_version_ATTR:  x->version = x->gg.attr; return 1;
189     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
190     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
191     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
192 
193   default: return 0;
194   }
195 }
196 
zx_DEC_ELEM_b_Framework(struct zx_ctx * c,struct zx_b_Framework_s * x)197 int zx_DEC_ELEM_b_Framework(struct zx_ctx* c, struct zx_b_Framework_s* x)
198 {
199   struct zx_elem_s* el = x->gg.kids;
200   switch (el->g.tok) {
201 
202   default: return 0;
203   }
204 }
205 
206 
207 
208 
zx_DEC_ATTR_b_InteractionService(struct zx_ctx * c,struct zx_b_InteractionService_s * x)209 int zx_DEC_ATTR_b_InteractionService(struct zx_ctx* c, struct zx_b_InteractionService_s* x)
210 {
211   switch (x->gg.attr->g.tok) {
212     case zx_ID_ATTR:  x->ID = x->gg.attr; return 1;
213     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
214     case zx_notOnOrAfter_ATTR:  x->notOnOrAfter = x->gg.attr; return 1;
215     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
216     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
217     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
218 
219   default: return 0;
220   }
221 }
222 
zx_DEC_ELEM_b_InteractionService(struct zx_ctx * c,struct zx_b_InteractionService_s * x)223 int zx_DEC_ELEM_b_InteractionService(struct zx_ctx* c, struct zx_b_InteractionService_s* x)
224 {
225   struct zx_elem_s* el = x->gg.kids;
226   switch (el->g.tok) {
227   case zx_a_Address_ELEM:
228     if (!x->Address)
229       x->Address = (struct zx_a_Address_s*)el;
230     return 1;
231   case zx_a_ReferenceParameters_ELEM:
232     if (!x->ReferenceParameters)
233       x->ReferenceParameters = (struct zx_a_ReferenceParameters_s*)el;
234     return 1;
235   case zx_a_Metadata_ELEM:
236     if (!x->Metadata)
237       x->Metadata = (struct zx_a_Metadata_s*)el;
238     return 1;
239   case zx_tas3_AltAddress_ELEM:
240     if (!x->AltAddress)
241       x->AltAddress = el;
242     return 1;
243 
244   default: return 0;
245   }
246 }
247 
248 
249 
250 
zx_DEC_ATTR_b_ProcessingContext(struct zx_ctx * c,struct zx_b_ProcessingContext_s * x)251 int zx_DEC_ATTR_b_ProcessingContext(struct zx_ctx* c, struct zx_b_ProcessingContext_s* x)
252 {
253   switch (x->gg.attr->g.tok) {
254     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
255     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
256     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
257     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
258 
259   default: return 0;
260   }
261 }
262 
zx_DEC_ELEM_b_ProcessingContext(struct zx_ctx * c,struct zx_b_ProcessingContext_s * x)263 int zx_DEC_ELEM_b_ProcessingContext(struct zx_ctx* c, struct zx_b_ProcessingContext_s* x)
264 {
265   struct zx_elem_s* el = x->gg.kids;
266   switch (el->g.tok) {
267 
268   default: return 0;
269   }
270 }
271 
272 
273 
274 
zx_DEC_ATTR_b_RedirectRequest(struct zx_ctx * c,struct zx_b_RedirectRequest_s * x)275 int zx_DEC_ATTR_b_RedirectRequest(struct zx_ctx* c, struct zx_b_RedirectRequest_s* x)
276 {
277   switch (x->gg.attr->g.tok) {
278     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
279     case zx_redirectURL_ATTR:  x->redirectURL = x->gg.attr; return 1;
280     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
281     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
282     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
283 
284   default: return 0;
285   }
286 }
287 
zx_DEC_ELEM_b_RedirectRequest(struct zx_ctx * c,struct zx_b_RedirectRequest_s * x)288 int zx_DEC_ELEM_b_RedirectRequest(struct zx_ctx* c, struct zx_b_RedirectRequest_s* x)
289 {
290   struct zx_elem_s* el = x->gg.kids;
291   switch (el->g.tok) {
292 
293   default: return 0;
294   }
295 }
296 
297 
298 
299 
zx_DEC_ATTR_b_Sender(struct zx_ctx * c,struct zx_b_Sender_s * x)300 int zx_DEC_ATTR_b_Sender(struct zx_ctx* c, struct zx_b_Sender_s* x)
301 {
302   switch (x->gg.attr->g.tok) {
303     case zx_affiliationID_ATTR:  x->affiliationID = x->gg.attr; return 1;
304     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
305     case zx_providerID_ATTR:  x->providerID = x->gg.attr; return 1;
306     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
307     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
308     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
309 
310   default: return 0;
311   }
312 }
313 
zx_DEC_ELEM_b_Sender(struct zx_ctx * c,struct zx_b_Sender_s * x)314 int zx_DEC_ELEM_b_Sender(struct zx_ctx* c, struct zx_b_Sender_s* x)
315 {
316   struct zx_elem_s* el = x->gg.kids;
317   switch (el->g.tok) {
318 
319   default: return 0;
320   }
321 }
322 
323 
324 
325 
zx_DEC_ATTR_b_TargetIdentity(struct zx_ctx * c,struct zx_b_TargetIdentity_s * x)326 int zx_DEC_ATTR_b_TargetIdentity(struct zx_ctx* c, struct zx_b_TargetIdentity_s* x)
327 {
328   switch (x->gg.attr->g.tok) {
329     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
330     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
331     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
332     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
333 
334   default: return 0;
335   }
336 }
337 
zx_DEC_ELEM_b_TargetIdentity(struct zx_ctx * c,struct zx_b_TargetIdentity_s * x)338 int zx_DEC_ELEM_b_TargetIdentity(struct zx_ctx* c, struct zx_b_TargetIdentity_s* x)
339 {
340   struct zx_elem_s* el = x->gg.kids;
341   switch (el->g.tok) {
342   case zx_sa_Assertion_ELEM:
343     if (!x->Assertion)
344       x->Assertion = (struct zx_sa_Assertion_s*)el;
345     return 1;
346   case zx_sa_EncryptedAssertion_ELEM:
347     if (!x->EncryptedAssertion)
348       x->EncryptedAssertion = (struct zx_sa_EncryptedAssertion_s*)el;
349     return 1;
350   case zx_sa11_Assertion_ELEM:
351     if (!x->sa11_Assertion)
352       x->sa11_Assertion = (struct zx_sa11_Assertion_s*)el;
353     return 1;
354   case zx_ff12_Assertion_ELEM:
355     if (!x->ff12_Assertion)
356       x->ff12_Assertion = (struct zx_ff12_Assertion_s*)el;
357     return 1;
358 
359   default: return 0;
360   }
361 }
362 
363 
364 
365 
zx_DEC_ATTR_b_Timeout(struct zx_ctx * c,struct zx_b_Timeout_s * x)366 int zx_DEC_ATTR_b_Timeout(struct zx_ctx* c, struct zx_b_Timeout_s* x)
367 {
368   switch (x->gg.attr->g.tok) {
369     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
370     case zx_maxProcessingTime_ATTR:  x->maxProcessingTime = x->gg.attr; return 1;
371     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
372     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
373     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
374 
375   default: return 0;
376   }
377 }
378 
zx_DEC_ELEM_b_Timeout(struct zx_ctx * c,struct zx_b_Timeout_s * x)379 int zx_DEC_ELEM_b_Timeout(struct zx_ctx* c, struct zx_b_Timeout_s* x)
380 {
381   struct zx_elem_s* el = x->gg.kids;
382   switch (el->g.tok) {
383 
384   default: return 0;
385   }
386 }
387 
388 
389 
390 
zx_DEC_ATTR_b_UsageDirective(struct zx_ctx * c,struct zx_b_UsageDirective_s * x)391 int zx_DEC_ATTR_b_UsageDirective(struct zx_ctx* c, struct zx_b_UsageDirective_s* x)
392 {
393   switch (x->gg.attr->g.tok) {
394     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
395     case zx_ref_ATTR:  x->ref = x->gg.attr; return 1;
396     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
397     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
398     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
399 
400   default: return 0;
401   }
402 }
403 
zx_DEC_ELEM_b_UsageDirective(struct zx_ctx * c,struct zx_b_UsageDirective_s * x)404 int zx_DEC_ELEM_b_UsageDirective(struct zx_ctx* c, struct zx_b_UsageDirective_s* x)
405 {
406   struct zx_elem_s* el = x->gg.kids;
407   switch (el->g.tok) {
408   case zx_xa_Obligation_ELEM:
409     if (!x->Obligation)
410       x->Obligation = (struct zx_xa_Obligation_s*)el;
411     return 1;
412   case zx_tas3sol_Dict_ELEM:
413     if (!x->Dict)
414       x->Dict = (struct zx_tas3sol_Dict_s*)el;
415     return 1;
416 
417   default: return 0;
418   }
419 }
420 
421 
422 
423 
zx_DEC_ATTR_b_UserInteraction(struct zx_ctx * c,struct zx_b_UserInteraction_s * x)424 int zx_DEC_ATTR_b_UserInteraction(struct zx_ctx* c, struct zx_b_UserInteraction_s* x)
425 {
426   switch (x->gg.attr->g.tok) {
427     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
428     case zx_interact_ATTR:  x->interact = x->gg.attr; return 1;
429     case zx_language_ATTR:  x->language = x->gg.attr; return 1;
430     case zx_maxInteractTime_ATTR:  x->maxInteractTime = x->gg.attr; return 1;
431     case zx_redirect_ATTR:  x->redirect = x->gg.attr; return 1;
432     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
433     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
434     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
435 
436   default: return 0;
437   }
438 }
439 
zx_DEC_ELEM_b_UserInteraction(struct zx_ctx * c,struct zx_b_UserInteraction_s * x)440 int zx_DEC_ELEM_b_UserInteraction(struct zx_ctx* c, struct zx_b_UserInteraction_s* x)
441 {
442   struct zx_elem_s* el = x->gg.kids;
443   switch (el->g.tok) {
444   case zx_b_InteractionService_ELEM:
445     if (!x->InteractionService)
446       x->InteractionService = (struct zx_b_InteractionService_s*)el;
447     return 1;
448 
449   default: return 0;
450   }
451 }
452 
453 
454 /* EOF -- c/zx-b-dec.c */
455