81b558ae14d41e358f0213c4dbebd146bb798357
[shibboleth/cpp-opensaml.git] / saml / util / SAMLConstants.h
1 /*
2  *  Copyright 2001-2006 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 namespace opensaml {
29     
30     /**
31      * SAML related constants.
32      */
33     struct SAML_API SAMLConstants : public xmltooling::XMLConstants
34     {
35         /**  Liberty PAOS XML Namespace ("urn:liberty:paos:2003-08") */
36         static const XMLCh PAOS_NS[];
37         
38         /**  Liberty PAOS QName prefix ("paos") */
39         static const XMLCh PAOS_PREFIX[];
40     
41         /**  SAML 1.X Assertion XML namespace ("urn:oasis:names:tc:SAML:1.0:assertion") */
42         static const XMLCh SAML1_NS[];
43
44         /**  SAML 1.X Protocol XML namespace ("urn:oasis:names:tc:SAML:1.0:protocol") */
45         static const XMLCh SAML1P_NS[];
46         
47         /** SAML 1.X Assertion QName prefix ("saml") */
48         static const XMLCh SAML1_PREFIX[];
49     
50         /** SAML 1.X Protocol QName prefix ("samlp") */
51         static const XMLCh SAML1P_PREFIX[];
52         
53         /**  SAML 2.0 Version ("2.0") */
54         static const XMLCh SAML20_VERSION[];
55         
56         /**  SAML 2.0 Assertion XML namespace ("urn:oasis:names:tc:SAML:2.0:assertion") */
57         static const XMLCh SAML20_NS[];
58
59         /**  SAML 2.0 Protocol XML namespace ("urn:oasis:names:tc:SAML:2.0:protocol") */
60         static const XMLCh SAML20P_NS[];
61
62         /**  SAML 2.0 Metadata XML namespace ("urn:oasis:names:tc:SAML:2.0:metadata") */
63         static const XMLCh SAML20MD_NS[];
64
65         /**  SAML 2.0 AuthnContext XML namespace ("urn:oasis:names:tc:SAML:2.0:ac") */
66         static const XMLCh SAML20AC_NS[];
67         
68         /** SAML 2.0 Assertion QName prefix ("saml") */
69         static const XMLCh SAML20_PREFIX[];
70     
71         /** SAML 2.0 Protocol QName prefix ("samlp") */
72         static const XMLCh SAML20P_PREFIX[];
73
74         /** SAML 2.0 Metadata QName prefix ("md") */
75         static const XMLCh SAML20MD_PREFIX[];
76
77         /** SAML 2.0 AuthnContext QName prefix ("ac") */
78         static const XMLCh SAML20AC_PREFIX[];
79
80         /** SAML 2.0 Enhanced Client/Proxy SSO Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp") */
81         static const XMLCh SAML20ECP_NS[];
82         
83         /** SAML 2.0 Enhanced Client/Proxy SSO Profile QName prefix ("ecp") */
84         static const XMLCh SAML20ECP_PREFIX[];
85     
86         /** SAML 2.0 DCE PAC Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE") */
87         static const XMLCh SAML20DCE_NS[];
88         
89         /** SAML 2.0 DCE PAC Attribute Profile QName prefix ("DCE") */
90         static const XMLCh SAML20DCE_PREFIX[];
91     
92         /** SAML 2.0 X.500 Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500") */
93         static const XMLCh SAML20X500_NS[];
94         
95         /** SAML 2.0 X.500 Attribute Profile QName prefix ("x500") */
96         static const XMLCh SAML20X500_PREFIX[];
97     
98         /** SAML 2.0 XACML Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:XACML") */
99         static const XMLCh SAML20XACML_NS[];
100         
101         /** SAML 2.0 XACML Attribute Profile QName prefix ("xacmlprof") */
102         static const XMLCh SAML20XACML_PREFIX[];
103
104         /** SAML 1.x Metadata Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:v1metadata") */
105         static const XMLCh SAML1MD_NS[];
106         
107         /** SAML 1.x Metadata Profile QName prefix ("saml1md") */
108         static const XMLCh SAML1MD_PREFIX[];
109
110         /** SAML 1.0 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.0:protocol") */
111         #define SAML10_PROTOCOL_ENUM SAML1P_NS
112         
113         /** SAML 1.1 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.1:protocol") */
114         static const XMLCh SAML11_PROTOCOL_ENUM[];
115
116         /** SAML Query Requester Metadata Extension XML Namespace ("urn:oasis:names:tc:SAML:metadata:ext:query") */
117         static const XMLCh SAML20MD_QUERY_EXT_NS[];
118         
119         /** SAML Query Requester Metadata Extension QName prefix ("query") */
120         static const XMLCh SAML20MD_QUERY_EXT_PREFIX[];
121
122         /** SAML Third-Party Request Protocol Extension XML Namespace ("urn:oasis:names:tc:SAML:protocol:ext:third-party") */
123         static const XMLCh SAML20P_THIRDPARTY_EXT_NS[];
124         
125         /** SAML Third-Party Request Protocol Extension QName prefix ("query") */
126         static const XMLCh SAML20P_THIRDPARTY_EXT_PREFIX[];
127
128         /** SAML 1.x Browser Artifact profile ("urn:oasis:names:tc:SAML:1.0:profiles:artifact-01")*/
129         static const char SAML1_PROFILE_BROWSER_ARTIFACT[];
130     
131         /** SAML 1.x Browser POST profile ("urn:oasis:names:tc:SAML:1.0:profiles:browser-post") */
132         static const char SAML1_PROFILE_BROWSER_POST[];
133         
134         /** SAML 2.0 HTTP-Artifact binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact") */
135         static const char SAML20_BINDING_HTTP_ARTIFACT[];
136     
137         /** SAML 2.0 HTTP-POST binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST") */
138         static const char SAML20_BINDING_HTTP_POST[];
139
140         /** SAML 2.0 HTTP-Redirect binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect") */
141         static const char SAML20_BINDING_HTTP_REDIRECT[];
142     };
143
144 };
145
146 #endif /* __saml_xmlconstants_h__ */