// $Id$ // // Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // // The contents of this file are subject to the Fraunhofer FOKUS Public License // Version 1.0 (the "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // http://senf.berlios.de/license.html // // The Fraunhofer FOKUS Public License Version 1.0 is based on, // but modifies the Mozilla Public License Version 1.1. // See the full license text for the amendments. // // Software distributed under the License is distributed on an "AS IS" basis, // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License // for the specific language governing rights and limitations under the License. // // The Original Code is Fraunhofer FOKUS code. // // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. // (registered association), Hansastraße 27 c, 80686 Munich, Germany. // All Rights Reserved. // // Contributor(s): // Stefan Bund /** \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(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: