X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fserver.h;h=0b1950aa7c550e461e2dcf0e1a49ae1964949c49;hb=23aa3071850761144798112a5aaea61304de8586;hp=7952275232705e8b9d4c943fc855eeadf1aba4a2;hpb=a69d242f3f00207d6ea7320e6723775f4b0dbfb3;p=dcpomatic.git diff --git a/src/lib/server.h b/src/lib/server.h index 795227523..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: - explicit 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