]> git.sur5r.net Git - openldap/blob - contrib/ldapc++/src/TlsOptions.h
use const where appropriate
[openldap] / contrib / ldapc++ / src / TlsOptions.h
1 // $OpenLDAP$
2 /*
3  * Copyright 2010, OpenLDAP Foundation, All Rights Reserved.
4  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5  */
6 #ifndef TLS_OPTIONS_H
7 #define TLS_OPTIONS_H
8 #include <string>
9 #include <ldap.h>
10
11 class TlsOptions {
12     public:
13         enum tls_option {
14             CACERTFILE=0,
15             CACERTDIR,
16             CERTFILE,
17             KEYFILE,
18             REQUIRE_CERT,
19             PROTOCOL_MIN,
20             CIPHER_SUITE,
21             RANDOM_FILE,
22             CRLCHECK,
23             DHFILE,
24             NEWCTX,
25             LASTOPT /* dummy */
26         };
27
28         TlsOptions( LDAP* ld=NULL );
29         void setOption(tls_option opt, const std::string& value) const;
30         void setOption(tls_option opt, int value) const;
31         void setOption(tls_option opt, void *value) const;
32
33         int getIntOption(tls_option opt) const;
34         std::string getStringOption(tls_option opt) const;
35         void getOption(tls_option opt, void *value ) const;
36         
37         enum verifyMode {
38             NEVER=0,
39             HARD,
40             DEMAND,
41             ALLOW,
42             TRY
43         };
44
45         enum crlMode {
46             CRL_NONE=0,
47             CRL_PEER,
48             CRL_ALL
49         };
50
51     private:
52         LDAP *m_ld;        
53 };
54
55 #endif /* TLS_OPTIONS_H */