X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fserver.h;h=0b1950aa7c550e461e2dcf0e1a49ae1964949c49;hb=38e89b25f6042d7a9dc023bbdeff98b09cbdd26f;hp=747c516a2ba0a5df685f42177b8c16537643cf8a;hpb=8b183eea3238cc2f25cf62e63d724a2d2d361ee7;p=dcpomatic.git diff --git a/src/lib/server.h b/src/lib/server.h index 747c516a2..0b1950aa7 100644 --- a/src/lib/server.h +++ b/src/lib/server.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,22 +18,29 @@ */ + #ifndef DCPOMATIC_SERVER_H #define DCPOMATIC_SERVER_H + #include #include #include #include + class Socket; -class Server : public boost::noncopyable + +class Server { public: - Server (int port); + explicit Server (int port, int timeout = 30); virtual ~Server (); + Server (Server const&) = delete; + Server& operator= (Server const&) = delete; + virtual void run (); void stop (); @@ -42,13 +49,15 @@ protected: bool _terminate; private: - virtual void handle (boost::shared_ptr socket) = 0; + virtual void handle (std::shared_ptr socket) = 0; void start_accept (); - void handle_accept (boost::shared_ptr, boost::system::error_code const &); + void handle_accept (std::shared_ptr, boost::system::error_code const &); boost::asio::io_service _io_service; boost::asio::ip::tcp::acceptor _acceptor; + int _timeout; }; + #endif