Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

Eris::Dispatcher Class Reference

Dispatchers form a tree, with the root being the connection object; each node has name which must be unique within it's parent context. More...

#include <Dispatcher.h>

Inheritance diagram for Eris::Dispatcher:

Eris::LeafDispatcher Eris::MessageDispatcher List of all members.

Public Member Functions

 Dispatcher (const std::string &nm)
virtual DispatcheraddSubdispatch (Dispatcher *sub, const std::string data=std::string())=0
virtual void rmvSubdispatch (Dispatcher *sub)=0
virtual DispatchergetSubdispatch (const std::string &nm)=0
 locate a child dispatcher by name (NULL if not found)

virtual bool dispatch (DispatchContextDeque &dq)=0
 primary invocation method; called by the parent node when a message is received

virtual bool empty ()=0
const std::string & getName () const
virtual const std::string & getData () const
void addRef ()
void decRef ()

Static Public Member Functions

std::string getAnonymousSuffix (Dispatcher *d)
void enter ()
void exit ()

Protected Member Functions

virtual void purge ()=0

Protected Attributes

const std::string _name

Detailed Description

Dispatchers form a tree, with the root being the connection object; each node has name which must be unique within it's parent context.

Derived dispatchers accept or reject messages by exmaning various fields, such as the type, class or destination. The leaves of the tree perform some useful action when a message is fully matched.


The documentation for this class was generated from the following files:
Generated on Thu Jul 29 08:12:34 2004 for Eris by doxygen 1.3.7