MAK Data Logger API Documentation for DIS
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
MAKLogger::DtLgrSimDriver Class Reference

The abstract interface for the class responsible for controlling the simulation. More...

+ Inheritance diagram for MAKLogger::DtLgrSimDriver:
+ Collaboration diagram for MAKLogger::DtLgrSimDriver:

Public Types

typedef DtLgrSimCommandFactory Factory
typedef DtLgrSimInterface Interface
typedef std::pair< double, bool > HeartbeatTimeRecord
 Heartbeat time (seconds), inheritable flag (ignored in DIS)

Public Member Functions

 DtLgrSimDriver (DtLgrSystemDriver &systemDriver)
 Constructor.
virtual ~DtLgrSimDriver ()
 Destructor.
virtual void tick ()
 Tick the driver.
virtual bool isConnected () const =0
 Get whether the simulation is connected.
virtual void addPacketFilter (DtLgrPacketFilter *filter)
 Add a packet filter object.
virtual void removeFilter (const DtLgrPacketFilter *filter)
 Remove a packet filter object.
virtual bool activity () const
 Get whether there is simulation activity (this tick).
virtual int filterCount () const
 Get the number of filters added.
virtual const DtLgrPacketFilterfilter (int index) const
 Get a filter based on an index from 0 to filterCount().
virtual bool processRemoteControls () const
 Get whether remove control messages are processed.
virtual bool recordRemoteControls () const
 Get whether remove control messages are recorded.
virtual bool allowAllRemoteControls () const
 Get whether remote control messages process regardless of site ID.
virtual bool allowRemoteDelete () const
 Get whether remove delete messages are processed.
virtual bool sendResponses () const
 Get whether to send responses.
virtual bool crippleGui () const
 Get whether to cripple the GUI (i.e., disable mouse clicks and minimize window)
virtual bool useLegacyPdu () const
 Get whether to use legacy control PDU.
virtual bool saveConnectConfiguration () const
 Get whether to save connection configuration.
virtual DtTime connectSendInterval () const
 Connect messages are sent using this interval.
virtual DtTime heartbeatSendInterval () const
 Logger heartbeat messages are sent using this interval.
virtual bool useBackChannel () const
 Use the back channel connection?
virtual const DtString & backChannelAddress () const
 Back channel connection address.
virtual int backChannelPort () const
 Back Channel port.
virtual const DtString & backChannelInterface () const
 Back Channel interface.
virtual bool scaleAttributes () const
 Get whether attributes are scaled.
virtual const std::map
< DtString,
DtLgrSimDriver::HeartbeatTimeRecord > & 
heartbeatIntervals () const
 Return a const reference to the heartbeat interval table.
virtual const std::map
< DtString,
DtLgrSimDriver::HeartbeatTimeRecord > & 
timeoutIntervals () const
 Return a const reference to the timeout interval table.
virtual void updateEntityTracker (const DtString &tracker)
 Update the driver's entity tracker to match argument.
virtual DtLgrEntityTrackerentityTracker ()
 Get the current entity tracker, or null if none.
virtual void addTemporaryTrackedEntity (const DtString &name)
virtual DtLgrSystemDriversystemDriver ()
 Get the system driver.
virtual const DtLgrSystemDriversystemDriver () const
 Get the system driver.
virtual DtLgrSimManagersimManager ()=0
 Get the simulation manager.
virtual const DtLgrSimManagersimManager () const =0
 Get the simulation manager.
- Public Member Functions inherited from 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 ~DtLgrCommandHandler ()
 DTOR.
void lock ()
 Locks the Command Handler.
void unlock ()
 Unlocks the Command Handler.
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.

Static Public Member Functions

static DtLgrSimDrivergetFromLogger (const DtLogger &logger)
 Get the sim driver used by the Logger object.

Protected Member Functions

virtual void setActivity (bool activity)
 Set whether there is activity this tick.
virtual void setVRFMessageFiltering (bool filter, int lowId, int hiId)
 Set the VRF Filtering.
virtual DtResponse setRemoteControlSettings (const DtCommand &command)
 Set the remote control settings.
virtual DtResponse setBackChannelConnection (const DtCommand &command)
virtual DtResponse setRemoteControlId (const DtCommand &command)
Connect Handlers
virtual DtResponse addFilter (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse connect (const DtCommand &command)=0
 Add a packet filter object.
virtual DtResponse connectShared (const DtCommand &command)=0
 Add a packet filter object.
virtual DtResponse disconnect (const DtCommand &command)=0
 Add a packet filter object.
virtual DtResponse setSaveConnectConfiguration (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse setFilterSettings (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse setScaleAttributes (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse setVRFFiltering (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse addFilteredEntityName (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse clearFilteredEntityNames (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse setHeartbeatIntervals (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse setTimeoutIntervals (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse addTemporaryTrackedEntity (const DtCommand &command)
 Add a packet filter object.
virtual DtResponse setPlaybackFilesUseRandomAccess (const DtCommand &command)
 Add a packet filter object.
- Protected Member Functions inherited from MAKLogger::DtLgrCommandHandler
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

bool myProcessRemoteControls
bool myUseBackChannel
bool myRecordRemoteControls
bool myAllowAllRemoteControls
bool myAllowRemoteDelete
bool mySendResponses
bool myCrippleGui
bool myUseLegacyPdu
bool mySaveConnectConfiguration
DtString myBackChannelAddress
DtString myBackChannelInterface
int myBackChannelPort
DtTime myConnectSendInterval
DtTime myHeartbeatSendInterval
bool myActivity
DtLgrVRFMessageFiltermyVRFMessageFilter
DtLgrEntityIdFiltermyEntityIdFilter
DtLgrSystemDrivermyDriver
DtLgrEntityTracker::TrackerUpdateId myLastEntityTrackerUpdate
DtTime myLastEntityTrackerUpdateTime
DtClock myTrackerUpdateClock
- Protected Attributes inherited from MAKLogger::DtLgrCommandHandler
DtRuntimeCommandFactorymyRuntimeCommandFactory
DtLgrCommandHandlerMap myCommandMap
DtCommandDispatcherSP myDispatcher
DtResponseQueue myResponseQueue
DtString myName
DtString myInfo
DtMutex myMutex

Additional Inherited Members

- Protected Types inherited from MAKLogger::DtLgrCommandHandler
typedef DtLgrCommandHandler *(* DriverCreator )(DtCommandDispatcherSP)
typedef std::map
< DtLgrCommandId,
DtCommandFunctorSP
DtLgrCommandHandlerMap
typedef std::map< DtString,
DtLgrCommandId
DtLgrCommandNameMap
typedef std::list< DtResponseDtResponseQueue

Detailed Description

The abstract interface for the class responsible for controlling the simulation.

Member Typedef Documentation

typedef std::pair<double, bool> MAKLogger::DtLgrSimDriver::HeartbeatTimeRecord

Heartbeat time (seconds), inheritable flag (ignored in DIS)

Constructor & Destructor Documentation

MAKLogger::DtLgrSimDriver::DtLgrSimDriver ( DtLgrSystemDriver systemDriver)

Constructor.

virtual MAKLogger::DtLgrSimDriver::~DtLgrSimDriver ( )
virtual

Destructor.

Member Function Documentation

virtual bool MAKLogger::DtLgrSimDriver::activity ( ) const
virtual

Get whether there is simulation activity (this tick).

virtual DtResponse MAKLogger::DtLgrSimDriver::addFilter ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::addFilteredEntityName ( const DtCommand command)
protectedvirtual

Add a packet filter object.

Reimplemented in MAKLogger::DtLgrDisSimDriver.

virtual void MAKLogger::DtLgrSimDriver::addPacketFilter ( DtLgrPacketFilter filter)
virtual

Add a packet filter object.

virtual void MAKLogger::DtLgrSimDriver::addTemporaryTrackedEntity ( const DtString &  name)
virtual
virtual DtResponse MAKLogger::DtLgrSimDriver::addTemporaryTrackedEntity ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual bool MAKLogger::DtLgrSimDriver::allowAllRemoteControls ( ) const
virtual

Get whether remote control messages process regardless of site ID.

virtual bool MAKLogger::DtLgrSimDriver::allowRemoteDelete ( ) const
virtual

Get whether remove delete messages are processed.

virtual const DtString& MAKLogger::DtLgrSimDriver::backChannelAddress ( ) const
virtual

Back channel connection address.

virtual const DtString& MAKLogger::DtLgrSimDriver::backChannelInterface ( ) const
virtual

Back Channel interface.

virtual int MAKLogger::DtLgrSimDriver::backChannelPort ( ) const
virtual

Back Channel port.

virtual DtResponse MAKLogger::DtLgrSimDriver::clearFilteredEntityNames ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::connect ( const DtCommand command)
protectedpure virtual

Add a packet filter object.

Implemented in MAKLogger::DtLgrDisSimDriver.

virtual DtTime MAKLogger::DtLgrSimDriver::connectSendInterval ( ) const
virtual

Connect messages are sent using this interval.

virtual DtResponse MAKLogger::DtLgrSimDriver::connectShared ( const DtCommand command)
protectedpure virtual

Add a packet filter object.

Implemented in MAKLogger::DtLgrDisSimDriver.

virtual bool MAKLogger::DtLgrSimDriver::crippleGui ( ) const
virtual

Get whether to cripple the GUI (i.e., disable mouse clicks and minimize window)

virtual DtResponse MAKLogger::DtLgrSimDriver::disconnect ( const DtCommand command)
protectedpure virtual

Add a packet filter object.

Implemented in MAKLogger::DtLgrDisSimDriver.

virtual DtLgrEntityTracker* MAKLogger::DtLgrSimDriver::entityTracker ( )
virtual

Get the current entity tracker, or null if none.

virtual const DtLgrPacketFilter* MAKLogger::DtLgrSimDriver::filter ( int  index) const
virtual

Get a filter based on an index from 0 to filterCount().

virtual int MAKLogger::DtLgrSimDriver::filterCount ( ) const
virtual

Get the number of filters added.

static DtLgrSimDriver* MAKLogger::DtLgrSimDriver::getFromLogger ( const DtLogger logger)
static

Get the sim driver used by the Logger object.

virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& MAKLogger::DtLgrSimDriver::heartbeatIntervals ( ) const
virtual

Return a const reference to the heartbeat interval table.

virtual DtTime MAKLogger::DtLgrSimDriver::heartbeatSendInterval ( ) const
virtual

Logger heartbeat messages are sent using this interval.

virtual bool MAKLogger::DtLgrSimDriver::isConnected ( ) const
pure virtual

Get whether the simulation is connected.

Implemented in MAKLogger::DtLgrDisSimDriver.

virtual bool MAKLogger::DtLgrSimDriver::processRemoteControls ( ) const
virtual

Get whether remove control messages are processed.

virtual bool MAKLogger::DtLgrSimDriver::recordRemoteControls ( ) const
virtual

Get whether remove control messages are recorded.

virtual void MAKLogger::DtLgrSimDriver::removeFilter ( const DtLgrPacketFilter filter)
virtual

Remove a packet filter object.

virtual bool MAKLogger::DtLgrSimDriver::saveConnectConfiguration ( ) const
virtual

Get whether to save connection configuration.

virtual bool MAKLogger::DtLgrSimDriver::scaleAttributes ( ) const
virtual

Get whether attributes are scaled.

virtual bool MAKLogger::DtLgrSimDriver::sendResponses ( ) const
virtual

Get whether to send responses.

virtual void MAKLogger::DtLgrSimDriver::setActivity ( bool  activity)
protectedvirtual

Set whether there is activity this tick.

virtual DtResponse MAKLogger::DtLgrSimDriver::setBackChannelConnection ( const DtCommand command)
protectedvirtual
virtual DtResponse MAKLogger::DtLgrSimDriver::setFilterSettings ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::setHeartbeatIntervals ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::setPlaybackFilesUseRandomAccess ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::setRemoteControlId ( const DtCommand command)
protectedvirtual
virtual DtResponse MAKLogger::DtLgrSimDriver::setRemoteControlSettings ( const DtCommand command)
protectedvirtual

Set the remote control settings.

virtual DtResponse MAKLogger::DtLgrSimDriver::setSaveConnectConfiguration ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::setScaleAttributes ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::setTimeoutIntervals ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual DtResponse MAKLogger::DtLgrSimDriver::setVRFFiltering ( const DtCommand command)
protectedvirtual

Add a packet filter object.

virtual void MAKLogger::DtLgrSimDriver::setVRFMessageFiltering ( bool  filter,
int  lowId,
int  hiId 
)
protectedvirtual

Set the VRF Filtering.

virtual DtLgrSimManager* MAKLogger::DtLgrSimDriver::simManager ( )
pure virtual

Get the simulation manager.

Implemented in MAKLogger::DtLgrDisSimDriver.

virtual const DtLgrSimManager* MAKLogger::DtLgrSimDriver::simManager ( ) const
pure virtual

Get the simulation manager.

Implemented in MAKLogger::DtLgrDisSimDriver.

virtual DtLgrSystemDriver* MAKLogger::DtLgrSimDriver::systemDriver ( )
virtual

Get the system driver.

virtual const DtLgrSystemDriver* MAKLogger::DtLgrSimDriver::systemDriver ( ) const
virtual

Get the system driver.

virtual void MAKLogger::DtLgrSimDriver::tick ( )
virtual

Tick the driver.

Implements MAKLogger::DtLgrCommandHandler.

Reimplemented in MAKLogger::DtLgrDisSimDriver.

virtual const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>& MAKLogger::DtLgrSimDriver::timeoutIntervals ( ) const
virtual

Return a const reference to the timeout interval table.

virtual void MAKLogger::DtLgrSimDriver::updateEntityTracker ( const DtString &  tracker)
virtual

Update the driver's entity tracker to match argument.

virtual bool MAKLogger::DtLgrSimDriver::useBackChannel ( ) const
virtual

Use the back channel connection?

virtual bool MAKLogger::DtLgrSimDriver::useLegacyPdu ( ) const
virtual

Get whether to use legacy control PDU.

Member Data Documentation

bool MAKLogger::DtLgrSimDriver::myActivity
protected
bool MAKLogger::DtLgrSimDriver::myAllowAllRemoteControls
protected
bool MAKLogger::DtLgrSimDriver::myAllowRemoteDelete
protected
DtString MAKLogger::DtLgrSimDriver::myBackChannelAddress
protected
DtString MAKLogger::DtLgrSimDriver::myBackChannelInterface
protected
int MAKLogger::DtLgrSimDriver::myBackChannelPort
protected
DtTime MAKLogger::DtLgrSimDriver::myConnectSendInterval
protected
bool MAKLogger::DtLgrSimDriver::myCrippleGui
protected
DtLgrSystemDriver* MAKLogger::DtLgrSimDriver::myDriver
protected
DtLgrEntityIdFilter* MAKLogger::DtLgrSimDriver::myEntityIdFilter
protected
DtTime MAKLogger::DtLgrSimDriver::myHeartbeatSendInterval
protected
DtLgrEntityTracker::TrackerUpdateId MAKLogger::DtLgrSimDriver::myLastEntityTrackerUpdate
protected
DtTime MAKLogger::DtLgrSimDriver::myLastEntityTrackerUpdateTime
protected
bool MAKLogger::DtLgrSimDriver::myProcessRemoteControls
protected
bool MAKLogger::DtLgrSimDriver::myRecordRemoteControls
protected
bool MAKLogger::DtLgrSimDriver::mySaveConnectConfiguration
protected
bool MAKLogger::DtLgrSimDriver::mySendResponses
protected
DtClock MAKLogger::DtLgrSimDriver::myTrackerUpdateClock
protected
bool MAKLogger::DtLgrSimDriver::myUseBackChannel
protected
bool MAKLogger::DtLgrSimDriver::myUseLegacyPdu
protected
DtLgrVRFMessageFilter* MAKLogger::DtLgrSimDriver::myVRFMessageFilter
protected

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

Document ID: Generated on Mon Jan 19 08:20:14 EST 2015 from SVN revision 149581
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)