Add XML objects for DelegationRestriction and EntityAttributes extensions.
[shibboleth/cpp-opensaml.git] / saml / util / SAMLConstants.h
1 /*
2  *  Copyright 2001-2009 Internet2
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /**
18  * @file saml/util/SAMLConstants.h
19  *
20  * SAML XML namespace constants
21  */
22
23 #ifndef __saml_xmlconstants_h__
24 #define __saml_xmlconstants_h__
25
26 #include <xmltooling/util/XMLConstants.h>
27
28 /**
29  * SAML related constants.
30  */
31 namespace samlconstants {
32
33     /**  Liberty PAOS XML Namespace ("urn:liberty:paos:2003-08") */
34     extern SAML_API const XMLCh PAOS_NS[];
35
36     /**  Liberty PAOS QName prefix ("paos") */
37     extern SAML_API const XMLCh PAOS_PREFIX[];
38
39     /**  SAML 1.X Assertion XML namespace ("urn:oasis:names:tc:SAML:1.0:assertion") */
40     extern SAML_API const XMLCh SAML1_NS[];
41
42     /**  SAML 1.X Protocol XML namespace ("urn:oasis:names:tc:SAML:1.0:protocol") */
43     extern SAML_API const XMLCh SAML1P_NS[];
44
45     /** SAML 1.X Assertion QName prefix ("saml") */
46     extern SAML_API const XMLCh SAML1_PREFIX[];
47
48     /** SAML 1.X Protocol QName prefix ("samlp") */
49     extern SAML_API const XMLCh SAML1P_PREFIX[];
50
51     /**  SAML 2.0 Version ("2.0") */
52     extern SAML_API const XMLCh SAML20_VERSION[];
53
54     /**  SAML 2.0 Assertion XML namespace ("urn:oasis:names:tc:SAML:2.0:assertion") */
55     extern SAML_API const XMLCh SAML20_NS[];
56
57     /**  SAML 2.0 Protocol XML namespace ("urn:oasis:names:tc:SAML:2.0:protocol") */
58     extern SAML_API const XMLCh SAML20P_NS[];
59
60     /**  SAML 2.0 Metadata XML namespace ("urn:oasis:names:tc:SAML:2.0:metadata") */
61     extern SAML_API const XMLCh SAML20MD_NS[];
62
63     /**  SAML 2.0 AuthnContext XML namespace ("urn:oasis:names:tc:SAML:2.0:ac") */
64     extern SAML_API const XMLCh SAML20AC_NS[];
65
66     /** SAML 2.0 Assertion QName prefix ("saml") */
67     extern SAML_API const XMLCh SAML20_PREFIX[];
68
69     /** SAML 2.0 Protocol QName prefix ("samlp") */
70     extern SAML_API const XMLCh SAML20P_PREFIX[];
71
72     /** SAML 2.0 Metadata QName prefix ("md") */
73     extern SAML_API const XMLCh SAML20MD_PREFIX[];
74
75     /** SAML 2.0 AuthnContext QName prefix ("ac") */
76     extern SAML_API const XMLCh SAML20AC_PREFIX[];
77
78     /** SAML 2.0 Enhanced Client/Proxy SSO Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp") */
79     extern SAML_API const XMLCh SAML20ECP_NS[];
80
81     /** SAML 2.0 Enhanced Client/Proxy SSO Profile QName prefix ("ecp") */
82     extern SAML_API const XMLCh SAML20ECP_PREFIX[];
83
84     /** SAML 2.0 DCE PAC Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE") */
85     extern SAML_API const XMLCh SAML20DCE_NS[];
86
87     /** SAML 2.0 DCE PAC Attribute Profile QName prefix ("DCE") */
88     extern SAML_API const XMLCh SAML20DCE_PREFIX[];
89
90     /** SAML 2.0 X.500 Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500") */
91     extern SAML_API const XMLCh SAML20X500_NS[];
92
93     /** SAML 2.0 X.500 Attribute Profile QName prefix ("x500") */
94     extern SAML_API const XMLCh SAML20X500_PREFIX[];
95
96     /** SAML 2.0 XACML Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:XACML") */
97     extern SAML_API const XMLCh SAML20XACML_NS[];
98
99     /** SAML 2.0 XACML Attribute Profile QName prefix ("xacmlprof") */
100     extern SAML_API const XMLCh SAML20XACML_PREFIX[];
101
102     /** SAML 1.x Metadata Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:v1metadata") */
103     extern SAML_API const XMLCh SAML1MD_NS[];
104
105     /** SAML 1.x Metadata Profile QName prefix ("saml1md") */
106     extern SAML_API const XMLCh SAML1MD_PREFIX[];
107
108     /** SAML 1.0 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.0:protocol") */
109     extern SAML_API const XMLCh SAML10_PROTOCOL_ENUM[];
110
111     /** SAML 1.1 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.1:protocol") */
112     extern SAML_API const XMLCh SAML11_PROTOCOL_ENUM[];
113
114     /** SAML Query Requester Metadata Extension XML Namespace ("urn:oasis:names:tc:SAML:metadata:ext:query") */
115     extern SAML_API const XMLCh SAML20MD_QUERY_EXT_NS[];
116
117     /** SAML Query Requester Metadata Extension QName prefix ("query") */
118     extern SAML_API const XMLCh SAML20MD_QUERY_EXT_PREFIX[];
119
120     /** SAML Third-Party Request Protocol Extension XML Namespace ("urn:oasis:names:tc:SAML:protocol:ext:third-party") */
121     extern SAML_API const XMLCh SAML20P_THIRDPARTY_EXT_NS[];
122
123     /** SAML Third-Party Request Protocol Extension QName prefix ("thrpty") */
124     extern SAML_API const XMLCh SAML20P_THIRDPARTY_EXT_PREFIX[];
125
126     /** SAML Attribute Extension XML Namespace ("urn:oasis:names:tc:SAML:attribute:ext") */
127     extern SAML_API const XMLCh SAML20_ATTRIBUTE_EXT_NS[];
128
129     /** SAML Attribute Extension QName prefix ("ext") */
130     extern SAML_API const XMLCh SAML20_ATTRIBUTE_EXT_PREFIX[];
131
132     /** SAML Metadata Extension for Entity Attributes XML Namespace ("urn:oasis:names:tc:SAML:metadata:attribute") */
133     extern SAML_API const XMLCh SAML20MD_ENTITY_ATTRIBUTE_NS[];
134
135     /** SAML Metadata Extension for Entity Attributes QName prefix ("mdattr") */
136     extern SAML_API const XMLCh SAML20MD_ENTITY_ATTRIBUTE_PREFIX[];
137
138     /** SAML Condition for Delegation Restriction XML Namespace ("urn:oasis:names:tc:SAML:2.0:conditions:delegation") */
139     extern SAML_API const XMLCh SAML20_DELEGATION_CONDITION_NS[];
140
141     /** SAML Condition for Delegation Restriction QName prefix ("del") */
142     extern SAML_API const XMLCh SAML20_DELEGATION_CONDITION_PREFIX[];
143
144     /** SAML 1.x SOAP binding ("urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding") */
145     extern SAML_API const char SAML1_BINDING_SOAP[];
146
147     /** SAML 1.x Browser Artifact profile ("urn:oasis:names:tc:SAML:1.0:profiles:artifact-01") */
148     extern SAML_API const char SAML1_PROFILE_BROWSER_ARTIFACT[];
149
150     /** SAML 1.x Browser POST profile ("urn:oasis:names:tc:SAML:1.0:profiles:browser-post") */
151     extern SAML_API const char SAML1_PROFILE_BROWSER_POST[];
152
153     /** SAML 2.0 SOAP binding ("urn:oasis:names:tc:SAML:2.0:bindings:SOAP") */
154     extern SAML_API const char SAML20_BINDING_SOAP[];
155
156     /** SAML 2.0 PAOS binding ("urn:oasis:names:tc:SAML:2.0:bindings:PAOS") */
157     extern SAML_API const char SAML20_BINDING_PAOS[];
158
159     /** SAML 2.0 URI binding ("urn:oasis:names:tc:SAML:2.0:bindings:URI") */
160     extern SAML_API const char SAML20_BINDING_URI[];
161
162     /** SAML 2.0 HTTP-Artifact binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact") */
163     extern SAML_API const char SAML20_BINDING_HTTP_ARTIFACT[];
164
165     /** SAML 2.0 HTTP-POST binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST") */
166     extern SAML_API const char SAML20_BINDING_HTTP_POST[];
167
168     /** SAML 2.0 HTTP-POST-SimpleSign binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign") */
169     extern SAML_API const char SAML20_BINDING_HTTP_POST_SIMPLESIGN[];
170
171     /** SAML 2.0 HTTP-Redirect binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect") */
172     extern SAML_API const char SAML20_BINDING_HTTP_REDIRECT[];
173
174     /** SAML 2.0 HTTP-Redirect DEFLATE URL encoding ("urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE") */
175     extern SAML_API const char SAML20_BINDING_URL_ENCODING_DEFLATE[];
176 };
177
178 #endif /* __saml_xmlconstants_h__ */