1 /* c/zx-xaspcd1-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-xaspcd1-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38
39
40
zx_DEC_ATTR_xaspcd1_XACMLAuthzDecisionQuery(struct zx_ctx * c,struct zx_xaspcd1_XACMLAuthzDecisionQuery_s * x)41 int zx_DEC_ATTR_xaspcd1_XACMLAuthzDecisionQuery(struct zx_ctx* c, struct zx_xaspcd1_XACMLAuthzDecisionQuery_s* x)
42 {
43 switch (x->gg.attr->g.tok) {
44 case zx_CombinePolicies_ATTR: x->CombinePolicies = x->gg.attr; return 1;
45 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
46 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
47 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
48 case zx_InputContextOnly_ATTR: x->InputContextOnly = x->gg.attr; return 1;
49 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
50 case zx_ReturnContext_ATTR: x->ReturnContext = x->gg.attr; return 1;
51 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
52
53 default: return 0;
54 }
55 }
56
zx_DEC_ELEM_xaspcd1_XACMLAuthzDecisionQuery(struct zx_ctx * c,struct zx_xaspcd1_XACMLAuthzDecisionQuery_s * x)57 int zx_DEC_ELEM_xaspcd1_XACMLAuthzDecisionQuery(struct zx_ctx* c, struct zx_xaspcd1_XACMLAuthzDecisionQuery_s* x)
58 {
59 struct zx_elem_s* el = x->gg.kids;
60 switch (el->g.tok) {
61 case zx_sa_Issuer_ELEM:
62 if (!x->Issuer)
63 x->Issuer = (struct zx_sa_Issuer_s*)el;
64 return 1;
65 case zx_ds_Signature_ELEM:
66 if (!x->Signature)
67 x->Signature = (struct zx_ds_Signature_s*)el;
68 return 1;
69 case zx_sp_Extensions_ELEM:
70 if (!x->Extensions)
71 x->Extensions = (struct zx_sp_Extensions_s*)el;
72 return 1;
73 case zx_xac_Request_ELEM:
74 if (!x->Request)
75 x->Request = (struct zx_xac_Request_s*)el;
76 return 1;
77 case zx_xa_Policy_ELEM:
78 if (!x->Policy)
79 x->Policy = (struct zx_xa_Policy_s*)el;
80 return 1;
81 case zx_xa_PolicySet_ELEM:
82 if (!x->PolicySet)
83 x->PolicySet = (struct zx_xa_PolicySet_s*)el;
84 return 1;
85 case zx_xasacd1_ReferencedPolicies_ELEM:
86 if (!x->ReferencedPolicies)
87 x->ReferencedPolicies = (struct zx_xasacd1_ReferencedPolicies_s*)el;
88 return 1;
89
90 default: return 0;
91 }
92 }
93
94
95
96
zx_DEC_ATTR_xaspcd1_XACMLPolicyQuery(struct zx_ctx * c,struct zx_xaspcd1_XACMLPolicyQuery_s * x)97 int zx_DEC_ATTR_xaspcd1_XACMLPolicyQuery(struct zx_ctx* c, struct zx_xaspcd1_XACMLPolicyQuery_s* x)
98 {
99 switch (x->gg.attr->g.tok) {
100 case zx_Consent_ATTR: x->Consent = x->gg.attr; return 1;
101 case zx_Destination_ATTR: x->Destination = x->gg.attr; return 1;
102 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
103 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
104 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
105
106 default: return 0;
107 }
108 }
109
zx_DEC_ELEM_xaspcd1_XACMLPolicyQuery(struct zx_ctx * c,struct zx_xaspcd1_XACMLPolicyQuery_s * x)110 int zx_DEC_ELEM_xaspcd1_XACMLPolicyQuery(struct zx_ctx* c, struct zx_xaspcd1_XACMLPolicyQuery_s* x)
111 {
112 struct zx_elem_s* el = x->gg.kids;
113 switch (el->g.tok) {
114 case zx_sa_Issuer_ELEM:
115 if (!x->Issuer)
116 x->Issuer = (struct zx_sa_Issuer_s*)el;
117 return 1;
118 case zx_ds_Signature_ELEM:
119 if (!x->Signature)
120 x->Signature = (struct zx_ds_Signature_s*)el;
121 return 1;
122 case zx_sp_Extensions_ELEM:
123 if (!x->Extensions)
124 x->Extensions = (struct zx_sp_Extensions_s*)el;
125 return 1;
126 case zx_xac_Request_ELEM:
127 if (!x->Request)
128 x->Request = (struct zx_xac_Request_s*)el;
129 return 1;
130 case zx_xa_Target_ELEM:
131 if (!x->Target)
132 x->Target = (struct zx_xa_Target_s*)el;
133 return 1;
134 case zx_xa_PolicySetIdReference_ELEM:
135 if (!x->PolicySetIdReference)
136 x->PolicySetIdReference = (struct zx_xa_PolicySetIdReference_s*)el;
137 return 1;
138 case zx_xa_PolicyIdReference_ELEM:
139 if (!x->PolicyIdReference)
140 x->PolicyIdReference = (struct zx_xa_PolicyIdReference_s*)el;
141 return 1;
142
143 default: return 0;
144 }
145 }
146
147
148 /* EOF -- c/zx-xaspcd1-dec.c */
149