X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FTermlib%2FTelnetTerminal.hh;h=8d315838ed2ddfbe658cf533f51f7ed3631d63a4;hb=79e54eda6a7fb5ac3fa5b37f408dd386454c5bbd;hp=ed2be42d474be6e87c72ba325cf6d14d3be1cfd2;hpb=27d5a4aaebd8abb6c6bb842af3c170063b206f0f;p=senf.git diff --git a/Utils/Termlib/TelnetTerminal.hh b/Utils/Termlib/TelnetTerminal.hh index ed2be42..8d31583 100644 --- a/Utils/Termlib/TelnetTerminal.hh +++ b/Utils/Termlib/TelnetTerminal.hh @@ -36,6 +36,18 @@ namespace senf { namespace term { + /** \brief AbstractTerminal interface implementation based on telnet + + This class provides a telnet server implementation implementing the AbstractTerminal + interface. + + TelnetTerminal provides one additional callback which needs to be implemented in a derived + class: v_setupFailed(). This member will be called, when not all required telnet options are + supported by the telnet client. In this case, the communication will be switched back into + line-oriented mode and v_setupFailed() is called. + + \ingroup telnet_group + */ class TelnetTerminal : public telnethandler::TerminalType, public telnethandler::NAWS, @@ -44,15 +56,23 @@ namespace term { public: TelnetTerminal(); + ///\name AbstractTerminal interface implementation + ///\{ virtual void setCallbacks(AbstractTerminal::Callbacks & cb); virtual std::string terminalType(); virtual unsigned width(); virtual unsigned height(); virtual void write(char ch); + ///\} + protected: + +# ifndef DOXYGEN private: - virtual void v_setupFailed() = 0; +# endif + virtual void v_setupFailed() = 0; ///< Called when the telnet setup has failed + private: virtual void v_setupComplete(); virtual void v_charReceived(char ch); virtual void v_windowSizeChanged();