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