1 /* c/zx-is12-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-is12-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38 
39 
40 
zx_DEC_ATTR_is12_Confirm(struct zx_ctx * c,struct zx_is12_Confirm_s * x)41 int zx_DEC_ATTR_is12_Confirm(struct zx_ctx* c, struct zx_is12_Confirm_s* x)
42 {
43   switch (x->gg.attr->g.tok) {
44     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
45 
46   default: return 0;
47   }
48 }
49 
zx_DEC_ELEM_is12_Confirm(struct zx_ctx * c,struct zx_is12_Confirm_s * x)50 int zx_DEC_ELEM_is12_Confirm(struct zx_ctx* c, struct zx_is12_Confirm_s* x)
51 {
52   struct zx_elem_s* el = x->gg.kids;
53   switch (el->g.tok) {
54   case zx_is12_Help_ELEM:
55     if (!x->Help)
56       x->Help = (struct zx_is12_Help_s*)el;
57     return 1;
58   case zx_is12_Hint_ELEM:
59     if (!x->Hint)
60       x->Hint = el;
61     return 1;
62   case zx_is12_Label_ELEM:
63     if (!x->Label)
64       x->Label = el;
65     return 1;
66   case zx_is12_Value_ELEM:
67     if (!x->Value)
68       x->Value = el;
69     return 1;
70 
71   default: return 0;
72   }
73 }
74 
75 
76 
77 
zx_DEC_ATTR_is12_EncryptedResourceID(struct zx_ctx * c,struct zx_is12_EncryptedResourceID_s * x)78 int zx_DEC_ATTR_is12_EncryptedResourceID(struct zx_ctx* c, struct zx_is12_EncryptedResourceID_s* x)
79 {
80   switch (x->gg.attr->g.tok) {
81 
82   default: return 0;
83   }
84 }
85 
zx_DEC_ELEM_is12_EncryptedResourceID(struct zx_ctx * c,struct zx_is12_EncryptedResourceID_s * x)86 int zx_DEC_ELEM_is12_EncryptedResourceID(struct zx_ctx* c, struct zx_is12_EncryptedResourceID_s* x)
87 {
88   struct zx_elem_s* el = x->gg.kids;
89   switch (el->g.tok) {
90   case zx_xenc_EncryptedData_ELEM:
91     if (!x->EncryptedData)
92       x->EncryptedData = (struct zx_xenc_EncryptedData_s*)el;
93     return 1;
94   case zx_xenc_EncryptedKey_ELEM:
95     if (!x->EncryptedKey)
96       x->EncryptedKey = (struct zx_xenc_EncryptedKey_s*)el;
97     return 1;
98 
99   default: return 0;
100   }
101 }
102 
103 
104 
105 
zx_DEC_ATTR_is12_Extension(struct zx_ctx * c,struct zx_is12_Extension_s * x)106 int zx_DEC_ATTR_is12_Extension(struct zx_ctx* c, struct zx_is12_Extension_s* x)
107 {
108   switch (x->gg.attr->g.tok) {
109 
110   default: return 0;
111   }
112 }
113 
zx_DEC_ELEM_is12_Extension(struct zx_ctx * c,struct zx_is12_Extension_s * x)114 int zx_DEC_ELEM_is12_Extension(struct zx_ctx* c, struct zx_is12_Extension_s* x)
115 {
116   struct zx_elem_s* el = x->gg.kids;
117   switch (el->g.tok) {
118 
119   default: return 0;
120   }
121 }
122 
123 
124 
125 
zx_DEC_ATTR_is12_Help(struct zx_ctx * c,struct zx_is12_Help_s * x)126 int zx_DEC_ATTR_is12_Help(struct zx_ctx* c, struct zx_is12_Help_s* x)
127 {
128   switch (x->gg.attr->g.tok) {
129     case zx_label_ATTR:  x->label = x->gg.attr; return 1;
130     case zx_link_ATTR:  x->link = x->gg.attr; return 1;
131     case zx_moreLink_ATTR:  x->moreLink = x->gg.attr; return 1;
132 
133   default: return 0;
134   }
135 }
136 
zx_DEC_ELEM_is12_Help(struct zx_ctx * c,struct zx_is12_Help_s * x)137 int zx_DEC_ELEM_is12_Help(struct zx_ctx* c, struct zx_is12_Help_s* x)
138 {
139   struct zx_elem_s* el = x->gg.kids;
140   switch (el->g.tok) {
141 
142   default: return 0;
143   }
144 }
145 
146 
147 
148 
zx_DEC_ATTR_is12_Inquiry(struct zx_ctx * c,struct zx_is12_Inquiry_s * x)149 int zx_DEC_ATTR_is12_Inquiry(struct zx_ctx* c, struct zx_is12_Inquiry_s* x)
150 {
151   switch (x->gg.attr->g.tok) {
152     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
153     case zx_title_ATTR:  x->title = x->gg.attr; return 1;
154 
155   default: return 0;
156   }
157 }
158 
zx_DEC_ELEM_is12_Inquiry(struct zx_ctx * c,struct zx_is12_Inquiry_s * x)159 int zx_DEC_ELEM_is12_Inquiry(struct zx_ctx* c, struct zx_is12_Inquiry_s* x)
160 {
161   struct zx_elem_s* el = x->gg.kids;
162   switch (el->g.tok) {
163   case zx_is12_Help_ELEM:
164     if (!x->Help)
165       x->Help = (struct zx_is12_Help_s*)el;
166     return 1;
167   case zx_is12_Select_ELEM:
168     if (!x->Select)
169       x->Select = (struct zx_is12_Select_s*)el;
170     return 1;
171   case zx_is12_Confirm_ELEM:
172     if (!x->Confirm)
173       x->Confirm = (struct zx_is12_Confirm_s*)el;
174     return 1;
175   case zx_is12_Text_ELEM:
176     if (!x->Text)
177       x->Text = (struct zx_is12_Text_s*)el;
178     return 1;
179 
180   default: return 0;
181   }
182 }
183 
184 
185 
186 
zx_DEC_ATTR_is12_InteractionRequest(struct zx_ctx * c,struct zx_is12_InteractionRequest_s * x)187 int zx_DEC_ATTR_is12_InteractionRequest(struct zx_ctx* c, struct zx_is12_InteractionRequest_s* x)
188 {
189   switch (x->gg.attr->g.tok) {
190     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
191     case zx_language_ATTR:  x->language = x->gg.attr; return 1;
192     case zx_maxInteractTime_ATTR:  x->maxInteractTime = x->gg.attr; return 1;
193     case zx_signed_ATTR:  x->signed_is_c_keyword = x->gg.attr; return 1;
194 
195   default: return 0;
196   }
197 }
198 
zx_DEC_ELEM_is12_InteractionRequest(struct zx_ctx * c,struct zx_is12_InteractionRequest_s * x)199 int zx_DEC_ELEM_is12_InteractionRequest(struct zx_ctx* c, struct zx_is12_InteractionRequest_s* x)
200 {
201   struct zx_elem_s* el = x->gg.kids;
202   switch (el->g.tok) {
203   case zx_is12_Inquiry_ELEM:
204     if (!x->Inquiry)
205       x->Inquiry = (struct zx_is12_Inquiry_s*)el;
206     return 1;
207   case zx_ds_KeyInfo_ELEM:
208     if (!x->KeyInfo)
209       x->KeyInfo = (struct zx_ds_KeyInfo_s*)el;
210     return 1;
211 
212   default: return 0;
213   }
214 }
215 
216 
217 
218 
zx_DEC_ATTR_is12_InteractionResponse(struct zx_ctx * c,struct zx_is12_InteractionResponse_s * x)219 int zx_DEC_ATTR_is12_InteractionResponse(struct zx_ctx* c, struct zx_is12_InteractionResponse_s* x)
220 {
221   switch (x->gg.attr->g.tok) {
222 
223   default: return 0;
224   }
225 }
226 
zx_DEC_ELEM_is12_InteractionResponse(struct zx_ctx * c,struct zx_is12_InteractionResponse_s * x)227 int zx_DEC_ELEM_is12_InteractionResponse(struct zx_ctx* c, struct zx_is12_InteractionResponse_s* x)
228 {
229   struct zx_elem_s* el = x->gg.kids;
230   switch (el->g.tok) {
231   case zx_is12_Status_ELEM:
232     if (!x->Status)
233       x->Status = (struct zx_is12_Status_s*)el;
234     return 1;
235   case zx_is12_InteractionStatement_ELEM:
236     if (!x->InteractionStatement)
237       x->InteractionStatement = (struct zx_is12_InteractionStatement_s*)el;
238     return 1;
239   case zx_is12_Parameter_ELEM:
240     if (!x->Parameter)
241       x->Parameter = (struct zx_is12_Parameter_s*)el;
242     return 1;
243 
244   default: return 0;
245   }
246 }
247 
248 
249 
250 
zx_DEC_ATTR_is12_InteractionService(struct zx_ctx * c,struct zx_is12_InteractionService_s * x)251 int zx_DEC_ATTR_is12_InteractionService(struct zx_ctx* c, struct zx_is12_InteractionService_s* x)
252 {
253   switch (x->gg.attr->g.tok) {
254     case zx_entryID_ATTR:  x->entryID = x->gg.attr; return 1;
255 
256   default: return 0;
257   }
258 }
259 
zx_DEC_ELEM_is12_InteractionService(struct zx_ctx * c,struct zx_is12_InteractionService_s * x)260 int zx_DEC_ELEM_is12_InteractionService(struct zx_ctx* c, struct zx_is12_InteractionService_s* x)
261 {
262   struct zx_elem_s* el = x->gg.kids;
263   switch (el->g.tok) {
264   case zx_di12_ResourceID_ELEM:
265     if (!x->ResourceID)
266       x->ResourceID = (struct zx_di12_ResourceID_s*)el;
267     return 1;
268   case zx_di12_EncryptedResourceID_ELEM:
269     if (!x->EncryptedResourceID)
270       x->EncryptedResourceID = (struct zx_di12_EncryptedResourceID_s*)el;
271     return 1;
272   case zx_di12_ServiceInstance_ELEM:
273     if (!x->ServiceInstance)
274       x->ServiceInstance = (struct zx_di12_ServiceInstance_s*)el;
275     return 1;
276   case zx_di12_Options_ELEM:
277     if (!x->Options)
278       x->Options = (struct zx_di12_Options_s*)el;
279     return 1;
280   case zx_di12_Abstract_ELEM:
281     if (!x->Abstract)
282       x->Abstract = el;
283     return 1;
284 
285   default: return 0;
286   }
287 }
288 
289 
290 
291 
zx_DEC_ATTR_is12_InteractionStatement(struct zx_ctx * c,struct zx_is12_InteractionStatement_s * x)292 int zx_DEC_ATTR_is12_InteractionStatement(struct zx_ctx* c, struct zx_is12_InteractionStatement_s* x)
293 {
294   switch (x->gg.attr->g.tok) {
295 
296   default: return 0;
297   }
298 }
299 
zx_DEC_ELEM_is12_InteractionStatement(struct zx_ctx * c,struct zx_is12_InteractionStatement_s * x)300 int zx_DEC_ELEM_is12_InteractionStatement(struct zx_ctx* c, struct zx_is12_InteractionStatement_s* x)
301 {
302   struct zx_elem_s* el = x->gg.kids;
303   switch (el->g.tok) {
304   case zx_is12_Inquiry_ELEM:
305     if (!x->Inquiry)
306       x->Inquiry = (struct zx_is12_Inquiry_s*)el;
307     return 1;
308   case zx_ds_Signature_ELEM:
309     if (!x->Signature)
310       x->Signature = (struct zx_ds_Signature_s*)el;
311     return 1;
312 
313   default: return 0;
314   }
315 }
316 
317 
318 
319 
zx_DEC_ATTR_is12_Item(struct zx_ctx * c,struct zx_is12_Item_s * x)320 int zx_DEC_ATTR_is12_Item(struct zx_ctx* c, struct zx_is12_Item_s* x)
321 {
322   switch (x->gg.attr->g.tok) {
323     case zx_label_ATTR:  x->label = x->gg.attr; return 1;
324     case zx_value_ATTR:  x->value = x->gg.attr; return 1;
325 
326   default: return 0;
327   }
328 }
329 
zx_DEC_ELEM_is12_Item(struct zx_ctx * c,struct zx_is12_Item_s * x)330 int zx_DEC_ELEM_is12_Item(struct zx_ctx* c, struct zx_is12_Item_s* x)
331 {
332   struct zx_elem_s* el = x->gg.kids;
333   switch (el->g.tok) {
334   case zx_is12_Hint_ELEM:
335     if (!x->Hint)
336       x->Hint = el;
337     return 1;
338 
339   default: return 0;
340   }
341 }
342 
343 
344 
345 
zx_DEC_ATTR_is12_Parameter(struct zx_ctx * c,struct zx_is12_Parameter_s * x)346 int zx_DEC_ATTR_is12_Parameter(struct zx_ctx* c, struct zx_is12_Parameter_s* x)
347 {
348   switch (x->gg.attr->g.tok) {
349     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
350     case zx_value_ATTR:  x->value = x->gg.attr; return 1;
351 
352   default: return 0;
353   }
354 }
355 
zx_DEC_ELEM_is12_Parameter(struct zx_ctx * c,struct zx_is12_Parameter_s * x)356 int zx_DEC_ELEM_is12_Parameter(struct zx_ctx* c, struct zx_is12_Parameter_s* x)
357 {
358   struct zx_elem_s* el = x->gg.kids;
359   switch (el->g.tok) {
360 
361   default: return 0;
362   }
363 }
364 
365 
366 
367 
zx_DEC_ATTR_is12_RedirectRequest(struct zx_ctx * c,struct zx_is12_RedirectRequest_s * x)368 int zx_DEC_ATTR_is12_RedirectRequest(struct zx_ctx* c, struct zx_is12_RedirectRequest_s* x)
369 {
370   switch (x->gg.attr->g.tok) {
371     case zx_redirectURL_ATTR:  x->redirectURL = x->gg.attr; return 1;
372 
373   default: return 0;
374   }
375 }
376 
zx_DEC_ELEM_is12_RedirectRequest(struct zx_ctx * c,struct zx_is12_RedirectRequest_s * x)377 int zx_DEC_ELEM_is12_RedirectRequest(struct zx_ctx* c, struct zx_is12_RedirectRequest_s* x)
378 {
379   struct zx_elem_s* el = x->gg.kids;
380   switch (el->g.tok) {
381 
382   default: return 0;
383   }
384 }
385 
386 
387 
388 
zx_DEC_ATTR_is12_ResourceID(struct zx_ctx * c,struct zx_is12_ResourceID_s * x)389 int zx_DEC_ATTR_is12_ResourceID(struct zx_ctx* c, struct zx_is12_ResourceID_s* x)
390 {
391   switch (x->gg.attr->g.tok) {
392     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
393 
394   default: return 0;
395   }
396 }
397 
zx_DEC_ELEM_is12_ResourceID(struct zx_ctx * c,struct zx_is12_ResourceID_s * x)398 int zx_DEC_ELEM_is12_ResourceID(struct zx_ctx* c, struct zx_is12_ResourceID_s* x)
399 {
400   struct zx_elem_s* el = x->gg.kids;
401   switch (el->g.tok) {
402 
403   default: return 0;
404   }
405 }
406 
407 
408 
409 
zx_DEC_ATTR_is12_Select(struct zx_ctx * c,struct zx_is12_Select_s * x)410 int zx_DEC_ATTR_is12_Select(struct zx_ctx* c, struct zx_is12_Select_s* x)
411 {
412   switch (x->gg.attr->g.tok) {
413     case zx_multiple_ATTR:  x->multiple = x->gg.attr; return 1;
414     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
415 
416   default: return 0;
417   }
418 }
419 
zx_DEC_ELEM_is12_Select(struct zx_ctx * c,struct zx_is12_Select_s * x)420 int zx_DEC_ELEM_is12_Select(struct zx_ctx* c, struct zx_is12_Select_s* x)
421 {
422   struct zx_elem_s* el = x->gg.kids;
423   switch (el->g.tok) {
424   case zx_is12_Help_ELEM:
425     if (!x->Help)
426       x->Help = (struct zx_is12_Help_s*)el;
427     return 1;
428   case zx_is12_Hint_ELEM:
429     if (!x->Hint)
430       x->Hint = el;
431     return 1;
432   case zx_is12_Label_ELEM:
433     if (!x->Label)
434       x->Label = el;
435     return 1;
436   case zx_is12_Value_ELEM:
437     if (!x->Value)
438       x->Value = el;
439     return 1;
440   case zx_is12_Item_ELEM:
441     if (!x->Item)
442       x->Item = (struct zx_is12_Item_s*)el;
443     return 1;
444 
445   default: return 0;
446   }
447 }
448 
449 
450 
451 
zx_DEC_ATTR_is12_Status(struct zx_ctx * c,struct zx_is12_Status_s * x)452 int zx_DEC_ATTR_is12_Status(struct zx_ctx* c, struct zx_is12_Status_s* x)
453 {
454   switch (x->gg.attr->g.tok) {
455     case zx_code_ATTR:  x->code = x->gg.attr; return 1;
456     case zx_comment_ATTR:  x->comment = x->gg.attr; return 1;
457     case zx_ref_ATTR:  x->ref = x->gg.attr; return 1;
458 
459   default: return 0;
460   }
461 }
462 
zx_DEC_ELEM_is12_Status(struct zx_ctx * c,struct zx_is12_Status_s * x)463 int zx_DEC_ELEM_is12_Status(struct zx_ctx* c, struct zx_is12_Status_s* x)
464 {
465   struct zx_elem_s* el = x->gg.kids;
466   switch (el->g.tok) {
467   case zx_is12_Status_ELEM:
468     if (!x->Status)
469       x->Status = (struct zx_is12_Status_s*)el;
470     return 1;
471 
472   default: return 0;
473   }
474 }
475 
476 
477 
478 
zx_DEC_ATTR_is12_Text(struct zx_ctx * c,struct zx_is12_Text_s * x)479 int zx_DEC_ATTR_is12_Text(struct zx_ctx* c, struct zx_is12_Text_s* x)
480 {
481   switch (x->gg.attr->g.tok) {
482     case zx_format_ATTR:  x->format = x->gg.attr; return 1;
483     case zx_maxChars_ATTR:  x->maxChars = x->gg.attr; return 1;
484     case zx_minChars_ATTR:  x->minChars = x->gg.attr; return 1;
485     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
486 
487   default: return 0;
488   }
489 }
490 
zx_DEC_ELEM_is12_Text(struct zx_ctx * c,struct zx_is12_Text_s * x)491 int zx_DEC_ELEM_is12_Text(struct zx_ctx* c, struct zx_is12_Text_s* x)
492 {
493   struct zx_elem_s* el = x->gg.kids;
494   switch (el->g.tok) {
495   case zx_is12_Help_ELEM:
496     if (!x->Help)
497       x->Help = (struct zx_is12_Help_s*)el;
498     return 1;
499   case zx_is12_Hint_ELEM:
500     if (!x->Hint)
501       x->Hint = el;
502     return 1;
503   case zx_is12_Label_ELEM:
504     if (!x->Label)
505       x->Label = el;
506     return 1;
507   case zx_is12_Value_ELEM:
508     if (!x->Value)
509       x->Value = el;
510     return 1;
511 
512   default: return 0;
513   }
514 }
515 
516 
517 
518 
zx_DEC_ATTR_is12_UserInteraction(struct zx_ctx * c,struct zx_is12_UserInteraction_s * x)519 int zx_DEC_ATTR_is12_UserInteraction(struct zx_ctx* c, struct zx_is12_UserInteraction_s* x)
520 {
521   switch (x->gg.attr->g.tok) {
522     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
523     case zx_interact_ATTR:  x->interact = x->gg.attr; return 1;
524     case zx_language_ATTR:  x->language = x->gg.attr; return 1;
525     case zx_maxInteractTime_ATTR:  x->maxInteractTime = x->gg.attr; return 1;
526     case zx_redirect_ATTR:  x->redirect = x->gg.attr; return 1;
527     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
528     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
529 
530   default: return 0;
531   }
532 }
533 
zx_DEC_ELEM_is12_UserInteraction(struct zx_ctx * c,struct zx_is12_UserInteraction_s * x)534 int zx_DEC_ELEM_is12_UserInteraction(struct zx_ctx* c, struct zx_is12_UserInteraction_s* x)
535 {
536   struct zx_elem_s* el = x->gg.kids;
537   switch (el->g.tok) {
538   case zx_is12_InteractionService_ELEM:
539     if (!x->InteractionService)
540       x->InteractionService = (struct zx_is12_InteractionService_s*)el;
541     return 1;
542 
543   default: return 0;
544   }
545 }
546 
547 
548 /* EOF -- c/zx-is12-dec.c */
549