1/*
2 *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11#if HAVE_CONFIG_H
12#include "config.h"
13#endif  // HAVE_CONFIG_H
14
15#include "webrtc/base/ssladapter.h"
16
17#include "webrtc/base/sslconfig.h"
18
19#if SSL_USE_OPENSSL
20
21#include "openssladapter.h"
22
23#endif
24
25///////////////////////////////////////////////////////////////////////////////
26
27namespace rtc {
28
29SSLAdapter*
30SSLAdapter::Create(AsyncSocket* socket) {
31#if SSL_USE_OPENSSL
32  return new OpenSSLAdapter(socket);
33#else  // !SSL_USE_OPENSSL
34  delete socket;
35  return NULL;
36#endif  // SSL_USE_OPENSSL
37}
38
39///////////////////////////////////////////////////////////////////////////////
40
41#if SSL_USE_OPENSSL
42
43bool InitializeSSL(VerificationCallback callback) {
44  return OpenSSLAdapter::InitializeSSL(callback);
45}
46
47bool InitializeSSLThread() {
48  return OpenSSLAdapter::InitializeSSLThread();
49}
50
51bool CleanupSSL() {
52  return OpenSSLAdapter::CleanupSSL();
53}
54
55#else  // !SSL_USE_OPENSSL
56
57bool InitializeSSL(VerificationCallback callback) {
58  return true;
59}
60
61bool InitializeSSLThread() {
62  return true;
63}
64
65bool CleanupSSL() {
66  return true;
67}
68
69#endif  // SSL_USE_OPENSSL
70
71///////////////////////////////////////////////////////////////////////////////
72
73}  // namespace rtc
74