net::CSocket Class Reference

Inheritance diagram for net::CSocket:

net::CClientSocket net::CEventSocket net::CServerSocket net::CEventClientSocket net::CEventServerSocket net::CEventServerSocket List of all members.

Detailed Description

A generic socket class.

Author:
Elden Armbrust
The CSocket class is a generic socket implementation and is not designed to be used directly, however, it may be inherited by a custom class to extend it's abilities.


Public Member Functions

 CSocket (int family_type)
int operator<< (std::string data)
std::string Read (int size)
int Read (char *buffer, int size)
int ReadUntil (char *buffer, int size)
int Write (std::string data)
int Write (char *data)
int Write (char *data, int size)
 ~CSocket ()

Protected Member Functions

int GetError ()
int GetState ()
void SetError (int error)


Constructor & Destructor Documentation

net::CSocket::CSocket ( int  family_type  ) 

A CSocket constructor which allows for the selection of the connections family type when calling.

Author:
Elden Armbrust
Parameters:
family_type The type of connection which should be made.

net::CSocket::~CSocket (  ) 

The generic destructor handles garbage collection (where available) and cleanup of data.


Member Function Documentation

int net::CSocket::GetError (  )  [protected]

GetError retrieves the current error code sotred in the CSocket object.

Author:
Elden Armbrust
Returns:
The error code currently stored in the CSocket object.

int net::CSocket::GetState (  )  [protected]

GetState retrieves the current state of the CSocket parent.

Author:
Elden Armbrust
Returns:
The current state of the socket.

int net::CSocket::operator<< ( std::string  data  ) 

The iostream compatible << operator for writing data to the socket.

Author:
Elden Armbrust
Parameters:
data An std::string object containing text which is to be sent across the socket.
Returns:
The number of bytes written to the socket.

std::string net::CSocket::Read ( int  size  ) 

Reads character data from the socket without formatting.

Author:
Elden Armbrust
Parameters:
size The number of bytes to read from the the socket.
Returns:
An std::string object containing bytes read.
Todo:
Complete method.

int net::CSocket::Read ( char *  buffer,
int  size 
)

Reads character data from the socket without formatting.

Author:
Elden Armbrust
Parameters:
buffer A character array which will be filled with the incoming data.
size The number of bytes to be read. This number must not be larger than the size of buffer.
Returns:
The number of bytes read from the socket.

int net::CSocket::ReadUntil ( char *  buffer,
int  size 
)

Reads character data from the socket without formatting until size bytes are received.

Author:
Elden Armbrust
Parameters:
buffer A character array which will be filled with the incoming data.
size The number of bytes to be read. This number must not be larger than the size of buffer.
Returns:
The number of bytes read from the socket.

void net::CSocket::SetError ( int  error  )  [protected]

SetError can set the current error code stored in the CSocket object.

Author:
Elden Armbrust
Parameters:
error The error code to set the error status to.

int net::CSocket::Write ( std::string  data  ) 

Writes character data to the socket.

Author:
Elden Armbrust
Parameters:
data The character (std::string) to be written to the socket.
Returns:
The number of bytes written to the socket.

Reimplemented in net::CEventSocket.

int net::CSocket::Write ( char *  data  ) 

Writes character data to the socket.

Author:
Elden Armbrust
Parameters:
data The character (char) array to be written to the socket.
Returns:
The number of bytes written to the socket.

Reimplemented in net::CEventSocket.

int net::CSocket::Write ( char *  data,
int  size 
)

Writes character data to the socket.

Author:
Elden Armbrust
Parameters:
data The character (char) array to be written to the socket.
Returns:
The number of bytes written to the socket.


The documentation for this class was generated from the following files:
Generated on Mon Jul 2 10:27:20 2007 for libAeon by  doxygen 1.5.1