scim::SocketServer Class Reference
[SocketCommunication]

Socket Server class. More...

#include <scim_socket.h>

List of all members.

Public Member Functions

 SocketServer (int max_clients=-1)
 Default constructor, do nothing.
 SocketServer (const SocketAddress &address, int max_clients=-1)
 Constructor.
 ~SocketServer ()
 Destructor.
bool valid () const
 Test if the server is valid.
bool create (const SocketAddress &address)
 Create a socket on an address.
bool run ()
 Run the server.
bool is_running () const
 Check if the server is running.
void shutdown ()
 Shutdown the server.
bool close_connection (const Socket &socket)
 Close a client connection.
int get_error_number () const
 Get the number of the last occurred error.
String get_error_message () const
 Get the message of the last occurred error.
int get_max_clients () const
 Get the max number of socket clients.
void set_max_clients (int max_clients)
 Set the max number of clients.
bool insert_external_socket (const Socket &sock)
 Insert an external socket into the main loop.
bool remove_external_socket (const Socket &sock)
 Remove an external socket which was inserted by insert_external_socket ().
Connection signal_connect_accept (SocketServerSlotSocket *slot)
 Connect a slot to socket accept signal.
Connection signal_connect_receive (SocketServerSlotSocket *slot)
 Connect a slot to socket receive signal.
Connection signal_connect_exception (SocketServerSlotSocket *slot)
 Connect a slot to socket exception signal.


Detailed Description

Socket Server class.

Class SocketServer provides basic operations to create a Socket Server, such as create, run etc.


Constructor & Destructor Documentation

scim::SocketServer::SocketServer ( int  max_clients = -1  ) 

Default constructor, do nothing.

scim::SocketServer::SocketServer ( const SocketAddress address,
int  max_clients = -1 
)

Constructor.

Parameters:
address create a server on this address.
max_clients the max number of socket clients, -1 means unlimited.

scim::SocketServer::~SocketServer (  ) 

Destructor.


Member Function Documentation

bool scim::SocketServer::valid (  )  const

Test if the server is valid.

Returns:
true if the socket server is valid and ready to run.

Reimplemented from scim::Socket.

bool scim::SocketServer::create ( const SocketAddress address  ) 

Create a socket on an address.

Parameters:
address the address to be listen.
Returns:
true if OK.

bool scim::SocketServer::run (  ) 

Run the server.

Returns:
true if it ran successfully.

bool scim::SocketServer::is_running (  )  const

Check if the server is running.

Returns:
true if it's running.

void scim::SocketServer::shutdown (  ) 

Shutdown the server.

bool scim::SocketServer::close_connection ( const Socket socket  ) 

Close a client connection.

Parameters:
socket the client socket object to be closed.
Returns:
true if the socket was closed successfully.

int scim::SocketServer::get_error_number (  )  const

Get the number of the last occurred error.

Returns:
the standard errno value.

Reimplemented from scim::Socket.

String scim::SocketServer::get_error_message (  )  const

Get the message of the last occurred error.

Returns:
the error message corresponding to the errno.

Reimplemented from scim::Socket.

int scim::SocketServer::get_max_clients (  )  const

Get the max number of socket clients.

Returns:
the max number of socket clients allowed to connect this server.

void scim::SocketServer::set_max_clients ( int  max_clients  ) 

Set the max number of clients.

Parameters:
max_clients the max number of socket clients allowed to connect this server.

bool scim::SocketServer::insert_external_socket ( const Socket sock  ) 

Insert an external socket into the main loop.

If data is available on this socket, then the receive signal will be emitted.

Parameters:
sock The external socket to be inserted.
Returns:
true if the socket is valid.

bool scim::SocketServer::remove_external_socket ( const Socket sock  ) 

Remove an external socket which was inserted by insert_external_socket ().

Parameters:
sock The external socket to be removed.
Returns:
true if the socket is valid and has been removed successfully.

Connection scim::SocketServer::signal_connect_accept ( SocketServerSlotSocket slot  ) 

Connect a slot to socket accept signal.

Connect a slot to socket accept signal, if a client connection is accepted, this signal will be emitted.

Parameters:
slot the slot to be connected to this signal.
Returns:
the Connection object of this slot-signal connection, can be used to disconnect the slot later.

Connection scim::SocketServer::signal_connect_receive ( SocketServerSlotSocket slot  ) 

Connect a slot to socket receive signal.

Connect a slot to socket receive signal, if a client send data to this server, this signal will be emitted.

Parameters:
slot the slot to be connected to this signal.
Returns:
the Connection object of this slot-signal connection, can be used to disconnect the slot later.

Connection scim::SocketServer::signal_connect_exception ( SocketServerSlotSocket slot  ) 

Connect a slot to socket exception signal.

Connect a slot to socket exception signal, if an exception was occurred to a client connection, this signal will be emitted.

Parameters:
slot the slot to be connected to this signal.
Returns:
the Connection object of this slot-signal connection, can be used to disconnect the slot later.


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

Generated on Sat Jan 24 23:45:09 2009 for scim by  doxygen 1.5.7.1