activemq-cpp-3.8.2
OpenSSLContextSpi.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#ifndef _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLCONTEXTSPI_H_
19
#define _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLCONTEXTSPI_H_
20
21
#include <
decaf/util/Config.h
>
22
23
#include <
decaf/net/ssl/SSLContextSpi.h
>
24
25
namespace
decaf
{
26
namespace
internal {
27
namespace
net {
28
namespace
ssl {
29
namespace
openssl {
30
31
class
ContextData;
32
38
class
DECAF_API
OpenSSLContextSpi
:
public
decaf::net::ssl::SSLContextSpi
{
39
private
:
40
41
ContextData* data;
42
43
private
:
44
45
OpenSSLContextSpi
(
const
OpenSSLContextSpi
& );
46
OpenSSLContextSpi
& operator= (
const
OpenSSLContextSpi
& );
47
48
public
:
49
50
OpenSSLContextSpi
();
51
52
virtual
~
OpenSSLContextSpi
();
53
57
virtual
void
providerInit(
security::SecureRandom
* random );
58
62
virtual
decaf::net::SocketFactory
* providerGetSocketFactory();
63
67
virtual
decaf::net::ServerSocketFactory
* providerGetServerSocketFactory();
68
69
private
:
70
71
friend
class
OpenSSLSocket
;
72
friend
class
OpenSSLSocketFactory
;
73
74
std::vector<std::string> getDefaultCipherSuites();
75
std::vector<std::string> getSupportedCipherSuites();
76
void
* getOpenSSLCtx();
77
78
};
79
80
}}}}}
81
82
#endif
/* _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLCONTEXTSPI_H_ */
decaf::net::SocketFactory
The SocketFactory is used to create Socket objects and can be sub-classed to provide other types of S...
Definition:
SocketFactory.h:39
SSLContextSpi.h
decaf::internal::net::ssl::openssl::OpenSSLSocketFactory
Client Socket Factory that creates SSL based client sockets using the OpenSSL library.
Definition:
OpenSSLSocketFactory.h:38
Config.h
decaf::net::ssl::SSLContextSpi
Defines the interface that should be provided by an SSLContext provider.
Definition:
SSLContextSpi.h:40
decaf::internal::net::ssl::openssl::OpenSSLSocket
Wraps a a Normal Socket object and extends or overrides functions in that class to make use of the Op...
Definition:
OpenSSLSocket.h:43
decaf::internal::net::ssl::openssl::OpenSSLContextSpi
Provides an SSLContext that wraps the OpenSSL API.
Definition:
OpenSSLContextSpi.h:38
DECAF_API
#define DECAF_API
Definition:
Config.h:29
decaf::security::SecureRandom
Definition:
SecureRandom.h:34
decaf::net::ServerSocketFactory
Class used to create Server Sockets, subclasses can be created that create certain types of server so...
Definition:
ServerSocketFactory.h:35
decaf
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition:
AprPool.h:25
src
main
decaf
internal
net
ssl
openssl
OpenSSLContextSpi.h
Generated by
1.8.13