Public Types | Public Member Functions | Private Member Functions | Private Attributes
Tcp Class Reference

#include <tcp.hpp>

List of all members.

Public Types

typedef void(* DisconnectFunction )(void *obj)
typedef void(* ReadFunction )(void *obj, UINT8 *inputBuffer, UINT32 &numBytes)

Public Member Functions

void close ()
UINT32 getNumReadableBytes ()
bool isOpen ()
bool open (std::string ipAddress, UINT16 port, bool enableVerboseDebugOutput=false)
bool open (UINT32 ipAddress, UINT16 port, bool enableVerboseDebugOutput=false)
UINT32 read (UINT8 *buffer, UINT32 bufferLen)
std::string readString (UINT8 delimiter)
void setDisconnectCallbackFunction (DisconnectFunction discFunction, void *obj)
void setReadCallbackFunction (ReadFunction readFunction, void *obj)
 Tcp ()
bool write (UINT8 *buffer, UINT32 numberOfBytes)
 ~Tcp ()

Private Member Functions

bool isClientConnected_unlocked ()
INT32 readInputData ()
void readThreadFunction (bool &endThread, UINT16 &waitTimeMs)
void startServerThread ()
void stopReadThread ()
void stopServerThread ()

Private Attributes

bool m_beVerbose
INT32 m_connectionSocket
DisconnectFunction m_disconnectFunction
void * m_disconnectFunctionObjPtr
bool m_longStringWarningPrinted
ReadFunction m_readFunction
void * m_readFunctionObjPtr
SickThread< Tcp,&Tcp::readThreadFunctionm_readThread
std::list< unsigned char > m_rxBuffer
std::string m_rxString
struct sockaddr_in m_serverAddr
Mutex m_socketMutex

Detailed Description

Definition at line 30 of file tcp.hpp.


Member Typedef Documentation

typedef void(* Tcp::DisconnectFunction)(void *obj)

Definition at line 53 of file tcp.hpp.

typedef void(* Tcp::ReadFunction)(void *obj, UINT8 *inputBuffer, UINT32 &numBytes)

Definition at line 49 of file tcp.hpp.


Constructor & Destructor Documentation

Tcp::Tcp ( )

Definition at line 18 of file tcp.cpp.

Tcp::~Tcp ( void  )

Definition at line 36 of file tcp.cpp.


Member Function Documentation

void Tcp::close ( )

Definition at line 285 of file tcp.cpp.

Auslesen der Anzahl zum Lesen verfuegbarer Bytes.

Rueckgabe: Anzahl der Bytes im Lese-Puffer.

Definition at line 332 of file tcp.cpp.

bool Tcp::isClientConnected_unlocked ( ) [private]
bool Tcp::isOpen ( )

True = offen

-- Wir sind der Client und mit einem Server verbunden --

Definition at line 88 of file tcp.cpp.

bool Tcp::open ( std::string  ipAddress,
UINT16  port,
bool  enableVerboseDebugOutput = false 
)

Definition at line 129 of file tcp.cpp.

bool Tcp::open ( UINT32  ipAddress,
UINT16  port,
bool  enableVerboseDebugOutput = false 
)

Definition at line 112 of file tcp.cpp.

UINT32 Tcp::read ( UINT8 buffer,
UINT32  bufferLen 
)

Definition at line 346 of file tcp.cpp.

INT32 Tcp::readInputData ( ) [private]

Definition at line 217 of file tcp.cpp.

std::string Tcp::readString ( UINT8  delimiter)

Lese einen String, bis zum Trennzeichen.

** DO NOT INTERMIX WITH CALLS TO READ() **

Definition at line 367 of file tcp.cpp.

void Tcp::readThreadFunction ( bool &  endThread,
UINT16 waitTimeMs 
) [private]

Definition at line 184 of file tcp.cpp.

void Tcp::setDisconnectCallbackFunction ( DisconnectFunction  discFunction,
void *  obj 
)

Definition at line 75 of file tcp.cpp.

void Tcp::setReadCallbackFunction ( Tcp::ReadFunction  readFunction,
void *  obj 
)

Definition at line 103 of file tcp.cpp.

void Tcp::startServerThread ( ) [private]
void Tcp::stopReadThread ( ) [private]

Stoppe den Lese-Thread.

Definition at line 315 of file tcp.cpp.

void Tcp::stopServerThread ( ) [private]
bool Tcp::write ( UINT8 buffer,
UINT32  numberOfBytes 
)

Definition at line 47 of file tcp.cpp.


Member Data Documentation

bool Tcp::m_beVerbose [private]

Definition at line 67 of file tcp.hpp.

Definition at line 70 of file tcp.hpp.

Definition at line 78 of file tcp.hpp.

Definition at line 79 of file tcp.hpp.

Definition at line 58 of file tcp.hpp.

Definition at line 76 of file tcp.hpp.

void* Tcp::m_readFunctionObjPtr [private]

Definition at line 77 of file tcp.hpp.

Definition at line 73 of file tcp.hpp.

std::list<unsigned char> Tcp::m_rxBuffer [private]

Definition at line 61 of file tcp.hpp.

std::string Tcp::m_rxString [private]

Definition at line 59 of file tcp.hpp.

struct sockaddr_in Tcp::m_serverAddr [private]

Definition at line 66 of file tcp.hpp.

Definition at line 68 of file tcp.hpp.


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


libsick_ldmrs
Author(s): SICK AG , Martin Günther , Jochen Sprickerhof
autogenerated on Wed Jun 14 2017 04:04:50