#include "../../Utils/senfassert.hh"
#include "../../Utils/membind.hh"
#include "../../Utils/Logger/SenfLog.hh"
-#include "Readline.hh"
+#include "LineEditor.hh"
//#include "Server.mpp"
#define prefix_
try {
if (client_.handle().writeable()) {
std::string data (s, n);
- client_.translate(data);
- client_.handle().write( data );
+ client_.write(data);
}
}
catch (SystemException & ex) {
prefix_ void senf::console::detail::DumbClientReader::showPrompt()
{
std::string prompt (promptString());
+ prompt += " ";
stream() << std::flush;
handle().write(prompt);
showPrompt();
}
-prefix_ void senf::console::detail::DumbClientReader::v_translate(std::string & data)
-{}
+prefix_ void senf::console::detail::DumbClientReader::v_write(std::string const & data)
+{
+ handle().write(data);
+}
///////////////////////////////////////////////////////////////////////////
// senf::console::detail::NoninteractiveClientReader
prefix_ void senf::console::detail::NoninteractiveClientReader::v_enablePrompt()
{}
-prefix_ void senf::console::detail::NoninteractiveClientReader::v_translate(std::string & data)
-{}
+prefix_ void senf::console::detail::NoninteractiveClientReader::v_write(std::string const & data)
+{
+ handle().write(data);
+}
prefix_ void
senf::console::detail::NoninteractiveClientReader::newData(int event)
readevent_.disable();
timer_.disable();
mode_ = Server::Interactive;
- reader_.reset(new detail::SafeReadlineClientReader (*this));
+ reader_.reset(new detail::LineEditorSwitcher (*this));
executor_.autocd(true).autocomplete(true);
}
reader_.reset(new detail::NoninteractiveClientReader(*this));
}
-prefix_ void senf::console::Client::translate(std::string & data)
-{
- reader_->translate(data);
-}
-
prefix_ std::string::size_type senf::console::Client::handleInput(std::string data,
bool incremental)
{