identt
WebServer.hpp
Go to the documentation of this file.
1 
33 #ifndef _IDENTT_HTTP_WEBSERVER_HPP_
34 #define _IDENTT_HTTP_WEBSERVER_HPP_
35 
36 #include "utils/ServerBase.hpp"
37 #include "http/HttpServer.hpp"
38 
39 
40 namespace identt {
41 namespace http {
42 
43 class WebServer :
45  public std::enable_shared_from_this<WebServer> {
46 public:
47  using pointer=std::shared_ptr<WebServer>;
49 
54  WebServer() = delete;
55  WebServer(const WebServer&) = delete;
56  WebServer& operator=(const WebServer&) = delete;
57 
70  static pointer create(std::shared_ptr<::identt::http::io_whatever> io_whatever_, identt::utils::SharedTable::pointer stptr)
71  {
72  pointer p(new WebServer(io_whatever_,stptr));
73  return p;
74  }
75 
82  pointer share()
83  {
84  return shared_from_this();
85  }
86 
90  virtual ~WebServer ();
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  std::shared_ptr<::identt::http::io_whatever> io_whatever;
130 
131 private:
132  bool is_init;
133 
144  WebServer(std::shared_ptr<::identt::http::io_whatever> io_whatever_, identt::utils::SharedTable::pointer stptr);
145 
146 };
147 } // namespace http
148 } // namespace identt
149 #endif /* _IDENTT_HTTP_WEBSERVER_HPP_ */
static pointer create(std::shared_ptr<::identt::http::io_whatever > io_whatever_, identt::utils::SharedTable::pointer stptr)
create : static construction creates new first time
Definition: WebServer.hpp:70
void stop()
stop : shutdown
Definition: WebServer.cc:77
Definition: CryptoBase.hpp:49
virtual ~WebServer()
destructor
Definition: WebServer.cc:46
void init(identt::utils::ServerBase::ParamsListT params)
init : initialize
Definition: WebServer.cc:61
pointer share()
share : return instance
Definition: WebServer.hpp:82
static const std::string GetSection()
GetSection : section required.
Definition: WebServer.cc:51
static const identt::utils::ServerBase::ParamsListT GetRequire()
GetRequire : parameters required.
Definition: WebServer.cc:56
Definition: HttpServer.hpp:47
WebServer()=delete
make noncopyable
Definition: WebServer.hpp:43
Definition: ServerBase.hpp:46