1 /* c/zx-is-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-is-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38 
39 
40 
zx_DEC_ATTR_is_Confirm(struct zx_ctx * c,struct zx_is_Confirm_s * x)41 int zx_DEC_ATTR_is_Confirm(struct zx_ctx* c, struct zx_is_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_is_Confirm(struct zx_ctx * c,struct zx_is_Confirm_s * x)50 int zx_DEC_ELEM_is_Confirm(struct zx_ctx* c, struct zx_is_Confirm_s* x)
51 {
52   struct zx_elem_s* el = x->gg.kids;
53   switch (el->g.tok) {
54   case zx_is_Help_ELEM:
55     if (!x->Help)
56       x->Help = (struct zx_is_Help_s*)el;
57     return 1;
58   case zx_is_Hint_ELEM:
59     if (!x->Hint)
60       x->Hint = el;
61     return 1;
62   case zx_is_Label_ELEM:
63     if (!x->Label)
64       x->Label = el;
65     return 1;
66   case zx_is_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_is_Help(struct zx_ctx * c,struct zx_is_Help_s * x)78 int zx_DEC_ATTR_is_Help(struct zx_ctx* c, struct zx_is_Help_s* x)
79 {
80   switch (x->gg.attr->g.tok) {
81     case zx_label_ATTR:  x->label = x->gg.attr; return 1;
82     case zx_link_ATTR:  x->link = x->gg.attr; return 1;
83     case zx_moreLink_ATTR:  x->moreLink = x->gg.attr; return 1;
84 
85   default: return 0;
86   }
87 }
88 
zx_DEC_ELEM_is_Help(struct zx_ctx * c,struct zx_is_Help_s * x)89 int zx_DEC_ELEM_is_Help(struct zx_ctx* c, struct zx_is_Help_s* x)
90 {
91   struct zx_elem_s* el = x->gg.kids;
92   switch (el->g.tok) {
93 
94   default: return 0;
95   }
96 }
97 
98 
99 
100 
zx_DEC_ATTR_is_Inquiry(struct zx_ctx * c,struct zx_is_Inquiry_s * x)101 int zx_DEC_ATTR_is_Inquiry(struct zx_ctx* c, struct zx_is_Inquiry_s* x)
102 {
103   switch (x->gg.attr->g.tok) {
104     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
105     case zx_title_ATTR:  x->title = x->gg.attr; return 1;
106 
107   default: return 0;
108   }
109 }
110 
zx_DEC_ELEM_is_Inquiry(struct zx_ctx * c,struct zx_is_Inquiry_s * x)111 int zx_DEC_ELEM_is_Inquiry(struct zx_ctx* c, struct zx_is_Inquiry_s* x)
112 {
113   struct zx_elem_s* el = x->gg.kids;
114   switch (el->g.tok) {
115   case zx_is_Help_ELEM:
116     if (!x->Help)
117       x->Help = (struct zx_is_Help_s*)el;
118     return 1;
119   case zx_is_Select_ELEM:
120     if (!x->Select)
121       x->Select = (struct zx_is_Select_s*)el;
122     return 1;
123   case zx_is_Confirm_ELEM:
124     if (!x->Confirm)
125       x->Confirm = (struct zx_is_Confirm_s*)el;
126     return 1;
127   case zx_is_Text_ELEM:
128     if (!x->Text)
129       x->Text = (struct zx_is_Text_s*)el;
130     return 1;
131 
132   default: return 0;
133   }
134 }
135 
136 
137 
138 
zx_DEC_ATTR_is_InteractionRequest(struct zx_ctx * c,struct zx_is_InteractionRequest_s * x)139 int zx_DEC_ATTR_is_InteractionRequest(struct zx_ctx* c, struct zx_is_InteractionRequest_s* x)
140 {
141   switch (x->gg.attr->g.tok) {
142     case zx_id_ATTR:  x->id = x->gg.attr; return 1;
143     case zx_language_ATTR:  x->language = x->gg.attr; return 1;
144     case zx_maxInteractTime_ATTR:  x->maxInteractTime = x->gg.attr; return 1;
145     case zx_signed_ATTR:  x->signed_is_c_keyword = x->gg.attr; return 1;
146 
147   default: return 0;
148   }
149 }
150 
zx_DEC_ELEM_is_InteractionRequest(struct zx_ctx * c,struct zx_is_InteractionRequest_s * x)151 int zx_DEC_ELEM_is_InteractionRequest(struct zx_ctx* c, struct zx_is_InteractionRequest_s* x)
152 {
153   struct zx_elem_s* el = x->gg.kids;
154   switch (el->g.tok) {
155   case zx_is_Inquiry_ELEM:
156     if (!x->Inquiry)
157       x->Inquiry = (struct zx_is_Inquiry_s*)el;
158     return 1;
159   case zx_ds_KeyInfo_ELEM:
160     if (!x->KeyInfo)
161       x->KeyInfo = (struct zx_ds_KeyInfo_s*)el;
162     return 1;
163 
164   default: return 0;
165   }
166 }
167 
168 
169 
170 
zx_DEC_ATTR_is_InteractionResponse(struct zx_ctx * c,struct zx_is_InteractionResponse_s * x)171 int zx_DEC_ATTR_is_InteractionResponse(struct zx_ctx* c, struct zx_is_InteractionResponse_s* x)
172 {
173   switch (x->gg.attr->g.tok) {
174 
175   default: return 0;
176   }
177 }
178 
zx_DEC_ELEM_is_InteractionResponse(struct zx_ctx * c,struct zx_is_InteractionResponse_s * x)179 int zx_DEC_ELEM_is_InteractionResponse(struct zx_ctx* c, struct zx_is_InteractionResponse_s* x)
180 {
181   struct zx_elem_s* el = x->gg.kids;
182   switch (el->g.tok) {
183   case zx_lu_Status_ELEM:
184     if (!x->Status)
185       x->Status = (struct zx_lu_Status_s*)el;
186     return 1;
187   case zx_is_InteractionStatement_ELEM:
188     if (!x->InteractionStatement)
189       x->InteractionStatement = (struct zx_is_InteractionStatement_s*)el;
190     return 1;
191   case zx_is_Parameter_ELEM:
192     if (!x->Parameter)
193       x->Parameter = (struct zx_is_Parameter_s*)el;
194     return 1;
195 
196   default: return 0;
197   }
198 }
199 
200 
201 
202 
zx_DEC_ATTR_is_InteractionStatement(struct zx_ctx * c,struct zx_is_InteractionStatement_s * x)203 int zx_DEC_ATTR_is_InteractionStatement(struct zx_ctx* c, struct zx_is_InteractionStatement_s* x)
204 {
205   switch (x->gg.attr->g.tok) {
206 
207   default: return 0;
208   }
209 }
210 
zx_DEC_ELEM_is_InteractionStatement(struct zx_ctx * c,struct zx_is_InteractionStatement_s * x)211 int zx_DEC_ELEM_is_InteractionStatement(struct zx_ctx* c, struct zx_is_InteractionStatement_s* x)
212 {
213   struct zx_elem_s* el = x->gg.kids;
214   switch (el->g.tok) {
215   case zx_is_Inquiry_ELEM:
216     if (!x->Inquiry)
217       x->Inquiry = (struct zx_is_Inquiry_s*)el;
218     return 1;
219   case zx_ds_Signature_ELEM:
220     if (!x->Signature)
221       x->Signature = (struct zx_ds_Signature_s*)el;
222     return 1;
223 
224   default: return 0;
225   }
226 }
227 
228 
229 
230 
zx_DEC_ATTR_is_Item(struct zx_ctx * c,struct zx_is_Item_s * x)231 int zx_DEC_ATTR_is_Item(struct zx_ctx* c, struct zx_is_Item_s* x)
232 {
233   switch (x->gg.attr->g.tok) {
234     case zx_label_ATTR:  x->label = x->gg.attr; return 1;
235     case zx_value_ATTR:  x->value = x->gg.attr; return 1;
236 
237   default: return 0;
238   }
239 }
240 
zx_DEC_ELEM_is_Item(struct zx_ctx * c,struct zx_is_Item_s * x)241 int zx_DEC_ELEM_is_Item(struct zx_ctx* c, struct zx_is_Item_s* x)
242 {
243   struct zx_elem_s* el = x->gg.kids;
244   switch (el->g.tok) {
245   case zx_is_Hint_ELEM:
246     if (!x->Hint)
247       x->Hint = el;
248     return 1;
249 
250   default: return 0;
251   }
252 }
253 
254 
255 
256 
zx_DEC_ATTR_is_Parameter(struct zx_ctx * c,struct zx_is_Parameter_s * x)257 int zx_DEC_ATTR_is_Parameter(struct zx_ctx* c, struct zx_is_Parameter_s* x)
258 {
259   switch (x->gg.attr->g.tok) {
260     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
261     case zx_value_ATTR:  x->value = x->gg.attr; return 1;
262 
263   default: return 0;
264   }
265 }
266 
zx_DEC_ELEM_is_Parameter(struct zx_ctx * c,struct zx_is_Parameter_s * x)267 int zx_DEC_ELEM_is_Parameter(struct zx_ctx* c, struct zx_is_Parameter_s* x)
268 {
269   struct zx_elem_s* el = x->gg.kids;
270   switch (el->g.tok) {
271 
272   default: return 0;
273   }
274 }
275 
276 
277 
278 
zx_DEC_ATTR_is_Select(struct zx_ctx * c,struct zx_is_Select_s * x)279 int zx_DEC_ATTR_is_Select(struct zx_ctx* c, struct zx_is_Select_s* x)
280 {
281   switch (x->gg.attr->g.tok) {
282     case zx_multiple_ATTR:  x->multiple = x->gg.attr; return 1;
283     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
284 
285   default: return 0;
286   }
287 }
288 
zx_DEC_ELEM_is_Select(struct zx_ctx * c,struct zx_is_Select_s * x)289 int zx_DEC_ELEM_is_Select(struct zx_ctx* c, struct zx_is_Select_s* x)
290 {
291   struct zx_elem_s* el = x->gg.kids;
292   switch (el->g.tok) {
293   case zx_is_Help_ELEM:
294     if (!x->Help)
295       x->Help = (struct zx_is_Help_s*)el;
296     return 1;
297   case zx_is_Hint_ELEM:
298     if (!x->Hint)
299       x->Hint = el;
300     return 1;
301   case zx_is_Label_ELEM:
302     if (!x->Label)
303       x->Label = el;
304     return 1;
305   case zx_is_Value_ELEM:
306     if (!x->Value)
307       x->Value = el;
308     return 1;
309   case zx_is_Item_ELEM:
310     if (!x->Item)
311       x->Item = (struct zx_is_Item_s*)el;
312     return 1;
313 
314   default: return 0;
315   }
316 }
317 
318 
319 
320 
zx_DEC_ATTR_is_Text(struct zx_ctx * c,struct zx_is_Text_s * x)321 int zx_DEC_ATTR_is_Text(struct zx_ctx* c, struct zx_is_Text_s* x)
322 {
323   switch (x->gg.attr->g.tok) {
324     case zx_format_ATTR:  x->format = x->gg.attr; return 1;
325     case zx_maxChars_ATTR:  x->maxChars = x->gg.attr; return 1;
326     case zx_minChars_ATTR:  x->minChars = x->gg.attr; return 1;
327     case zx_name_ATTR:  x->name = x->gg.attr; return 1;
328 
329   default: return 0;
330   }
331 }
332 
zx_DEC_ELEM_is_Text(struct zx_ctx * c,struct zx_is_Text_s * x)333 int zx_DEC_ELEM_is_Text(struct zx_ctx* c, struct zx_is_Text_s* x)
334 {
335   struct zx_elem_s* el = x->gg.kids;
336   switch (el->g.tok) {
337   case zx_is_Help_ELEM:
338     if (!x->Help)
339       x->Help = (struct zx_is_Help_s*)el;
340     return 1;
341   case zx_is_Hint_ELEM:
342     if (!x->Hint)
343       x->Hint = el;
344     return 1;
345   case zx_is_Label_ELEM:
346     if (!x->Label)
347       x->Label = el;
348     return 1;
349   case zx_is_Value_ELEM:
350     if (!x->Value)
351       x->Value = el;
352     return 1;
353 
354   default: return 0;
355   }
356 }
357 
358 
359 /* EOF -- c/zx-is-dec.c */
360