#define HH_SENF_Utils_Termlib_TelnetTerminal_ 1
// Custom includes
-#include <senf/Scheduler/TimerEvent.hh>
-#include <senf/Scheduler/ClockService.hh>
#include "Telnet.hh"
-#include "Terminfo.hh"
+#include "AbstractTerminal.hh"
//#include "TelnetTerminal.mpp"
///////////////////////////////hh.p////////////////////////////////////////
class TelnetTerminal
: public telnethandler::TerminalType,
- public telnethandler::NAWS
+ public telnethandler::NAWS,
+ public AbstractTerminal
{
public:
- typedef KeyParser::keycode_t keycode_t;
-
- static unsigned const DEFAULT_KEY_TIMEOUT_MS = 500u;
-
TelnetTerminal();
- protected:
- virtual void v_setupComplete();
+ virtual void setCallbacks(AbstractTerminal::Callbacks & cb);
+ virtual std::string terminalType();
+ virtual unsigned width();
+ virtual unsigned height();
+ virtual void write(char ch);
private:
- virtual void v_keyReceived(keycode_t key) = 0;
-
- virtual void v_charReceived(char c);
- void keySequenceTimeout();
- void processKeys();
+ virtual void v_setupComplete();
+ virtual void v_charReceived(char ch);
+ virtual void v_windowSizeChanged();
- senf::term::Terminfo tifo_;
- senf::term::KeyParser keyParser_;
- std::string inputBuffer_;
- senf::ClockService::clock_type keyTimeout_;
- senf::scheduler::TimerEvent timer_;
+ AbstractTerminal::Callbacks * callbacks_;
};
+
}}
///////////////////////////////hh.e////////////////////////////////////////