20f9cc26457d7abf4894f3cd7177848822473552
[shibboleth/cpp-sp.git] / shibsp / util / SPConstants.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 shibsp/util/SPConstants.h
19  * 
20  * Shibboleth SP XML constants. 
21  */
22
23 #ifndef __shibsp_constants_h__
24 #define __shibsp_constants_h__
25
26 #include <shibsp/base.h>
27 #include <xercesc/util/XercesDefs.hpp>
28
29 /**
30  * Shibboleth SP XML constants.
31  */
32 namespace shibspconstants {
33
34     /**  Shibboleth Metadata XML namespace ("urn:mace:shibboleth:metadata:1.0") */
35     extern SHIBSP_API const XMLCh SHIBMD_NS[];
36
37     /** Shibboleth Metadata QName prefix ("shibmd") */
38     extern SHIBSP_API const XMLCh SHIBMD_PREFIX[];
39
40     /** Shibboleth 2.0 SP configuration namespace ("urn:mace:shibboleth:2.0:native:sp:config") */
41     extern SHIBSP_API const XMLCh SHIB2SPCONFIG_NS[];
42
43     /** Shibboleth 2.0 attribute mapping namespace ("urn:mace:shibboleth:2.0:attribute-map") */
44     extern SHIBSP_API const XMLCh SHIB2ATTRIBUTEMAP_NS[];
45
46     /** Shibboleth 2.0 notification namespace ("urn:mace:shibboleth:2.0:sp:notify") */
47     extern SHIBSP_API const XMLCh SHIB2SPNOTIFY_NS[];
48
49     /** Shibboleth 2.0 attribute filter policy namespace ("urn:mace:shibboleth:2.0:afp") */
50     extern SHIBSP_API const XMLCh SHIB2ATTRIBUTEFILTER_NS[];
51
52     /** Shibboleth 2.0 basic matching function namespace ("urn:mace:shibboleth:2.0:afp:mf:basic") */
53     extern SHIBSP_API const XMLCh SHIB2ATTRIBUTEFILTER_MF_BASIC_NS[];
54
55     /** Shibboleth 2.0 SAML matching function namespace ("urn:mace:shibboleth:2.0:afp:mf:saml") */
56     extern SHIBSP_API const XMLCh SHIB2ATTRIBUTEFILTER_MF_SAML_NS[];
57
58     /** Shibboleth 1.x Protocol Enumeration constant ("urn:mace:shibboleth:1.0") */
59     extern SHIBSP_API const XMLCh SHIB1_PROTOCOL_ENUM[];
60
61     /** Shibboleth 1.x URI AttributeNamespace constant ("urn:mace:shibboleth:1.0:attributeNamespace:uri") */
62     extern SHIBSP_API const XMLCh SHIB1_ATTRIBUTE_NAMESPACE_URI[];
63
64     /** Shibboleth 1.x transient NameIdentifier Format constant ("urn:mace:shibboleth:1.0:nameIdentifier") */
65     extern SHIBSP_API const XMLCh SHIB1_NAMEID_FORMAT_URI[];
66
67     /** Shibboleth 1.x AuthnRequest binding/profile ("urn:mace:shibboleth:1.0:profiles:AuthnRequest") */
68     extern SHIBSP_API const XMLCh SHIB1_AUTHNREQUEST_PROFILE_URI[];
69
70     /** Shibboleth 1.3 SessionInit binding/profile ("urn:mace:shibboleth:sp:1.3:SessionInit") */
71     extern SHIBSP_API const char SHIB1_SESSIONINIT_PROFILE_URI[];
72
73     /** Shibboleth 1.3 Local Logout binding/profile ("urn:mace:shibboleth:sp:1.3:Logout") */
74     extern SHIBSP_API const char SHIB1_LOGOUT_PROFILE_URI[];
75     
76     /** Shibboleth 2.0 SP configuration namespace ("urn:mace:shibboleth:2.0:native:sp:config") */
77     extern SHIBSP_API const char ASCII_SHIB2SPCONFIG_NS[];
78 };
79
80 #endif /* __shibsp_constants_h__ */