dodo  0.0.1
A C++ library to create containerized Linux services
network.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of the dodo library (https://github.com/jmspit/dodo).
3  * Copyright (c) 2019 Jan-Marten Spit.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, version 3.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * 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 /**
19  * @file network.hpp
20  * Includes network headers and implements network::initLibrary() and network::closeLibrary().
21  */
22 
23 #ifndef network_network_hpp
24 #define network_network_hpp
25 
26 #include "network/address.hpp"
27 #include "network/basesocket.hpp"
30 #include "network/socket.hpp"
31 #include "network/tcplistener.hpp"
32 #include "network/tcpserver.hpp"
33 #include "network/tlscontext.hpp"
34 #include "network/tlssocket.hpp"
35 #include "network/uri.hpp"
36 #include "network/x509cert.hpp"
37 
38 namespace dodo {
39 
40  /**
41  * Interface for network communication. See @ref developer_networking for details.
42  */
43  namespace network {
44 
45  /**
46  * Initialize the dodo::network library.
47  */
48  void initLibrary() {
49  OPENSSL_init_crypto( 0, nullptr );
50  OPENSSL_init_ssl( 0, nullptr );
51 
52  //SSL_load_error_strings();
53  //SSL_library_init();
54  //OpenSSL_add_all_algorithms();
55  //OPENSSL_cpuid_setup();
56  //OpenSSL_add_all_ciphers();
57  //OpenSSL_add_all_digests();
58  }
59 
60  /**
61  * Close the dodo::network library.
62  */
63  void closeLibrary() {
64  //ERR_free_strings();
65  OPENSSL_cleanup();
66  }
67 
68  /**
69  * Application layer protocols.
70  */
71  namespace protocol {
72 
73  /**
74  * The HTTP 1.1 protocol
75  */
76  namespace http {
77  }
78 
79  /**
80  * The STOMP 1.2 protocol (earlier versions not supported).
81  */
82  namespace stomp {
83  }
84  }
85 
86  }
87 
88 }
89 
90 #endif
tlscontext.hpp
stomp.hpp
dodo::network::initLibrary
void initLibrary()
Initialize the dodo::network library.
Definition: network.hpp:48
dodo::network::closeLibrary
void closeLibrary()
Close the dodo::network library.
Definition: network.hpp:63
tlssocket.hpp
dodo
A C++ platform interface to lean Linux services tailored for containerized deployment.
Definition: application.hpp:29
address.hpp
http.hpp
socket.hpp
x509cert.hpp
uri.hpp
tcpserver.hpp
tcplistener.hpp
basesocket.hpp