E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

gssl_use_both.cpp
Go to the documentation of this file.
1 //
2 // Copyright (C) 2001-2018 Graeme Walker <graeme_walker@users.sourceforge.net>
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 // ===
17 //
18 // gssl_use_both.cpp
19 //
20
21 #include "gdef.h"
22 #include "gssl.h"
23 #include "gssl_openssl.h"
24 #include "gssl_mbedtls.h"
25 #include "gtest.h"
26
27 GSsl::LibraryImpBase * GSsl::Library::newLibraryImp( G::StringArray & library_config , Library::LogFn log_fn , bool verbose )
28 {
29 if( LibraryImpBase::consume(library_config,"mbedtls") || G::Test::enabled("ssl-use-mbedtls") )
30 {
31 return new MbedTls::LibraryImp( library_config , log_fn , verbose ) ;
32 }
33 else
34 {
35 LibraryImpBase::consume( library_config , "openssl" ) ;
36 return new OpenSSL::LibraryImp( library_config , log_fn , verbose ) ;
37 }
38 }
39
40 std::string GSsl::Library::credit( const std::string & prefix , const std::string & eol , const std::string & eot )
41 {
42 return
43 OpenSSL::LibraryImp::credit( prefix , eol , eol ) +
44 MbedTls::LibraryImp::credit( prefix , eol , eot ) ;
45 }
46
47 std::string GSsl::Library::ids()
48 {
49 return OpenSSL::LibraryImp::sid() + ", " + MbedTls::LibraryImp::sid() ;
50 }
51
52 /// \file gssl_use_both.cpp
gssl.h
An interface to an underlying TLS library.
gssl_openssl.h
G::StringArray
std::vector< std::string > StringArray
A std::vector of std::strings.
Definition: gstrings.h:33
gtest.h
G::Test::enabled
static bool enabled()
Returns true if test features are enabled.
Definition: gtest.cpp:69
GSsl::LibraryImpBase::consume
static bool consume(G::StringArray &list, const std::string &item)
A convenience function that removes the item from the list and returns true iff is was removed...
Definition: gssl.cpp:259
GSsl::LibraryImpBase
A base interface for GSsl::Library pimple classes.
Definition: gssl.h:358
GSsl::Library::credit
static std::string credit(const std::string &prefix, const std::string &eol, const std::string &eot)
Returns a multi-line library credit for all available TLS libraries.
Definition: gssl_none.cpp:84
GSsl::Library::ids
static std::string ids()
Returns a concatenation of all available TLS library names and versions.
Definition: gssl_none.cpp:89
gssl_mbedtls.h