Instrument Neutral Distributed Interface INDI  2.0.2
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< TcpSocketPrivated_ptr
 

Friends

class TcpSocketPrivate
 

Detailed Description

Definition at line 27 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 30 of file tcpsocket.h.

◆ SocketState

Enumerator
UnconnectedState 
HostLookupState 
ConnectingState 
ConnectedState 
BoundState 
ListeningState 
ClosingState 

Definition at line 59 of file tcpsocket.h.

Constructor & Destructor Documentation

◆ TcpSocket() [1/2]

TcpSocket::TcpSocket ( )

Definition at line 324 of file tcpsocket.cpp.

◆ ~TcpSocket()

TcpSocket::~TcpSocket ( )
virtual

Definition at line 328 of file tcpsocket.cpp.

◆ TcpSocket() [2/2]

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

Definition at line 70 of file tcpsocket.cpp.

Member Function Documentation

◆ connected()

void TcpSocket::connected ( )
protectedvirtual

Definition at line 485 of file tcpsocket.cpp.

◆ connectToHost()

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

Definition at line 342 of file tcpsocket.cpp.

◆ disconnected()

void TcpSocket::disconnected ( )
protectedvirtual

Definition at line 490 of file tcpsocket.cpp.

◆ disconnectFromHost()

void TcpSocket::disconnectFromHost ( )

Definition at line 347 of file tcpsocket.cpp.

◆ emitConnected()

void TcpSocket::emitConnected ( ) const
protected

Definition at line 514 of file tcpsocket.cpp.

◆ emitData()

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

Definition at line 526 of file tcpsocket.cpp.

◆ emitDisconnected()

void TcpSocket::emitDisconnected ( ) const
protected

Definition at line 520 of file tcpsocket.cpp.

◆ emitErrorOccurred()

void TcpSocket::emitErrorOccurred ( SocketError  error) const
protected

Definition at line 532 of file tcpsocket.cpp.

◆ error()

TcpSocket::SocketError TcpSocket::error ( ) const

Definition at line 418 of file tcpsocket.cpp.

◆ errorOccurred()

void TcpSocket::errorOccurred ( SocketError  error)
protectedvirtual

Definition at line 509 of file tcpsocket.cpp.

◆ errorString()

std::string TcpSocket::errorString ( ) const

Definition at line 423 of file tcpsocket.cpp.

◆ onConnected()

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

Definition at line 428 of file tcpsocket.cpp.

◆ onData()

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

Definition at line 438 of file tcpsocket.cpp.

◆ onDisconnected()

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

Definition at line 433 of file tcpsocket.cpp.

◆ onErrorOccurred()

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

Definition at line 443 of file tcpsocket.cpp.

◆ readyRead()

void TcpSocket::readyRead ( )
protectedvirtual

Definition at line 495 of file tcpsocket.cpp.

◆ setConnectionTimeout()

void TcpSocket::setConnectionTimeout ( int  timeout)

Definition at line 337 of file tcpsocket.cpp.

◆ setSocketError()

void TcpSocket::setSocketError ( SocketError  socketError)
protected

Definition at line 538 of file tcpsocket.cpp.

◆ socketDescriptor()

int * TcpSocket::socketDescriptor ( ) const

Definition at line 480 of file tcpsocket.cpp.

◆ waitForConnected()

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

Definition at line 448 of file tcpsocket.cpp.

◆ waitForDisconnected()

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

Definition at line 464 of file tcpsocket.cpp.

◆ write() [1/2]

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

Definition at line 352 of file tcpsocket.cpp.

◆ write() [2/2]

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

Definition at line 357 of file tcpsocket.cpp.

Friends And Related Function Documentation

◆ TcpSocketPrivate

friend class TcpSocketPrivate
friend

Definition at line 118 of file tcpsocket.h.

Member Data Documentation

◆ d_ptr

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

Definition at line 119 of file tcpsocket.h.


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