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

corelinux::Handler Class Reference

Defines an interface for handling requests, accessing successors, and optionally implements the successor link. More...

#include <Handler.hpp>

Inheritance diagram for corelinux::Handler::

corelinux::Synchronized HelpHandler HandlerHelpHandler RequestHelpHandler List of all members.

Public Methods

 Handler (void)
 Default constructor.

 Handler (HandlerCref)
 Copy constructor.

virtual ~Handler (void)
 Virtual destructor.

HandlerRef operator= (HandlerCref)
 Operator assignment.

bool operator== (HandlerCref) const
 Equality operator.

HandlerPtr operator++ (void)
 Returns successor or NULLPTR if end-of-chain.

HandlerPtr operator-- (void)
 Returns predecessor or NULLPTR if end-of-chain.

void succeedHandler (HandlerPtr) throw ( Assertion )
 Have this tie itself as the successor to the argument handler pointer. More...

void precedeHandler (HandlerPtr) throw ( Assertion )
 Have this tie itself as the predecessor to the argument handler pointer. More...

void extractSelf (void)
 Removes links from self.

virtual void handleRequest (RequestPtr)
 Routine which either invokes the work method or passes along to successor. More...


Protected Methods

virtual bool handlesType (RequestPtr)=0
 Implementation required. More...

virtual void handle (RequestPtr)=0
 Implementation required. More...

void setSuccessor (HandlerPtr)
 Sets the objects theSuccessor member.

void setPredecessor (HandlerPtr)
 Sets the objects thePredecessor member.

void setSiblings (HandlerPtr, HandlerPtr)
 Sets the object siblings as atomic operation.


Protected Attributes

HandlerPtr theSuccessor
 Supports chaining of responsibility.

HandlerPtr thePredecessor
 Supports chaining of responsibility where.


Detailed Description

Defines an interface for handling requests, accessing successors, and optionally implements the successor link.

The builtin behavior is to allow forward and backward chaining of Handlers.


Member Function Documentation

virtual void corelinux::Handler::handle RequestPtr    [protected, pure virtual]
 

Implementation required.

Once determined if type is handled, then handle it!

Parameters:
Request  pointer to request object

Reimplemented in HandlerHelpHandler, and RequestHelpHandler.

void corelinux::Handler::handleRequest RequestPtr    aRequest [virtual]
 

Routine which either invokes the work method or passes along to successor.

First calls handleType which determines if work is handled here or passed on.

Parameters:
Request  pointer to request type

virtual bool corelinux::Handler::handlesType RequestPtr    [protected, pure virtual]
 

Implementation required.

Respond to type handler requests.

Parameters:
Request  pointer to request object to determine if this handler handles the request.
Returns:
bool true if this handler handles type

Reimplemented in HelpHandler.

void corelinux::Handler::precedeHandler HandlerPtr    aHandler throw ( Assertion )
 

Have this tie itself as the predecessor to the argument handler pointer.

Parameters:
Handler  pointer to preceed.
Exceptions:
Assertion  if HandlerPtr is NULLPTR

void corelinux::Handler::succeedHandler HandlerPtr    aHandler throw ( Assertion )
 

Have this tie itself as the successor to the argument handler pointer.

Parameters:
Handler  pointer to succeed
Exceptions:
Assertion  if HandlerPtr is NULLPTR


The documentation for this class was generated from the following files:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium