X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FConsole%2FServer.hh;h=4c5e66ff5a78ee6d28a23cd3613c30b11374a591;hb=2d9b8768b1a5fa77e1abde6e48664e2d5eecd7a2;hp=4fac812c7c4fed09e7a55e7b136eddddb35cd5f7;hpb=368058ef8f5eb65ea7e210351af25f49ddd0f342;p=senf.git diff --git a/Utils/Console/Server.hh b/Utils/Console/Server.hh index 4fac812..4c5e66f 100644 --- a/Utils/Console/Server.hh +++ b/Utils/Console/Server.hh @@ -173,8 +173,11 @@ namespace console { std::ostream & stream(); std::string promptString() const; DirectoryNode & root() const; + DirectoryNode & cwd() const; Server::Mode mode() const; void write(std::string const & data) const; + std::string const & backtrace() const; + unsigned width() const; static Client & get(std::ostream & os); @@ -185,7 +188,7 @@ namespace console { void setInteractive(); void setNoninteractive(); - + size_t handleInput(std::string input, bool incremental = false); virtual void v_write(senf::log::time_type timestamp, std::string const & stream, std::string const & area, unsigned level, @@ -201,10 +204,19 @@ namespace console { std::string lastCommand_; boost::scoped_ptr reader_; Server::Mode mode_; + std::string backtrace_; friend class Server; friend class detail::ClientReader; friend class detail::NonblockingSocketSink; + + class SysBacktrace + { + SysBacktrace(); + static void backtrace(std::ostream & os); + static SysBacktrace instance_; + }; + }; /** \brief Output Console Client instance as it's string representation