Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
MAKLogger::DtStateObserverModel Class Reference

The implementation of the system logic of the State Observer. More...

+ Inheritance diagram for MAKLogger::DtStateObserverModel:
+ Collaboration diagram for MAKLogger::DtStateObserverModel:

List of all members.

Public Member Functions

 DtStateObserverModel (DtStateObserverController *, MAKLogger::DtLgrSystemDriver &driver)
 CTOR.
virtual ~DtStateObserverModel ()
 DTOR.
void connect (MAKLogger::DtMessageState *)
 Connect to a state object.
int totalObjects () const
 Get the total number of objects.
int totalAliveObjects () const
 Get the total 'alive' objects being published.
int totalDeadObjects () const
 Get the total 'dead' objects being published.
int entityCount () const
 Get the current entity publisher count.
int aggregateCount () const
 Get the current aggregate publisher count.
int envProcCount () const
 Get the environmental process publisher count.
virtual void tick ()
 Tick the driver, cause it to do anything on a regular basis.
virtual bool releasePipeline ()
 Attempt to release the pipeline.
virtual bool getPipeline ()
 Attempt to acquire the pipeline.
virtual bool hasPipeline () const
 Does this object own the pipeline.
virtual DtResponse handleUpdateRequest (const DtCommand &)
 Handle update response commands.
virtual void enableObservers ()
 Activate the observer functions.
virtual void disableObservers ()
 Deactivate the observer functions.

Protected Types

typedef
MAKLogger::DtObserverFunctor
< DtStateObserverModel,
MAKLogger::DtMessageState
MessageStateObserverFunctor

Protected Member Functions

virtual void updateState (const MAKLogger::DtMessageState &)
 Function to observer update state events.
virtual void activate (const MAKLogger::DtMessageState &)
 Function to observer activate state event.
virtual void deactivate (const MAKLogger::DtMessageState &)
 Function to observer deactivate state event.
virtual void endDiff (const MAKLogger::DtMessageState &state)
 Function to obser the state after an endDiff.

Static Protected Member Functions

static bool equals (const MAKLogger::DtStateObject *object, DtU64 id)
 Test function to compare an object to an id.

Protected Attributes

MessageStateObserverFunctor myPostUpdateObserver
MessageStateObserverFunctor myActivateObserver
MessageStateObserverFunctor myDeactivateObserver
MessageStateObserverFunctor myEndDiffObserver
std::set< DtU64 > myActiveObjects
int myTotalCount
int myTotalAliveCount
int myTotalDeadCount
int myEntityCount
int myAggregateCount
int myEnvProcCount
DtStateObserverControllermyController
bool myActivateObserverFlag

Detailed Description

The implementation of the system logic of the State Observer.

DtStateObserverModel represents the model in a Model-View-Controller pattern.


Member Function Documentation

virtual bool MAKLogger::DtStateObserverModel::getPipeline ( ) [virtual]

Attempt to acquire the pipeline.

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

Implements MAKLogger::DtLgrCommandHandler.

virtual bool MAKLogger::DtStateObserverModel::hasPipeline ( ) const [virtual]

Does this object own the pipeline.

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

Implements MAKLogger::DtLgrCommandHandler.

virtual bool MAKLogger::DtStateObserverModel::releasePipeline ( ) [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.

Implements MAKLogger::DtLgrCommandHandler.


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)