Skip to content

Commit e579e4a

Browse files
committed
Use smart pointer to create a server or ssl server
1 parent eaed27a commit e579e4a

File tree

4 files changed

+8
-11
lines changed

4 files changed

+8
-11
lines changed

webserver/cWebem.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,7 @@ cWebem::cWebem(
5959
}
6060

6161
cWebem::~cWebem() {
62-
// Delete server
63-
if (myServer) {
64-
delete myServer;
65-
}
62+
// Delete server (no need with smart pointer)
6663
}
6764

6865
/**

webserver/cWebem.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ namespace http {
226226
/// store map between pages and application functions
227227
std::map < std::string, webem_page_function > myPages_w;
228228
/// boost::asio web server (RK: plain or secure)
229-
server_base* myServer;
229+
boost::shared_ptr<server_base> myServer;
230230
// actual theme selected
231231
std::string m_actTheme;
232232
// root of url for reverse proxy servers

webserver/server.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,18 +211,18 @@ std::string ssl_server::get_passphrase() const {
211211
}
212212
#endif
213213

214-
server_base * server_factory::create(const server_settings & settings, request_handler & user_request_handler) {
214+
boost::shared_ptr<server_base> server_factory::create(const server_settings & settings, request_handler & user_request_handler) {
215215
#ifdef WWW_ENABLE_SSL
216216
if (settings.is_secure()) {
217217
return create(dynamic_cast<ssl_server_settings const &>(settings), user_request_handler);
218218
}
219219
#endif
220-
return new server(settings, user_request_handler);
220+
return boost::shared_ptr<server_base>(new server(settings, user_request_handler));
221221
}
222222

223223
#ifdef WWW_ENABLE_SSL
224-
server_base * server_factory::create(const ssl_server_settings & ssl_settings, request_handler & user_request_handler) {
225-
return new ssl_server(ssl_settings, user_request_handler);
224+
boost::shared_ptr<server_base> server_factory::create(const ssl_server_settings & ssl_settings, request_handler & user_request_handler) {
225+
return boost::shared_ptr<server_base>(new ssl_server(ssl_settings, user_request_handler));
226226
}
227227
#endif
228228

webserver/server.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,10 @@ class ssl_server : public server_base {
119119
/// server factory
120120
class server_factory {
121121
public:
122-
static server_base * create(const server_settings & settings, request_handler & user_request_handler);
122+
static boost::shared_ptr<server_base> create(const server_settings & settings, request_handler & user_request_handler);
123123

124124
#ifdef WWW_ENABLE_SSL
125-
static server_base * create(const ssl_server_settings & ssl_settings, request_handler & user_request_handler);
125+
static boost::shared_ptr<server_base> create(const ssl_server_settings & ssl_settings, request_handler & user_request_handler);
126126
#endif
127127
};
128128

0 commit comments

Comments
 (0)