1 /* c/zx-wsse-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-wsse-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38 
39 
40 
zx_DEC_ATTR_wsse_BinarySecurityToken(struct zx_ctx * c,struct zx_wsse_BinarySecurityToken_s * x)41 int zx_DEC_ATTR_wsse_BinarySecurityToken(struct zx_ctx* c, struct zx_wsse_BinarySecurityToken_s* x)
42 {
43   switch (x->gg.attr->g.tok) {
44     case zx_EncodingType_ATTR:  x->EncodingType = x->gg.attr; return 1;
45     case zx_ValueType_ATTR:  x->ValueType = x->gg.attr; return 1;
46     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
47 
48   default: return 0;
49   }
50 }
51 
zx_DEC_ELEM_wsse_BinarySecurityToken(struct zx_ctx * c,struct zx_wsse_BinarySecurityToken_s * x)52 int zx_DEC_ELEM_wsse_BinarySecurityToken(struct zx_ctx* c, struct zx_wsse_BinarySecurityToken_s* x)
53 {
54   struct zx_elem_s* el = x->gg.kids;
55   switch (el->g.tok) {
56 
57   default: return 0;
58   }
59 }
60 
61 
62 
63 
zx_DEC_ATTR_wsse_Embedded(struct zx_ctx * c,struct zx_wsse_Embedded_s * x)64 int zx_DEC_ATTR_wsse_Embedded(struct zx_ctx* c, struct zx_wsse_Embedded_s* x)
65 {
66   switch (x->gg.attr->g.tok) {
67     case zx_ValueType_ATTR:  x->ValueType = x->gg.attr; return 1;
68 
69   default: return 0;
70   }
71 }
72 
zx_DEC_ELEM_wsse_Embedded(struct zx_ctx * c,struct zx_wsse_Embedded_s * x)73 int zx_DEC_ELEM_wsse_Embedded(struct zx_ctx* c, struct zx_wsse_Embedded_s* x)
74 {
75   struct zx_elem_s* el = x->gg.kids;
76   switch (el->g.tok) {
77 
78   default: return 0;
79   }
80 }
81 
82 
83 
84 
zx_DEC_ATTR_wsse_KeyIdentifier(struct zx_ctx * c,struct zx_wsse_KeyIdentifier_s * x)85 int zx_DEC_ATTR_wsse_KeyIdentifier(struct zx_ctx* c, struct zx_wsse_KeyIdentifier_s* x)
86 {
87   switch (x->gg.attr->g.tok) {
88     case zx_EncodingType_ATTR:  x->EncodingType = x->gg.attr; return 1;
89     case zx_ValueType_ATTR:  x->ValueType = x->gg.attr; return 1;
90     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
91 
92   default: return 0;
93   }
94 }
95 
zx_DEC_ELEM_wsse_KeyIdentifier(struct zx_ctx * c,struct zx_wsse_KeyIdentifier_s * x)96 int zx_DEC_ELEM_wsse_KeyIdentifier(struct zx_ctx* c, struct zx_wsse_KeyIdentifier_s* x)
97 {
98   struct zx_elem_s* el = x->gg.kids;
99   switch (el->g.tok) {
100 
101   default: return 0;
102   }
103 }
104 
105 
106 
107 
zx_DEC_ATTR_wsse_Nonce(struct zx_ctx * c,struct zx_wsse_Nonce_s * x)108 int zx_DEC_ATTR_wsse_Nonce(struct zx_ctx* c, struct zx_wsse_Nonce_s* x)
109 {
110   switch (x->gg.attr->g.tok) {
111     case zx_EncodingType_ATTR:  x->EncodingType = x->gg.attr; return 1;
112     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
113 
114   default: return 0;
115   }
116 }
117 
zx_DEC_ELEM_wsse_Nonce(struct zx_ctx * c,struct zx_wsse_Nonce_s * x)118 int zx_DEC_ELEM_wsse_Nonce(struct zx_ctx* c, struct zx_wsse_Nonce_s* x)
119 {
120   struct zx_elem_s* el = x->gg.kids;
121   switch (el->g.tok) {
122 
123   default: return 0;
124   }
125 }
126 
127 
128 
129 
zx_DEC_ATTR_wsse_Password(struct zx_ctx * c,struct zx_wsse_Password_s * x)130 int zx_DEC_ATTR_wsse_Password(struct zx_ctx* c, struct zx_wsse_Password_s* x)
131 {
132   switch (x->gg.attr->g.tok) {
133     case zx_Type_ATTR:  x->Type = x->gg.attr; return 1;
134     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
135 
136   default: return 0;
137   }
138 }
139 
zx_DEC_ELEM_wsse_Password(struct zx_ctx * c,struct zx_wsse_Password_s * x)140 int zx_DEC_ELEM_wsse_Password(struct zx_ctx* c, struct zx_wsse_Password_s* x)
141 {
142   struct zx_elem_s* el = x->gg.kids;
143   switch (el->g.tok) {
144 
145   default: return 0;
146   }
147 }
148 
149 
150 
151 
zx_DEC_ATTR_wsse_Reference(struct zx_ctx * c,struct zx_wsse_Reference_s * x)152 int zx_DEC_ATTR_wsse_Reference(struct zx_ctx* c, struct zx_wsse_Reference_s* x)
153 {
154   switch (x->gg.attr->g.tok) {
155     case zx_URI_ATTR:  x->URI = x->gg.attr; return 1;
156     case zx_ValueType_ATTR:  x->ValueType = x->gg.attr; return 1;
157 
158   default: return 0;
159   }
160 }
161 
zx_DEC_ELEM_wsse_Reference(struct zx_ctx * c,struct zx_wsse_Reference_s * x)162 int zx_DEC_ELEM_wsse_Reference(struct zx_ctx* c, struct zx_wsse_Reference_s* x)
163 {
164   struct zx_elem_s* el = x->gg.kids;
165   switch (el->g.tok) {
166 
167   default: return 0;
168   }
169 }
170 
171 
172 
173 
zx_DEC_ATTR_wsse_Security(struct zx_ctx * c,struct zx_wsse_Security_s * x)174 int zx_DEC_ATTR_wsse_Security(struct zx_ctx* c, struct zx_wsse_Security_s* x)
175 {
176   switch (x->gg.attr->g.tok) {
177     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
178     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
179     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
180 
181   default: return 0;
182   }
183 }
184 
zx_DEC_ELEM_wsse_Security(struct zx_ctx * c,struct zx_wsse_Security_s * x)185 int zx_DEC_ELEM_wsse_Security(struct zx_ctx* c, struct zx_wsse_Security_s* x)
186 {
187   struct zx_elem_s* el = x->gg.kids;
188   switch (el->g.tok) {
189   case zx_ds_Signature_ELEM:
190     if (!x->Signature)
191       x->Signature = (struct zx_ds_Signature_s*)el;
192     return 1;
193   case zx_sa_Assertion_ELEM:
194     if (!x->Assertion)
195       x->Assertion = (struct zx_sa_Assertion_s*)el;
196     return 1;
197   case zx_sa_EncryptedAssertion_ELEM:
198     if (!x->EncryptedAssertion)
199       x->EncryptedAssertion = (struct zx_sa_EncryptedAssertion_s*)el;
200     return 1;
201   case zx_sa11_Assertion_ELEM:
202     if (!x->sa11_Assertion)
203       x->sa11_Assertion = (struct zx_sa11_Assertion_s*)el;
204     return 1;
205   case zx_ff12_Assertion_ELEM:
206     if (!x->ff12_Assertion)
207       x->ff12_Assertion = (struct zx_ff12_Assertion_s*)el;
208     return 1;
209   case zx_wsse_BinarySecurityToken_ELEM:
210     if (!x->BinarySecurityToken)
211       x->BinarySecurityToken = (struct zx_wsse_BinarySecurityToken_s*)el;
212     return 1;
213   case zx_wsse_SecurityTokenReference_ELEM:
214     if (!x->SecurityTokenReference)
215       x->SecurityTokenReference = (struct zx_wsse_SecurityTokenReference_s*)el;
216     return 1;
217   case zx_wsu_Timestamp_ELEM:
218     if (!x->Timestamp)
219       x->Timestamp = (struct zx_wsu_Timestamp_s*)el;
220     return 1;
221 
222   default: return 0;
223   }
224 }
225 
226 
227 
228 
zx_DEC_ATTR_wsse_SecurityTokenReference(struct zx_ctx * c,struct zx_wsse_SecurityTokenReference_s * x)229 int zx_DEC_ATTR_wsse_SecurityTokenReference(struct zx_ctx* c, struct zx_wsse_SecurityTokenReference_s* x)
230 {
231   switch (x->gg.attr->g.tok) {
232     case zx_Usage_ATTR|zx_wsse_NS:  x->Usage = x->gg.attr; return 1;
233     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
234 
235   default: return 0;
236   }
237 }
238 
zx_DEC_ELEM_wsse_SecurityTokenReference(struct zx_ctx * c,struct zx_wsse_SecurityTokenReference_s * x)239 int zx_DEC_ELEM_wsse_SecurityTokenReference(struct zx_ctx* c, struct zx_wsse_SecurityTokenReference_s* x)
240 {
241   struct zx_elem_s* el = x->gg.kids;
242   switch (el->g.tok) {
243   case zx_wsse_KeyIdentifier_ELEM:
244     if (!x->KeyIdentifier)
245       x->KeyIdentifier = (struct zx_wsse_KeyIdentifier_s*)el;
246     return 1;
247 
248   default: return 0;
249   }
250 }
251 
252 
253 
254 
zx_DEC_ATTR_wsse_TransformationParameters(struct zx_ctx * c,struct zx_wsse_TransformationParameters_s * x)255 int zx_DEC_ATTR_wsse_TransformationParameters(struct zx_ctx* c, struct zx_wsse_TransformationParameters_s* x)
256 {
257   switch (x->gg.attr->g.tok) {
258 
259   default: return 0;
260   }
261 }
262 
zx_DEC_ELEM_wsse_TransformationParameters(struct zx_ctx * c,struct zx_wsse_TransformationParameters_s * x)263 int zx_DEC_ELEM_wsse_TransformationParameters(struct zx_ctx* c, struct zx_wsse_TransformationParameters_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_wsse_Username(struct zx_ctx * c,struct zx_wsse_Username_s * x)275 int zx_DEC_ATTR_wsse_Username(struct zx_ctx* c, struct zx_wsse_Username_s* x)
276 {
277   switch (x->gg.attr->g.tok) {
278     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
279 
280   default: return 0;
281   }
282 }
283 
zx_DEC_ELEM_wsse_Username(struct zx_ctx * c,struct zx_wsse_Username_s * x)284 int zx_DEC_ELEM_wsse_Username(struct zx_ctx* c, struct zx_wsse_Username_s* x)
285 {
286   struct zx_elem_s* el = x->gg.kids;
287   switch (el->g.tok) {
288 
289   default: return 0;
290   }
291 }
292 
293 
294 
295 
zx_DEC_ATTR_wsse_UsernameToken(struct zx_ctx * c,struct zx_wsse_UsernameToken_s * x)296 int zx_DEC_ATTR_wsse_UsernameToken(struct zx_ctx* c, struct zx_wsse_UsernameToken_s* x)
297 {
298   switch (x->gg.attr->g.tok) {
299     case zx_Id_ATTR|zx_wsu_NS:  x->Id = x->gg.attr; return 1;
300 
301   default: return 0;
302   }
303 }
304 
zx_DEC_ELEM_wsse_UsernameToken(struct zx_ctx * c,struct zx_wsse_UsernameToken_s * x)305 int zx_DEC_ELEM_wsse_UsernameToken(struct zx_ctx* c, struct zx_wsse_UsernameToken_s* x)
306 {
307   struct zx_elem_s* el = x->gg.kids;
308   switch (el->g.tok) {
309   case zx_wsse_Username_ELEM:
310     if (!x->Username)
311       x->Username = (struct zx_wsse_Username_s*)el;
312     return 1;
313 
314   default: return 0;
315   }
316 }
317 
318 
319 /* EOF -- c/zx-wsse-dec.c */
320