Next integration phase, metadata and trust conversion.
[shibboleth/cpp-sp.git] / xmlproviders / internal.h
1 /*
2  *  Copyright 2001-2005 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 /* internal.h
18
19    Scott Cantor
20    2/14/04
21
22    $History:$
23 */
24
25 #ifndef __internal_h__
26 #define __internal_h__
27
28 #ifdef WIN32
29 # define _CRT_NONSTDC_NO_DEPRECATE 1
30 # define _CRT_SECURE_NO_DEPRECATE 1
31 #endif
32
33 // eventually we might be able to support autoconf via cygwin...
34 #if defined (_MSC_VER) || defined(__BORLANDC__)
35 # include "config_win32.h"
36 #else
37 # include "config.h"
38 #endif
39
40 #include <shib-target/shib-target.h>
41 #include <openssl/ssl.h>
42
43 #define XMLPROVIDERS_LOGCAT "XMLProviders"
44
45 #define SHIB_L(s) ::XML::Literals::s
46 #define SHIB_L_QNAME(p,s) ::XML::Literals::p##_##s
47
48 void log_openssl();
49
50 class XML
51 {
52 public:
53         // URI constants
54     static const XMLCh SHIB_NS[];
55     static const XMLCh SHIB_SCHEMA_ID[];
56     static const XMLCh CREDS_NS[];
57     static const XMLCh CREDS_SCHEMA_ID[];
58
59     struct Literals
60     {
61         // credentials constants
62         static const XMLCh CAPath[];
63         static const XMLCh Certificate[];
64         static const XMLCh Class[];
65         static const XMLCh Credentials[];
66         static const XMLCh CustomResolver[];
67         static const XMLCh Key[];
68         static const XMLCh FileResolver[];
69         static const XMLCh format[];
70         static const XMLCh Id[];
71         static const XMLCh password[];
72         static const XMLCh Path[];
73         
74         // SAML attribute constants
75         static const XMLCh Accept[];
76         static const XMLCh Alias[];
77         static const XMLCh AnyAttribute[];
78         static const XMLCh AnySite[];
79         static const XMLCh AnyValue[];
80         static const XMLCh AttributeAcceptancePolicy[];
81         static const XMLCh AttributeRule[];
82         static const XMLCh CaseSensitive[];
83         static const XMLCh Factory[];
84         static const XMLCh Header[];
85         static const XMLCh Name[];
86         static const XMLCh Namespace[];
87         static const XMLCh Scope[];
88         static const XMLCh Scoped[];
89         static const XMLCh SiteRule[];
90         static const XMLCh Type[];
91         static const XMLCh Value[];
92
93         static const XMLCh literal[];
94         static const XMLCh regexp[];
95         static const XMLCh xpath[];
96
97         static const XMLCh url[];
98         
99         // access control constants
100         static const XMLCh AccessControl[];
101         static const XMLCh AND[];
102         static const XMLCh NOT[];
103         static const XMLCh OR[];
104         static const XMLCh require[];
105         static const XMLCh Rule[];
106     };
107 };
108
109 #endif