X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FServer.hh;h=abc70b78c18c559a2ac07f3e54a3db17a3a448bf;hb=f9d24df84e9dd01127ebeabef977a22e379cb41d;hp=7a8b8315f16d5b48831845f13aad4b49669c46c9;hpb=6e417a227d417cef20d55af94e2474fbe9c280b8;p=senf.git diff --git a/Console/Server.hh b/Console/Server.hh index 7a8b831..abc70b7 100644 --- a/Console/Server.hh +++ b/Console/Server.hh @@ -113,9 +113,6 @@ namespace console { Whenever a new client connects, a new instance of this class is created. This class shows a command prompt, receives the commands, parses them and then passes (using a CommandParser) and passes the commands to an Executor instance. - - \fixme Fix Client::clientData implementation - \fixme Don't register a new ReadHelper every round */ class Client : public senf::intrusive_refcount, @@ -135,17 +132,18 @@ namespace console { void stop(); ///< Stop the client /**< This will close the client socket. */ + std::string const & name() const; + ClientHandle handle() const; + std::ostream & stream(); + std::string promptString() const; + protected: private: Client(Server & server, ClientHandle handle, std::string const & name); - std::string promptString() const; - ClientHandle handle() const; - detail::NonblockingSocketOStream & stream(); - + void translate(std::string & data); void handleInput(std::string input); - virtual void v_write(boost::posix_time::ptime timestamp, std::string const & stream, std::string const & area, unsigned level, std::string const & message); @@ -160,6 +158,7 @@ namespace console { friend class Server; friend class detail::ClientReader; + friend class detail::NonblockingSocketSink; }; }}