Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
MAKLogger::DtLgrCommandHandler Class Reference

This class provides the base interface for DtLgrCommandHandler. More...

+ Inheritance diagram for MAKLogger::DtLgrCommandHandler:
+ Collaboration diagram for MAKLogger::DtLgrCommandHandler:

List of all members.

Public Member Functions

 DtLgrCommandHandler (const DtString &name, DtRuntimeCommandFactory *, DtCommandDispatcherSP)
 Constructor which provides the name, the runtime factory, and the dispatcher which receives and transmits commands.
virtual ~DtLgrCommandHandler ()
 DTOR.
void lock ()
 Locks the Command Handler.
void unlock ()
 Unlocks the Command Handler.
virtual void tick ()=0
 Tick the driver, cause it to do anything on a regular basis.
DtCommandDispatcherSP dispatcher ()
 Get the dispatcher the command handler is connected to.
virtual const DtString & driverName () const
 Get the name of the driver.
virtual const DtString & driverInfo ()
 Get the name of the driver.
virtual void processCommand (const DtCommand &command)
 Process a specific command.
virtual bool releasePipeline ()=0
 Attempt to release the pipeline.
virtual bool getPipeline ()=0
 Attempt to acquire the pipeline.
virtual bool hasPipeline () const =0
 Does this object own the pipeline.

Protected Types

typedef DtLgrCommandHandler *(* DriverCreator )(DtCommandDispatcherSP)
typedef std::map
< DtLgrCommandId,
DtCommandFunctorSP
DtLgrCommandHandlerMap
typedef std::map< DtString,
DtLgrCommandId > 
DtLgrCommandNameMap
typedef std::list< DtResponse > DtResponseQueue

Protected Member Functions

void addCommandHandler (const DtCommandDefinition &commandDef, DtCommandFunctorSP commandFunctor)
 Add a commandHandler, this should not be virtual as it is called in constructors.
void removeCommandHandler (const DtCommandDefinition &commandDef)
 Remove a commandHandler, this is typically not called but necessary for replacing a command handler.
virtual void sendResponse (DtResponse response)
 Send a response, for functions that have multiple responses make this call.
virtual void queueResponse (DtResponse response)
 Queue a response for future sending.
virtual void sendQueuedResponses ()
 Sends all queued responses and clears the queue.
virtual void emptyResponseQueue ()
 Empty the response queue (deleting any unsent responses).

Protected Attributes

DtRuntimeCommandFactorymyRuntimeCommandFactory
DtLgrCommandHandlerMap myCommandMap
DtCommandDispatcherSP myDispatcher
DtResponseQueue myResponseQueue
DtString myName
DtString myInfo
DtMutex myMutex

Detailed Description

This class provides the base interface for DtLgrCommandHandler.


Constructor & Destructor Documentation

MAKLogger::DtLgrCommandHandler::DtLgrCommandHandler ( const DtString &  name,
DtRuntimeCommandFactory ,
DtCommandDispatcherSP   
)

Constructor which provides the name, the runtime factory, and the dispatcher which receives and transmits commands.


Member Function Documentation

void MAKLogger::DtLgrCommandHandler::addCommandHandler ( const DtCommandDefinition commandDef,
DtCommandFunctorSP  commandFunctor 
) [protected]

Add a commandHandler, this should not be virtual as it is called in constructors.

virtual bool MAKLogger::DtLgrCommandHandler::getPipeline ( ) [pure virtual]

Attempt to acquire the pipeline.

Return values:
trueThe pipeline has been acquired.
falseThe pipeline has not been acquired.

Implemented in MAKLogger::DtLgrDisSimDriver, MAKLogger::DtStateObserverModel, MAKLogger::DtLgrEditorDriver, MAKLogger::DtLgrRecordDriver, and MAKLogger::DtLgrPlaybackDriver.

virtual bool MAKLogger::DtLgrCommandHandler::hasPipeline ( ) const [pure virtual]

Does this object own the pipeline.

Return values:
trueThe pipeline is owned.
falseThe pipeline is not owned.

Implemented in MAKLogger::DtLgrDisSimDriver, MAKLogger::DtStateObserverModel, MAKLogger::DtLgrEditorDriver, MAKLogger::DtLgrRecordDriver, and MAKLogger::DtLgrPlaybackDriver.

virtual bool MAKLogger::DtLgrCommandHandler::releasePipeline ( ) [pure virtual]

Attempt to release the pipeline.

This function is called when the pipeline has been requested by a different driver. If the driver can't release the pipeline it will return false. By default this method simply succeeds. If the driver should override this function if it wishes to deny the request.

Return values:
trueThe pipeline has been released.
falseThe pipeline has not been released.

Implemented in MAKLogger::DtLgrDisSimDriver, MAKLogger::DtStateObserverModel, MAKLogger::DtLgrEditorDriver, MAKLogger::DtLgrRecordDriver, and MAKLogger::DtLgrPlaybackDriver.

void MAKLogger::DtLgrCommandHandler::removeCommandHandler ( const DtCommandDefinition commandDef) [protected]

Remove a commandHandler, this is typically not called but necessary for replacing a command handler.


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

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)