Sync up ID attribute handling to latest tooling changes.
[shibboleth/cpp-opensaml.git] / saml / util / SAMLConstants.h
1 /*\r
2  *  Copyright 2001-2006 Internet2\r
3  * \r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 /**\r
18  * @file saml/util/SAMLConstants.h\r
19  * \r
20  * SAML XML namespace constants \r
21  */\r
22 \r
23 #ifndef __saml_xmlconstants_h__\r
24 #define __saml_xmlconstants_h__\r
25 \r
26 #include <xmltooling/util/XMLConstants.h>\r
27 \r
28 namespace opensaml {\r
29     \r
30     /**\r
31      * SAML related constants.\r
32      */\r
33     struct SAML_API SAMLConstants : public xmltooling::XMLConstants\r
34     {\r
35         /**  Liberty PAOS XML Namespace ("urn:liberty:paos:2003-08") */\r
36         static const XMLCh PAOS_NS[];\r
37         \r
38         /**  Liberty PAOS QName prefix ("paos") */\r
39         static const XMLCh PAOS_PREFIX[];\r
40     \r
41         /**  SAML 1.X Assertion XML namespace ("urn:oasis:names:tc:SAML:1.0:assertion") */\r
42         static const XMLCh SAML1_NS[];\r
43 \r
44         /**  SAML 1.X Protocol XML namespace ("urn:oasis:names:tc:SAML:1.0:protocol") */\r
45         static const XMLCh SAML1P_NS[];\r
46         \r
47         /** SAML 1.X Assertion QName prefix ("saml") */\r
48         static const XMLCh SAML1_PREFIX[];\r
49     \r
50         /** SAML 1.X Protocol QName prefix ("samlp") */\r
51         static const XMLCh SAML1P_PREFIX[];\r
52         \r
53         /**  SAML 2.0 Version ("2.0") */\r
54         static const XMLCh SAML20_VERSION[];\r
55         \r
56         /**  SAML 2.0 Assertion XML namespace ("urn:oasis:names:tc:SAML:2.0:assertion") */\r
57         static const XMLCh SAML20_NS[];\r
58 \r
59         /**  SAML 2.0 Protocol XML namespace ("urn:oasis:names:tc:SAML:2.0:protocol") */\r
60         static const XMLCh SAML20P_NS[];\r
61 \r
62         /**  SAML 2.0 Metadata XML namespace ("urn:oasis:names:tc:SAML:2.0:metadata") */\r
63         static const XMLCh SAML20MD_NS[];\r
64 \r
65         /**  SAML 2.0 AuthnContext XML namespace ("urn:oasis:names:tc:SAML:2.0:ac") */\r
66         static const XMLCh SAML20AC_NS[];\r
67         \r
68         /** SAML 2.0 Assertion QName prefix ("saml") */\r
69         static const XMLCh SAML20_PREFIX[];\r
70     \r
71         /** SAML 2.0 Protocol QName prefix ("samlp") */\r
72         static const XMLCh SAML20P_PREFIX[];\r
73 \r
74         /** SAML 2.0 Metadata QName prefix ("md") */\r
75         static const XMLCh SAML20MD_PREFIX[];\r
76 \r
77         /** SAML 2.0 AuthnContext QName prefix ("ac") */\r
78         static const XMLCh SAML20AC_PREFIX[];\r
79 \r
80         /** SAML 2.0 Enhanced Client/Proxy SSO Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp") */\r
81         static const XMLCh SAML20ECP_NS[];\r
82         \r
83         /** SAML 2.0 Enhanced Client/Proxy SSO Profile QName prefix ("ecp") */\r
84         static const XMLCh SAML20ECP_PREFIX[];\r
85     \r
86         /** SAML 2.0 DCE PAC Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE") */\r
87         static const XMLCh SAML20DCE_NS[];\r
88         \r
89         /** SAML 2.0 DCE PAC Attribute Profile QName prefix ("DCE") */\r
90         static const XMLCh SAML20DCE_PREFIX[];\r
91     \r
92         /** SAML 2.0 X.500 Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500") */\r
93         static const XMLCh SAML20X500_NS[];\r
94         \r
95         /** SAML 2.0 X.500 Attribute Profile QName prefix ("x500") */\r
96         static const XMLCh SAML20X500_PREFIX[];\r
97     \r
98         /** SAML 2.0 XACML Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:XACML") */\r
99         static const XMLCh SAML20XACML_NS[];\r
100         \r
101         /** SAML 2.0 XACML Attribute Profile QName prefix ("xacmlprof") */\r
102         static const XMLCh SAML20XACML_PREFIX[];\r
103 \r
104         /** SAML 1.x Metadata Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:v1metadata") */\r
105         static const XMLCh SAML1MD_NS[];\r
106         \r
107         /** SAML 1.x Metadata Profile QName prefix ("saml1md") */\r
108         static const XMLCh SAML1MD_PREFIX[];\r
109 \r
110         /** SAML 1.0 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.0:protocol") */\r
111         #define SAML10_PROTOCOL_ENUM SAML1P_NS\r
112         \r
113         /** SAML 1.1 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.1:protocol") */\r
114         static const XMLCh SAML11_PROTOCOL_ENUM[];\r
115 \r
116         /** SAML Query Requester Metadata Extension XML Namespace ("urn:oasis:names:tc:SAML:metadata:ext:query") */\r
117         static const XMLCh SAML20MD_QUERY_EXT_NS[];\r
118         \r
119         /** SAML Query Requester Metadata Extension QName prefix ("query") */\r
120         static const XMLCh SAML20MD_QUERY_EXT_PREFIX[];\r
121 \r
122         /** SAML Third-Party Request Protocol Extension XML Namespace ("urn:oasis:names:tc:SAML:protocol:ext:third-party") */\r
123         static const XMLCh SAML20P_THIRDPARTY_EXT_NS[];\r
124         \r
125         /** SAML Third-Party Request Protocol Extension QName prefix ("query") */\r
126         static const XMLCh SAML20P_THIRDPARTY_EXT_PREFIX[];\r
127     };\r
128 \r
129 };\r
130 \r
131 #endif /* __saml_xmlconstants_h__ */\r