Instrument Neutral Distributed Interface INDI 2.2.5
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
TcpSocket Class Reference

#include <tcpsocket.h>

Public Types

enum  SocketError {
  ConnectionRefusedError , RemoteHostClosedError , HostNotFoundError , SocketAccessError ,
  SocketResourceError , SocketTimeoutError , DatagramTooLargeError , NetworkError ,
  AddressInUseError , SocketAddressNotAvailableError , UnsupportedSocketOperationError , UnfinishedSocketOperationError ,
  ProxyAuthenticationRequiredError , SslHandshakeFailedError , ProxyConnectionRefusedError , ProxyConnectionClosedError ,
  ProxyConnectionTimeoutError , ProxyNotFoundError , ProxyProtocolError , OperationError ,
  SslInternalError , SslInvalidUserDataError , TemporaryError , UnknownSocketError = -1
}
 
enum  SocketState {
  UnconnectedState , HostLookupState , ConnectingState , ConnectedState ,
  BoundState , ListeningState , ClosingState
}
 

Public Member Functions

 TcpSocket ()
 
virtual ~TcpSocket ()
 
void setConnectionTimeout (int timeout)
 
void connectToHost (const std::string &hostName, uint16_t port)
 
void disconnectFromHost ()
 
ssize_t write (const char *data, size_t size)
 
ssize_t write (const std::string &data)
 
SocketError error () const
 
std::string errorString () const
 
void onConnected (const std::function< void()> &callback)
 
void onDisconnected (const std::function< void()> &callback)
 
void onData (const std::function< void(const char *, size_t)> &callback)
 
void onErrorOccurred (const std::function< void(SocketError)> &callback)
 
bool waitForDisconnected (int timeout=2000) const
 
bool waitForConnected (int timeout=2000) const
 
int * socketDescriptor () const
 

Protected Member Functions

virtual void connected ()
 
virtual void disconnected ()
 
virtual void readyRead ()
 
virtual void errorOccurred (SocketError)
 
void emitConnected () const
 
void emitDisconnected () const
 
void emitData (const char *data, size_t size) const
 
void emitErrorOccurred (SocketError error) const
 
void setSocketError (SocketError socketError)
 
 TcpSocket (std::unique_ptr< TcpSocketPrivate > &&d)
 

Protected Attributes

std::unique_ptr< TcpSocketPrivate > d_ptr
 

Friends

class TcpSocketPrivate
 

Detailed Description

Definition at line 28 of file tcpsocket.h.

Member Enumeration Documentation

◆ SocketError

Enumerator
ConnectionRefusedError 
RemoteHostClosedError 
HostNotFoundError 
SocketAccessError 
SocketResourceError 
SocketTimeoutError 
DatagramTooLargeError 
NetworkError 
AddressInUseError 
SocketAddressNotAvailableError 
UnsupportedSocketOperationError 
UnfinishedSocketOperationError 
ProxyAuthenticationRequiredError 
SslHandshakeFailedError 
ProxyConnectionRefusedError 
ProxyConnectionClosedError 
ProxyConnectionTimeoutError 
ProxyNotFoundError 
ProxyProtocolError 
OperationError 
SslInternalError 
SslInvalidUserDataError 
TemporaryError 
UnknownSocketError 

Definition at line 31 of file tcpsocket.h.

◆ SocketState

Enumerator
UnconnectedState 
HostLookupState 
ConnectingState 
ConnectedState 
BoundState 
ListeningState 
ClosingState 

Definition at line 60 of file tcpsocket.h.

Constructor & Destructor Documentation

◆ TcpSocket() [1/2]

TcpSocket::TcpSocket ( )

Definition at line 336 of file tcpsocket.cpp.

◆ ~TcpSocket()

TcpSocket::~TcpSocket ( )
virtual

Definition at line 340 of file tcpsocket.cpp.

◆ TcpSocket() [2/2]

TcpSocket::TcpSocket ( std::unique_ptr< TcpSocketPrivate > &&  d)
protected

Definition at line 82 of file tcpsocket.cpp.

Member Function Documentation

◆ connected()

void TcpSocket::connected ( )
protectedvirtual

Definition at line 497 of file tcpsocket.cpp.

◆ connectToHost()

void TcpSocket::connectToHost ( const std::string &  hostName,
uint16_t  port 
)

Definition at line 354 of file tcpsocket.cpp.

◆ disconnected()

void TcpSocket::disconnected ( )
protectedvirtual

Definition at line 502 of file tcpsocket.cpp.

◆ disconnectFromHost()

void TcpSocket::disconnectFromHost ( )

Definition at line 359 of file tcpsocket.cpp.

◆ emitConnected()

void TcpSocket::emitConnected ( ) const
protected

Definition at line 526 of file tcpsocket.cpp.

◆ emitData()

void TcpSocket::emitData ( const char *  data,
size_t  size 
) const
protected

Definition at line 538 of file tcpsocket.cpp.

◆ emitDisconnected()

void TcpSocket::emitDisconnected ( ) const
protected

Definition at line 532 of file tcpsocket.cpp.

◆ emitErrorOccurred()

void TcpSocket::emitErrorOccurred ( SocketError  error) const
protected

Definition at line 544 of file tcpsocket.cpp.

◆ error()

TcpSocket::SocketError TcpSocket::error ( ) const

Definition at line 430 of file tcpsocket.cpp.

◆ errorOccurred()

void TcpSocket::errorOccurred ( SocketError  error)
protectedvirtual

Definition at line 521 of file tcpsocket.cpp.

◆ errorString()

std::string TcpSocket::errorString ( ) const

Definition at line 435 of file tcpsocket.cpp.

◆ onConnected()

void TcpSocket::onConnected ( const std::function< void()> &  callback)

Definition at line 440 of file tcpsocket.cpp.

◆ onData()

void TcpSocket::onData ( const std::function< void(const char *, size_t)> &  callback)

Definition at line 450 of file tcpsocket.cpp.

◆ onDisconnected()

void TcpSocket::onDisconnected ( const std::function< void()> &  callback)

Definition at line 445 of file tcpsocket.cpp.

◆ onErrorOccurred()

void TcpSocket::onErrorOccurred ( const std::function< void(SocketError)> &  callback)

Definition at line 455 of file tcpsocket.cpp.

◆ readyRead()

void TcpSocket::readyRead ( )
protectedvirtual

Definition at line 507 of file tcpsocket.cpp.

◆ setConnectionTimeout()

void TcpSocket::setConnectionTimeout ( int  timeout)

Definition at line 349 of file tcpsocket.cpp.

◆ setSocketError()

void TcpSocket::setSocketError ( SocketError  socketError)
protected

Definition at line 550 of file tcpsocket.cpp.

◆ socketDescriptor()

int * TcpSocket::socketDescriptor ( ) const

Definition at line 492 of file tcpsocket.cpp.

◆ waitForConnected()

bool TcpSocket::waitForConnected ( int  timeout = 2000) const

Definition at line 460 of file tcpsocket.cpp.

◆ waitForDisconnected()

bool TcpSocket::waitForDisconnected ( int  timeout = 2000) const

Definition at line 476 of file tcpsocket.cpp.

◆ write() [1/2]

ssize_t TcpSocket::write ( const char *  data,
size_t  size 
)

Definition at line 364 of file tcpsocket.cpp.

◆ write() [2/2]

ssize_t TcpSocket::write ( const std::string &  data)

Definition at line 369 of file tcpsocket.cpp.

Friends And Related Symbol Documentation

◆ TcpSocketPrivate

friend class TcpSocketPrivate
friend

Definition at line 119 of file tcpsocket.h.

Member Data Documentation

◆ d_ptr

std::unique_ptr<TcpSocketPrivate> TcpSocket::d_ptr
protected

Definition at line 120 of file tcpsocket.h.


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