identt
SecureWebServer.hpp
Go to the documentation of this file.
1 
33 #ifndef _IDENTT_HTTP_SECUREWEBSERVER_HPP_
34 #define _IDENTT_HTTP_SECUREWEBSERVER_HPP_
35 
36 #include "utils/ServerBase.hpp"
37 #include "http/HttpServer.hpp"
38 
39 
40 namespace identt {
41 namespace http {
42 
45  public std::enable_shared_from_this<SecureWebServer> {
46 public:
47  using pointer=std::shared_ptr<SecureWebServer>;
49 
54  SecureWebServer() = delete;
55  SecureWebServer(const SecureWebServer&) = delete;
56  SecureWebServer& operator=(const SecureWebServer&) = delete;
57 
70  static pointer create(boost::asio::io_service& io_service_, identt::utils::SharedTable::pointer stptr)
71  {
72  pointer p(new SecureWebServer(io_service_,stptr));
73  return p;
74  }
75 
82  pointer share()
83  {
84  return shared_from_this();
85  }
86 
90  virtual ~SecureWebServer ();
91 
101  void init(identt::utils::ServerBase::ParamsListT params);
102 
109  const static std::string GetSection();
110 
117  const static identt::utils::ServerBase::ParamsListT GetRequire();
118 
125  void stop();
126 
127 protected:
128  std::shared_ptr<HttpServerT> server;
129  boost::asio::io_service& io_service;
130 
131 private:
132  bool is_init;
133 
144  SecureWebServer(boost::asio::io_service& io_service, identt::utils::SharedTable::pointer stptr);
145 
146 };
147 } // namespace http
148 } // namespace identt
149 #endif /* _IDENTT_HTTP_SECUREWEBSERVER_HPP_ */
Definition: SecureWebServer.hpp:43
static pointer create(boost::asio::io_service &io_service_, identt::utils::SharedTable::pointer stptr)
create : static construction creates new first time
Definition: SecureWebServer.hpp:70
void stop()
stop : shutdown
Definition: SecureWebServer.cc:80
pointer share()
share : return instance
Definition: SecureWebServer.hpp:82
Definition: CryptoBase.hpp:49
SecureWebServer()=delete
make noncopyable
virtual ~SecureWebServer()
destructor
Definition: SecureWebServer.cc:46
static const identt::utils::ServerBase::ParamsListT GetRequire()
GetRequire : parameters required.
Definition: SecureWebServer.cc:56
void init(identt::utils::ServerBase::ParamsListT params)
init : initialize
Definition: SecureWebServer.cc:61
Definition: HttpServer.hpp:42
Definition: ServerBase.hpp:46
static const std::string GetSection()
GetSection : section required.
Definition: SecureWebServer.cc:51