#ifndef SERVER_HH #define SERVER_HH #include #include #include class Logger; class Server { public: virtual ~Server() = default; static std::unique_ptr create(); virtual bool setup(std::shared_ptr logger, std::string const& host, uint16_t port) = 0; virtual bool run(std::shared_ptr logger) = 0; protected: Server() = default; Server(Server const&) = delete; }; #endif // SERVER_HH