// $Id$ // // Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file \brief Telnet inline non-template implementation */ //#include "Telnet.ih" // Custom includes #define prefix_ inline //-///////////////////////////////////////////////////////////////////////////////////////////////// //-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::term::BaseTelnetProtocol::OptInfo prefix_ senf::term::BaseTelnetProtocol::OptInfo::OptInfo() : local (false), option (0u), wantState (DISABLED), optionState (NONE), enabled (false) {} prefix_ senf::term::BaseTelnetProtocol::OptInfo::OptInfo(bool l, option_type o) : local (l), option (o), wantState (DISABLED), optionState (NONE), enabled (false) {} //-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::term::BaseTelnetProtocol::TelnetHandler prefix_ senf::term::BaseTelnetProtocol::TelnetHandler::~TelnetHandler() {} prefix_ std::string const & senf::term::telnethandler::TerminalType::terminalType() const { return type_; } //-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::term::telnethandler::NAWS prefix_ unsigned senf::term::telnethandler::NAWS::width() const { return width_; } prefix_ unsigned senf::term::telnethandler::NAWS::height() const { return height_; } //-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::term::BaseTelnetProtocol prefix_ senf::term::BaseTelnetProtocol::~BaseTelnetProtocol() {} prefix_ senf::term::BaseTelnetProtocol::Handle senf::term::BaseTelnetProtocol::handle() { return handle_; } prefix_ void senf::term::BaseTelnetProtocol::incrementRequestCounter() { ++ pendingRequests_; timeout_.timeout(senf::scheduler::eventTime() + requestTimeout_); } prefix_ bool senf::term::BaseTelnetProtocol::requestsPending() { return pendingRequests_ > 0u; } prefix_ void senf::term::BaseTelnetProtocol::sendNOP() { transmit(CMD_IAC); transmit(CMD_NOP); } prefix_ void senf::term::BaseTelnetProtocol::sendBRK() { transmit(CMD_IAC); transmit(CMD_BRK); } prefix_ void senf::term::BaseTelnetProtocol::sendIP() { transmit(CMD_IAC); transmit(CMD_IP); } prefix_ void senf::term::BaseTelnetProtocol::sendAO() { transmit(CMD_IAC); transmit(CMD_AO); } prefix_ void senf::term::BaseTelnetProtocol::sendAYT() { transmit(CMD_IAC); transmit(CMD_AYT); } prefix_ void senf::term::BaseTelnetProtocol::sendEC() { transmit(CMD_IAC); transmit(CMD_EC); } prefix_ void senf::term::BaseTelnetProtocol::sendEL() { transmit(CMD_IAC); transmit(CMD_EL); } prefix_ void senf::term::BaseTelnetProtocol::sendGA() { transmit(CMD_IAC); transmit(CMD_GA); } prefix_ void senf::term::BaseTelnetProtocol::requestLocalOption(option_type option, bool enabled) { request(getOption(true, option), enabled); } prefix_ void senf::term::BaseTelnetProtocol::acceptLocalOption(option_type option, bool enabled) { getOption(true, option).wantState = OptInfo::ACCEPTED; } prefix_ void senf::term::BaseTelnetProtocol::requestPeerOption(option_type option, bool enabled) { request(getOption(false, option), enabled); } prefix_ void senf::term::BaseTelnetProtocol::acceptPeerOption(option_type option, bool enabled) { getOption(false, option).wantState = OptInfo::ACCEPTED; } prefix_ bool senf::term::BaseTelnetProtocol::localOption(option_type option) { return getOption(true, option).enabled; } prefix_ bool senf::term::BaseTelnetProtocol::peerOption(option_type option) { return getOption(false, option).enabled; } prefix_ void senf::term::BaseTelnetProtocol::emit(char c) { v_charReceived(c); } //-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ // Local Variables: // mode: c++ // fill-column: 100 // comment-column: 40 // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" // compile-command: "scons -u test" // End: