NewNet::ServerSocket Class Reference

Base class for network server sockets. More...

#include <nnserversocket.h>

Inheritance diagram for NewNet::ServerSocket:

NewNet::Socket NewNet::Object NewNet::TcpServerSocket NewNet::UnixServerSocket List of all members.

Public Member Functions

 ServerSocket ()
 Create an empty server socket.
virtual void disconnect ()
 Disconnect the server socket.
virtual void process ()
 Process network events.

Public Attributes

Event< ServerSocket * > cannotListenEvent
 Emitted when the socket can't start listening.
Event< ServerSocket * > listeningEvent
 Emitted when the socket starts listening.
Event< int > acceptedEvent
 Emitted when a client has been accepted.
Event< ServerSocket * > disconnectedEvent
 Emitted when the server socket has been closed.

Detailed Description

Provides a base class that will monitor the state of the socket and emit events when something happens. Note: this class is usually not used by your application. Applications should use TcpServerSocket, UnixServerSocket or one of the associated factories instead.

Definition at line 34 of file nnserversocket.h.


Constructor & Destructor Documentation

NewNet::ServerSocket::ServerSocket (  )  [inline]

This will create an empty server socket. The server socket starts in an uninitialized state without a descriptor.

Definition at line 40 of file nnserversocket.h.


Member Function Documentation

void NewNet::ServerSocket::disconnect (  )  [virtual]

Closes the server socket and clean up any remaining resources.

Reimplemented in NewNet::UnixServerSocket.

Definition at line 26 of file nnserversocket.cpp.

References NewNet::Socket::descriptor(), disconnectedEvent, NewNet::Socket::setSocketState(), NewNet::Socket::SocketDisconnected, NewNet::Socket::SocketListening, and NewNet::Socket::socketState().

Referenced by NewNet::UnixServerSocket::disconnect().

void NewNet::ServerSocket::process (  )  [virtual]

Gets called by the reactor detects a new connection attempt on the server socket. When that happens, accept() is called.

Reimplemented from NewNet::Socket.

Definition at line 40 of file nnserversocket.cpp.

References acceptedEvent, NewNet::Socket::descriptor(), NewNet::Socket::readyState(), NewNet::Socket::setReadyState(), and NewNet::Socket::StateReceive.


Member Data Documentation

Event<ServerSocket *> NewNet::ServerSocket::cannotListenEvent

Subclasses emit this event when there's an error when it's attempting to start to listen.

Definition at line 56 of file nnserversocket.h.

Referenced by NewNet::UnixServerSocket::listen(), and NewNet::TcpServerSocket::listen().

Event<ServerSocket *> NewNet::ServerSocket::listeningEvent

Subclasses emit this when they start listening.

Definition at line 59 of file nnserversocket.h.

Referenced by NewNet::UnixServerSocket::listen(), and NewNet::TcpServerSocket::listen().

Event<int> NewNet::ServerSocket::acceptedEvent

Emitted when a client has been accepted. The argument is the descriptor for the new client.

Definition at line 63 of file nnserversocket.h.

Referenced by process().

Event<ServerSocket *> NewNet::ServerSocket::disconnectedEvent

Emitted when the server socket has been closed.

Definition at line 66 of file nnserversocket.h.

Referenced by disconnect().


The documentation for this class was generated from the following files:
Generated on Sun Jan 7 14:00:02 2007 for NewNet by  doxygen 1.5.1