Classes | Public Member Functions | Protected Member Functions | Protected Attributes

TelnetTransport Class Reference

Use TelnetTransport to easily allow windows telnet to connect to your ConsoleServer. More...

#include <TelnetTransport.h>

Inherits TransportInterface.

Collaboration diagram for TelnetTransport:
Collaboration graph
[legend]

List of all members.

Classes

struct  TelnetClient

Public Member Functions

 TelnetTransport ()
virtual ~TelnetTransport ()
bool Start (unsigned short port, bool serverMode)
void Stop (void)
 Stop the transport provider. You can clear memory and shutdown threads here.
void Send (SystemAddress systemAddress, const char *data,...)
void CloseConnection (SystemAddress systemAddress)
PacketReceive (void)
void DeallocatePacket (Packet *packet)
SystemAddress HasNewIncomingConnection (void)
SystemAddress HasLostConnection (void)
CommandParserInterfaceGetCommandParser (void)
void SetSendSuffix (const char *suffix)
void SetSendPrefix (const char *prefix)

Protected Member Functions

void AutoAllocate (void)
bool ReassembleLine (TelnetTransport::TelnetClient *telnetClient, unsigned char c)

Protected Attributes

TCPInterfacetcpInterface
DataStructures::List
< TelnetClient * > 
remoteClients
char * sendSuffix
char * sendPrefix

Detailed Description

Use TelnetTransport to easily allow windows telnet to connect to your ConsoleServer.

To run Windows telnet, go to your start menu, click run, and in the edit box type "telnet <IP>" where <IP> is the ip address.
of your ConsoleServer (most likely the same IP as your game).
This implementation always echos commands.

Definition at line 24 of file TelnetTransport.h.


Constructor & Destructor Documentation

TelnetTransport::TelnetTransport (  ) 

Definition at line 19 of file TelnetTransport.cpp.

TelnetTransport::~TelnetTransport (  )  [virtual]

Definition at line 25 of file TelnetTransport.cpp.

Here is the call graph for this function:


Member Function Documentation

void TelnetTransport::AutoAllocate ( void   )  [protected]

Definition at line 317 of file TelnetTransport.cpp.

Here is the caller graph for this function:

void TelnetTransport::CloseConnection ( SystemAddress  systemAddress  )  [virtual]

Disconnect systemAddress . The binary address and port defines the SystemAddress structure.

Parameters:
[in] systemAddress The player/address to disconnect

Implements TransportInterface.

Definition at line 85 of file TelnetTransport.cpp.

Here is the call graph for this function:

void TelnetTransport::DeallocatePacket ( Packet packet  )  [virtual]

Deallocate the Packet structure returned by Receive

Parameters:
[in] The packet to deallocate

Implements TransportInterface.

Definition at line 208 of file TelnetTransport.cpp.

CommandParserInterface * TelnetTransport::GetCommandParser ( void   )  [virtual]

Your transport provider can itself have command parsers if the transport layer has user-modifiable features For example, your transport layer may have a password which you want remote users to be able to set or you may want to allow remote users to turn on or off command echo

Returns:
0 if you do not need a command parser - otherwise the desired derivation of CommandParserInterface

Implements TransportInterface.

Definition at line 287 of file TelnetTransport.cpp.

SystemAddress TelnetTransport::HasLostConnection ( void   )  [virtual]

If a system loses the connection, you should queue that event and return the systemAddress/address of that player in this function.

Returns:
The SystemAddress/address of the system

Implements TransportInterface.

Definition at line 268 of file TelnetTransport.cpp.

Here is the call graph for this function:

SystemAddress TelnetTransport::HasNewIncomingConnection ( void   )  [virtual]

If a new system connects to you, you should queue that event and return the systemAddress/address of that player in this function.

Returns:
The SystemAddress/address of the system

Implements TransportInterface.

Definition at line 214 of file TelnetTransport.cpp.

Here is the call graph for this function:

bool TelnetTransport::ReassembleLine ( TelnetTransport::TelnetClient telnetClient,
unsigned char  c 
) [protected]

Definition at line 322 of file TelnetTransport.cpp.

Here is the caller graph for this function:

Packet * TelnetTransport::Receive ( void   )  [virtual]

Return a string. The string should be allocated and written to Packet::data . The byte length should be written to Packet::length . The player/address should be written to Packet::systemAddress If your transport protocol adds special formatting to the data stream you should parse it out before returning it in the packet and thus only return a string in Packet::data

Returns:
The packet structure containing the result of Receive, or 0 if no data is available

Implements TransportInterface.

Definition at line 89 of file TelnetTransport.cpp.

Here is the call graph for this function:

void TelnetTransport::Send ( SystemAddress  systemAddress,
const char *  data,
  ... 
) [virtual]

Send a null-terminated string to systemAddress If your transport method requires particular formatting of the outgoing data (e.g. you don't just send strings) you can do it here and parse it out in Receive().

Parameters:
[in] systemAddress The player to send the string to
[in] data format specifier - same as RAKNET_DEBUG_PRINTF
[in] ... format specification arguments - same as RAKNET_DEBUG_PRINTF

Implements TransportInterface.

Definition at line 51 of file TelnetTransport.cpp.

Here is the call graph for this function:

void TelnetTransport::SetSendPrefix ( const char *  prefix  ) 

Definition at line 304 of file TelnetTransport.cpp.

void TelnetTransport::SetSendSuffix ( const char *  suffix  ) 

Definition at line 291 of file TelnetTransport.cpp.

bool TelnetTransport::Start ( unsigned short  port,
bool  serverMode 
) [virtual]

Start the transport provider on the indicated port.

Parameters:
[in] port The port to start the transport provider on
[in] serverMode If true, you should allow incoming connections (I don't actually use this anywhere)
Returns:
Return true on success, false on failure.

Implements TransportInterface.

Definition at line 33 of file TelnetTransport.cpp.

Here is the call graph for this function:

void TelnetTransport::Stop ( void   )  [virtual]

Stop the transport provider. You can clear memory and shutdown threads here.

Implements TransportInterface.

Definition at line 40 of file TelnetTransport.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 55 of file TelnetTransport.h.

char * TelnetTransport::sendPrefix [protected]

Definition at line 57 of file TelnetTransport.h.

char* TelnetTransport::sendSuffix [protected]

Definition at line 57 of file TelnetTransport.h.

Definition at line 50 of file TelnetTransport.h.


The documentation for this class was generated from the following files: