9 #ifndef CPPSERVER_ASIO_WEB_SERVER_H 10 #define CPPSERVER_ASIO_WEB_SERVER_H 28 class WebServer :
public std::enable_shared_from_this<WebServer>
43 explicit WebServer(std::shared_ptr<Service>
service,
const std::string& address,
int port);
52 std::shared_ptr<Service>&
service() noexcept {
return _service; }
54 std::shared_ptr<restbed::Service>&
server() noexcept {
return _server; }
56 std::shared_ptr<restbed::Settings>&
settings() noexcept {
return _settings; }
59 bool IsStarted() const noexcept {
return _started; }
85 std::shared_ptr<Service> _service;
87 std::shared_ptr<restbed::Service> _server;
88 std::shared_ptr<restbed::Settings> _settings;
89 std::atomic<bool> _started;
97 #endif // CPPSERVER_ASIO_WEB_SERVER_H std::shared_ptr< Service > & service() noexcept
Get the Asio service.
virtual ~WebServer()=default
C++ Server project definitions.
virtual void onStarted()
Handle server started notification.
Web C++ Library definition.
WebServer(std::shared_ptr< Service > service, int port)
Initialize HTTP Web server with a given Asio service and port number.
std::shared_ptr< restbed::Settings > & settings() noexcept
Get the Restbed settings.
bool IsStarted() const noexcept
Is the server started?
bool Restart()
Restart the server.
virtual void onStopped()
Handle server stopped notification.
std::shared_ptr< restbed::Service > & server() noexcept
Get the Restbed server.
bool Start()
Start the server.
Asio C++ Library definition.
WebServer & operator=(const WebServer &)=delete
bool Stop()
Stop the server.