Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

MPS::Server Class Reference

Generalised server for MPS objects, proxies, and gateways. More...

#include <server.h>

Inheritance diagram for MPS::Server:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual ~Server ()
string const& getObjectName () const
vector<string> getBoundNames () const
string getBoundName (string const &transportName) const
virtual void dispatch (InputStream &request, OutputStream &reply)=0

Protected Methods

 Server (string const &_o)

Private Types

typedef map<string, string> boundNames_t

Private Methods

void bindName (Address const &addr)
void unbindName (string const &transport)

Private Attributes

boundNames_t boundNames
string objectName

Friends

class  Transport

Detailed Description

Generalised server for MPS objects, proxies, and gateways.

Responds to requests which come in over a connection. Subclasses implement particular request dispatch strategies.

Definition at line 49 of file server.h.


Member Typedef Documentation

typedef map< string, string > MPS::Server::boundNames_t<string, string> [private]
 

A transport-vs-address map.

Definition at line 51 of file server.h.


Constructor & Destructor Documentation

MPS::Server::Server ( string const & _o ) [inline, protected]
 

Construct a Server with the given human-readable name.

Definition at line 70 of file server.h.

MPS::Server::~Server ( ) [inline, virtual]
 

Definition at line 75 of file server.h.


Member Function Documentation

void MPS::Server::bindName ( Address const & addr ) [inline, private]
 

Register an address that this server is available at.

Definition at line 59 of file server.h.

void MPS::Server::dispatch ( InputStream & request,
OutputStream & reply ) [pure virtual]
 

Dispatches an method request coming in over a connection.

Reimplemented in MPS::InterfaceServer.

Referenced by MPS::InetTransport::InetDispatcher::dispatchRequest().

string MPS::Server::getBoundName ( string const & transportName ) const [inline]
 

Returns the address that this Interface has been bound to via a particular Transport, or the empty-string if this Interface has not been bound to the named transport.

Definition at line 88 of file server.h.

vector< string > MPS::Server::getBoundNames ( ) const
 

Returns all addresses that this server has been bound to.

string const & MPS::Server::getObjectName ( ) const [inline]
 

Retrieve the symbolic/human name for this object.

Definition at line 78 of file server.h.

void MPS::Server::unbindName ( string const & transport ) [inline, private]
 

Deregister an address that this server was available at.

Definition at line 64 of file server.h.


Friends And Related Function Documentation

class Transport [friend]
 

Allows access to bindName() and unbindName().

Reimplemented in MPS::InterfaceServer.

Definition at line 56 of file server.h.


Member Data Documentation

boundNames_t MPS::Server::boundNames [private]
 

All addresses this server is reachable at.

Definition at line 52 of file server.h.

string MPS::Server::objectName [private]
 

The human-readable name for this server object.

Definition at line 54 of file server.h.


The documentation for this class was generated from the following file:
Generated at Wed Aug 15 01:05:31 2001 for mps-cpp by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001