MAK Data Logger API Documentation for HLA
List of all members | 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:

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 DtStringdriverName () const
 Get the name of the driver.
virtual const DtStringdriverInfo ()
 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< DtResponseDtResponseQueue

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.

Member Typedef Documentation

typedef DtLgrCommandHandler*(* MAKLogger::DtLgrCommandHandler::DriverCreator)(DtCommandDispatcherSP)
protected

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.

virtual MAKLogger::DtLgrCommandHandler::~DtLgrCommandHandler ( )
virtual

DTOR.

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.

DtCommandDispatcherSP MAKLogger::DtLgrCommandHandler::dispatcher ( )

Get the dispatcher the command handler is connected to.

virtual const DtString& MAKLogger::DtLgrCommandHandler::driverInfo ( )
virtual

Get the name of the driver.

virtual const DtString& MAKLogger::DtLgrCommandHandler::driverName ( ) const
virtual

Get the name of the driver.

virtual void MAKLogger::DtLgrCommandHandler::emptyResponseQueue ( )
protectedvirtual

Empty the response queue (deleting any unsent responses).

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::DtStateObserverModel, MAKLogger::DtLgrHlaSimDriver, 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::DtStateObserverModel, MAKLogger::DtLgrHlaSimDriver, MAKLogger::DtLgrEditorDriver, MAKLogger::DtLgrRecordDriver, and MAKLogger::DtLgrPlaybackDriver.

void MAKLogger::DtLgrCommandHandler::lock ( )

Locks the Command Handler.

virtual void MAKLogger::DtLgrCommandHandler::processCommand ( const DtCommand command)
virtual

Process a specific command.

virtual void MAKLogger::DtLgrCommandHandler::queueResponse ( DtResponse  response)
protectedvirtual

Queue a response for future sending.

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::DtStateObserverModel, MAKLogger::DtLgrEditorDriver, MAKLogger::DtLgrHlaSimDriver, 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.

virtual void MAKLogger::DtLgrCommandHandler::sendQueuedResponses ( )
protectedvirtual

Sends all queued responses and clears the queue.

virtual void MAKLogger::DtLgrCommandHandler::sendResponse ( DtResponse  response)
protectedvirtual

Send a response, for functions that have multiple responses make this call.

virtual void MAKLogger::DtLgrCommandHandler::tick ( )
pure virtual
void MAKLogger::DtLgrCommandHandler::unlock ( )

Unlocks the Command Handler.

Member Data Documentation

DtLgrCommandHandlerMap MAKLogger::DtLgrCommandHandler::myCommandMap
protected
DtCommandDispatcherSP MAKLogger::DtLgrCommandHandler::myDispatcher
protected
DtString MAKLogger::DtLgrCommandHandler::myInfo
protected
DtMutex MAKLogger::DtLgrCommandHandler::myMutex
protected
DtString MAKLogger::DtLgrCommandHandler::myName
protected
DtResponseQueue MAKLogger::DtLgrCommandHandler::myResponseQueue
protected
DtRuntimeCommandFactory* MAKLogger::DtLgrCommandHandler::myRuntimeCommandFactory
protected

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

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)