Rabbit Remote Control 0.1.0-de
Loading...
Searching...
No Matches
Public Types | Signals | Public Member Functions | Protected Types | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
QTelnet Class Reference
Inheritance diagram for QTelnet:
Inheritance graph
[legend]
Collaboration diagram for QTelnet:
Collaboration graph
[legend]

Public Types

enum  SocketStatus { Disconnected , Resolving , Connecting , Connected }
 
enum  SocketType { TCP = 0 , WEBSOCKET , SECUREWEBSOCKET }
 

Signals

void newData (const char *buff, int len)
 
void endOfRecord ()
 
void echoLocal (bool echo)
 
void stateChanged (QAbstractSocket::SocketState s)
 
void error (QAbstractSocket::SocketError err)
 

Public Member Functions

 QTelnet (SocketType type=TCP, QObject *parent=0)
 
 QTelnet (QObject *parent=0)
 
void setType (SocketType type)
 
void connectToHost (const QString &hostName, quint16 port)
 
void disconnectFromHost (void)
 
void sendData (const QByteArray &ba)
 
void sendData (const char *data, int len)
 
void setCustomCRLF (char lf=13, char cr=10)
 
void setCustomCR (char cr=10, char cr2=0)
 
void writeCustomCRLF ()
 
void writeCustomCR ()
 
void write (const char c)
 
qint64 write (const char *data, qint64 len)
 
qint64 read (char *data, qint64 maxlen)
 
bool isConnected () const
 
bool testBinaryMode () const
 
void setWindSize (QSize s)
 
void sendWindowSize ()
 
QString peerInfo () const
 
QString peerName () const
 
QString errorString ()
 

Protected Types

enum  TelnetStateCodes {
  STATE_DATA = (char)0 , STATE_IAC = (char)1 , STATE_IACSB = (char)2 , STATE_IACWILL = (char)3 ,
  STATE_IACDO = (char)4 , STATE_IACWONT = (char)5 , STATE_IACDONT = (char)6 , STATE_IACSBIAC = (char)7 ,
  STATE_IACSBDATA = (char)8 , STATE_IACSBDATAIAC = (char)9 , STATE_DATAR = (char)10 , STATE_DATAN = (char)11
}
 
enum  TelnetCodes {
  IAC = (char)255 , EOR = (char)239 , WILL = (char)251 , WONT = (char)252 ,
  DO = (char)253 , DONT = (char)254 , SB = (char)250 , SE = (char)240 ,
  TELOPT_BINARY = (char)0 , TELOPT_ECHO = (char)1 , TELOPT_SGA = (char)2 , TELOPT_EOR = (char)25 ,
  TELOPT_NAWS = (char)31 , TELOPT_TTYPE = (char)24
}
 
enum  TelnetQualifiers { TELQUAL_IS = (char)0 , TELQUAL_SEND = (char)1 }
 

Private Slots

void socketError (QAbstractSocket::SocketError err)
 
void onTcpReadyRead ()
 
void binaryMessageReceived (const QByteArray &message)
 
void onStateChanged (QAbstractSocket::SocketState s)
 

Private Member Functions

void resetProtocol ()
 Resetea los datos del protocolo. Debe llamarse cada vez que se inicia una conexión nueva.
 
void emitEndOfRecord ()
 
void emitEchoLocal (bool bEcho)
 
void sendTelnetControl (char codigo)
 
void handleSB (void)
 
void transpose (const char *buf, int iLen)
 
void willsReply (char action, char reply)
 
void wontsReply (char action, char reply)
 
void doesReply (char action, char reply)
 
void dontsReply (char action, char reply)
 
void sendSB (char code, char *arr, int iLen)
 
qint64 doTelnetInProtocol (qint64 buffSize)
 

Private Attributes

QTcpSocket m_tcpSocket
 
QWebSocket m_webSocket
 
SocketType m_socketType
 
QSize m_winSize
 
QSize m_oldWinSize
 
enum TelnetStateCodes m_negotiationState
 
char m_receivedDX [256]
 
char m_receivedWX [256]
 
char m_sentDX [256]
 
char m_sentWX [256]
 
char m_buffIncoming [IncommingBufferSize]
 
char m_buffProcessed [IncommingBufferSize]
 
QByteArray m_buffSB
 
int m_actualSB
 

Static Private Attributes

static const char IACWILL [2] = { IAC, WILL }
 
static const char IACWONT [2] = { IAC, WONT }
 
static const char IACDO [2] = { IAC, DO }
 
static const char IACDONT [2] = { IAC, DONT }
 
static const char IACSB [2] = { IAC, SB }
 
static const char IACSE [2] = { IAC, SE }
 
static char _sendCodeArray [2] = { IAC, 0 }
 
static char _arrCRLF [2] = { 13, 10 }
 
static char _arrCR [2] = { 13, 0 }
 

Detailed Description

Definition at line 12 of file QTelnet.h.

Member Enumeration Documentation

◆ SocketStatus

enum QTelnet::SocketStatus

Definition at line 17 of file QTelnet.h.

◆ SocketType

enum QTelnet::SocketType

Definition at line 24 of file QTelnet.h.

◆ TelnetCodes

enum QTelnet::TelnetCodes
protected

Definition at line 47 of file QTelnet.h.

◆ TelnetQualifiers

enum QTelnet::TelnetQualifiers
protected

Definition at line 67 of file QTelnet.h.

◆ TelnetStateCodes

enum QTelnet::TelnetStateCodes
protected

Definition at line 32 of file QTelnet.h.

Constructor & Destructor Documentation

◆ QTelnet() [1/2]

QTelnet::QTelnet ( SocketType  type = TCP,
QObject *  parent = 0 
)
explicit

Definition at line 15 of file QTelnet.cpp.

◆ QTelnet() [2/2]

QTelnet::QTelnet ( QObject *  parent = 0)
inlineexplicit

Definition at line 118 of file QTelnet.h.

Member Function Documentation

◆ binaryMessageReceived

void QTelnet::binaryMessageReceived ( const QByteArray &  message)
privateslot

Definition at line 630 of file QTelnet.cpp.

◆ connectToHost()

void QTelnet::connectToHost ( const QString &  hostName,
quint16  port 
)

Definition at line 68 of file QTelnet.cpp.

◆ disconnectFromHost()

void QTelnet::disconnectFromHost ( void  )

Definition at line 85 of file QTelnet.cpp.

◆ doesReply()

void QTelnet::doesReply ( char  action,
char  reply 
)
private

Definition at line 324 of file QTelnet.cpp.

◆ dontsReply()

void QTelnet::dontsReply ( char  action,
char  reply 
)
private

Definition at line 338 of file QTelnet.cpp.

◆ doTelnetInProtocol()

qint64 QTelnet::doTelnetInProtocol ( qint64  buffSize)
private

Definition at line 353 of file QTelnet.cpp.

◆ emitEchoLocal()

void QTelnet::emitEchoLocal ( bool  bEcho)
inlineprivate

Definition at line 102 of file QTelnet.h.

◆ emitEndOfRecord()

void QTelnet::emitEndOfRecord ( )
inlineprivate

Definition at line 101 of file QTelnet.h.

◆ errorString()

QString QTelnet::errorString ( )

Definition at line 150 of file QTelnet.cpp.

◆ handleSB()

void QTelnet::handleSB ( void  )
private

Definition at line 233 of file QTelnet.cpp.

◆ isConnected()

bool QTelnet::isConnected ( ) const

Definition at line 58 of file QTelnet.cpp.

◆ onStateChanged

void QTelnet::onStateChanged ( QAbstractSocket::SocketState  s)
privateslot

Definition at line 635 of file QTelnet.cpp.

◆ onTcpReadyRead

void QTelnet::onTcpReadyRead ( )
privateslot

Definition at line 608 of file QTelnet.cpp.

◆ peerInfo()

QString QTelnet::peerInfo ( ) const

Definition at line 38 of file QTelnet.cpp.

◆ peerName()

QString QTelnet::peerName ( ) const

Definition at line 48 of file QTelnet.cpp.

◆ read()

qint64 QTelnet::read ( char *  data,
qint64  maxlen 
)

Definition at line 115 of file QTelnet.cpp.

◆ resetProtocol()

void QTelnet::resetProtocol ( )
private

Resetea los datos del protocolo. Debe llamarse cada vez que se inicia una conexión nueva.

Definition at line 190 of file QTelnet.cpp.

◆ sendData() [1/2]

void QTelnet::sendData ( const char *  data,
int  len 
)

Definition at line 138 of file QTelnet.cpp.

◆ sendData() [2/2]

void QTelnet::sendData ( const QByteArray &  ba)

Definition at line 132 of file QTelnet.cpp.

◆ sendSB()

void QTelnet::sendSB ( char  code,
char *  arr,
int  iLen 
)
private

Definition at line 206 of file QTelnet.cpp.

◆ sendTelnetControl()

void QTelnet::sendTelnetControl ( char  codigo)
private

Definition at line 173 of file QTelnet.cpp.

◆ sendWindowSize()

void QTelnet::sendWindowSize ( )

Definition at line 217 of file QTelnet.cpp.

◆ setCustomCR()

void QTelnet::setCustomCR ( char  cr = 10,
char  cr2 = 0 
)

Definition at line 160 of file QTelnet.cpp.

◆ setCustomCRLF()

void QTelnet::setCustomCRLF ( char  lf = 13,
char  cr = 10 
)

Definition at line 166 of file QTelnet.cpp.

◆ setType()

void QTelnet::setType ( SocketType  type)

Definition at line 30 of file QTelnet.cpp.

◆ setWindSize()

void QTelnet::setWindSize ( QSize  s)
inline

Definition at line 137 of file QTelnet.h.

◆ socketError

void QTelnet::socketError ( QAbstractSocket::SocketError  err)
privateslot

Definition at line 144 of file QTelnet.cpp.

◆ testBinaryMode()

bool QTelnet::testBinaryMode ( ) const

Definition at line 127 of file QTelnet.cpp.

◆ transpose()

void QTelnet::transpose ( const char *  buf,
int  iLen 
)
private

Definition at line 256 of file QTelnet.cpp.

◆ willsReply()

void QTelnet::willsReply ( char  action,
char  reply 
)
private

Definition at line 296 of file QTelnet.cpp.

◆ wontsReply()

void QTelnet::wontsReply ( char  action,
char  reply 
)
private

Definition at line 310 of file QTelnet.cpp.

◆ write() [1/2]

qint64 QTelnet::write ( const char *  data,
qint64  len 
)

Definition at line 103 of file QTelnet.cpp.

◆ write() [2/2]

void QTelnet::write ( const char  c)

Definition at line 93 of file QTelnet.cpp.

◆ writeCustomCR()

void QTelnet::writeCustomCR ( )

Definition at line 184 of file QTelnet.cpp.

◆ writeCustomCRLF()

void QTelnet::writeCustomCRLF ( )

Definition at line 179 of file QTelnet.cpp.

Member Data Documentation

◆ _arrCR

char QTelnet::_arrCR = { 13, 0 }
staticprivate

Definition at line 13 of file QTelnet.h.

◆ _arrCRLF

char QTelnet::_arrCRLF = { 13, 10 }
staticprivate

Definition at line 12 of file QTelnet.h.

◆ _sendCodeArray

char QTelnet::_sendCodeArray = { IAC, 0 }
staticprivate

Definition at line 11 of file QTelnet.h.

◆ IACDO

const char QTelnet::IACDO = { IAC, DO }
staticprivate

Definition at line 6 of file QTelnet.h.

◆ IACDONT

const char QTelnet::IACDONT = { IAC, DONT }
staticprivate

Definition at line 7 of file QTelnet.h.

◆ IACSB

const char QTelnet::IACSB = { IAC, SB }
staticprivate

Definition at line 8 of file QTelnet.h.

◆ IACSE

const char QTelnet::IACSE = { IAC, SE }
staticprivate

Definition at line 9 of file QTelnet.h.

◆ IACWILL

const char QTelnet::IACWILL = { IAC, WILL }
staticprivate

Definition at line 4 of file QTelnet.h.

◆ IACWONT

const char QTelnet::IACWONT = { IAC, WONT }
staticprivate

Definition at line 5 of file QTelnet.h.

◆ m_actualSB

int QTelnet::m_actualSB
private

Definition at line 99 of file QTelnet.h.

◆ m_buffIncoming

char QTelnet::m_buffIncoming[IncommingBufferSize]
private

Definition at line 96 of file QTelnet.h.

◆ m_buffProcessed

char QTelnet::m_buffProcessed[IncommingBufferSize]
private

Definition at line 97 of file QTelnet.h.

◆ m_buffSB

QByteArray QTelnet::m_buffSB
private

Definition at line 98 of file QTelnet.h.

◆ m_negotiationState

enum TelnetStateCodes QTelnet::m_negotiationState
private

Definition at line 89 of file QTelnet.h.

◆ m_oldWinSize

QSize QTelnet::m_oldWinSize
private

Definition at line 88 of file QTelnet.h.

◆ m_receivedDX

char QTelnet::m_receivedDX[256]
private

Definition at line 90 of file QTelnet.h.

◆ m_receivedWX

char QTelnet::m_receivedWX[256]
private

Definition at line 91 of file QTelnet.h.

◆ m_sentDX

char QTelnet::m_sentDX[256]
private

Definition at line 92 of file QTelnet.h.

◆ m_sentWX

char QTelnet::m_sentWX[256]
private

Definition at line 93 of file QTelnet.h.

◆ m_socketType

SocketType QTelnet::m_socketType
private

Definition at line 76 of file QTelnet.h.

◆ m_tcpSocket

QTcpSocket QTelnet::m_tcpSocket
private

Definition at line 74 of file QTelnet.h.

◆ m_webSocket

QWebSocket QTelnet::m_webSocket
private

Definition at line 75 of file QTelnet.h.

◆ m_winSize

QSize QTelnet::m_winSize
private

Definition at line 87 of file QTelnet.h.


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