1 /* c/zx-ecp-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-ecp-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38 
39 
40 
zx_DEC_ATTR_ecp_RelayState(struct zx_ctx * c,struct zx_ecp_RelayState_s * x)41 int zx_DEC_ATTR_ecp_RelayState(struct zx_ctx* c, struct zx_ecp_RelayState_s* x)
42 {
43   switch (x->gg.attr->g.tok) {
44     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
45     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
46 
47   default: return 0;
48   }
49 }
50 
zx_DEC_ELEM_ecp_RelayState(struct zx_ctx * c,struct zx_ecp_RelayState_s * x)51 int zx_DEC_ELEM_ecp_RelayState(struct zx_ctx* c, struct zx_ecp_RelayState_s* x)
52 {
53   struct zx_elem_s* el = x->gg.kids;
54   switch (el->g.tok) {
55 
56   default: return 0;
57   }
58 }
59 
60 
61 
62 
zx_DEC_ATTR_ecp_Request(struct zx_ctx * c,struct zx_ecp_Request_s * x)63 int zx_DEC_ATTR_ecp_Request(struct zx_ctx* c, struct zx_ecp_Request_s* x)
64 {
65   switch (x->gg.attr->g.tok) {
66     case zx_IsPassive_ATTR:  x->IsPassive = x->gg.attr; return 1;
67     case zx_ProviderName_ATTR:  x->ProviderName = x->gg.attr; return 1;
68     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
69     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
70 
71   default: return 0;
72   }
73 }
74 
zx_DEC_ELEM_ecp_Request(struct zx_ctx * c,struct zx_ecp_Request_s * x)75 int zx_DEC_ELEM_ecp_Request(struct zx_ctx* c, struct zx_ecp_Request_s* x)
76 {
77   struct zx_elem_s* el = x->gg.kids;
78   switch (el->g.tok) {
79   case zx_sa_Issuer_ELEM:
80     if (!x->Issuer)
81       x->Issuer = (struct zx_sa_Issuer_s*)el;
82     return 1;
83   case zx_sp_IDPList_ELEM:
84     if (!x->IDPList)
85       x->IDPList = (struct zx_sp_IDPList_s*)el;
86     return 1;
87 
88   default: return 0;
89   }
90 }
91 
92 
93 
94 
zx_DEC_ATTR_ecp_Response(struct zx_ctx * c,struct zx_ecp_Response_s * x)95 int zx_DEC_ATTR_ecp_Response(struct zx_ctx* c, struct zx_ecp_Response_s* x)
96 {
97   switch (x->gg.attr->g.tok) {
98     case zx_AssertionConsumerServiceURL_ATTR:  x->AssertionConsumerServiceURL = x->gg.attr; return 1;
99     case zx_actor_ATTR|zx_e_NS:  x->actor = x->gg.attr; return 1;
100     case zx_mustUnderstand_ATTR|zx_e_NS:  x->mustUnderstand = x->gg.attr; return 1;
101 
102   default: return 0;
103   }
104 }
105 
zx_DEC_ELEM_ecp_Response(struct zx_ctx * c,struct zx_ecp_Response_s * x)106 int zx_DEC_ELEM_ecp_Response(struct zx_ctx* c, struct zx_ecp_Response_s* x)
107 {
108   struct zx_elem_s* el = x->gg.kids;
109   switch (el->g.tok) {
110 
111   default: return 0;
112   }
113 }
114 
115 
116 /* EOF -- c/zx-ecp-dec.c */
117