17 #include "connectiontcpclient.h"
20 #include "mutexguard.h"
26 #if ( !defined( _WIN32 ) && !defined( _WIN32_WCE ) ) || defined( __SYMBIAN32__ )
27 # include <sys/types.h>
28 # include <sys/socket.h>
29 # include <sys/select.h>
31 #elif ( defined( _WIN32 ) || defined( _WIN32_WCE ) ) && !defined( __SYMBIAN32__ )
42 const std::string& server,
int port )
48 const std::string& server,
int port )
105 "Unknown error condition" );
125 if( m_cancel || m_socket < 0 )
131 if( !dataAvailable( timeout ) )
137 int size =
static_cast<int>(
::recv( m_socket, m_buf, m_bufsize, 0 ) );
139 m_totalBytesIn += size;
An abstract base class for a connection.
void err(LogArea area, const std::string &message) const
virtual ConnectionBase * newInstance() const
virtual void handleReceivedData(const ConnectionBase *connection, const std::string &data)=0
This is an abstract base class to receive events from a ConnectionBase-derived object.
This is a base class for a simple TCP connection.
ConnectionTCPClient(const LogSink &logInstance, const std::string &server, int port=-1)
virtual void handleDisconnect(const ConnectionBase *connection, ConnectionError reason)=0
virtual void handleConnect(const ConnectionBase *connection)=0
virtual ConnectionError connect()
ConnectionDataHandler * m_handler
static int connect(const std::string &host, const LogSink &logInstance)
virtual ConnectionError recv(int timeout=-1)
An implementation of log sink and source.
virtual ~ConnectionTCPClient()