MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
MAKLogger::DtLgrDisSimDriver Class Reference

DIS simulation driver controls connection to DIS simulation. More...

+ Inheritance diagram for MAKLogger::DtLgrDisSimDriver:
+ Collaboration diagram for MAKLogger::DtLgrDisSimDriver:

Public Types

typedef DtLgrDisCommandFactory Factory
 
typedef DtLgrDisSimInterface Interface
 
- Public Types inherited from MAKLogger::DtLgrSimDriver
typedef DtLgrSimCommandFactory Factory
 
typedef DtLgrSimInterface Interface
 
typedef std::pair< double, bool > HeartbeatTimeRecord
 Heartbeat time (seconds), inheritable flag (ignored in DIS) More...
 

Public Member Functions

virtual ~DtLgrDisSimDriver ()
 
virtual void tick ()
 Tick the driver. More...
 
DtResponse setConnectionParameters (const DtCommand &command)
 set Connection Parameters command handler. More...
 
DtResponse setDisVersion (const DtCommand &command)
 Set DIS version command handler. More...
 
DtResponse setHeartbeatRate (const DtCommand &command)
 Set heartbeat rate command handler. More...
 
DtResponse setTimeoutRate (const DtCommand &command)
 Set timeout rate command handler. More...
 
DtResponse setDrainInputSettings (const DtCommand &command)
 Set the drain input settings command handler. More...
 
virtual DtLgrSimManagersimManager ()
 Get the simulation manager. More...
 
virtual const DtLgrSimManagersimManager () const
 Get the simulation manager. More...
 
virtual DtLgrDisSimulationManagerdisSimManager ()
 
virtual const
DtLgrDisSimulationManager
disSimManager () const
 
virtual int port () const
 
virtual int exerciseId () const
 
virtual int siteId () const
 
virtual int appNumber () const
 
virtual bool useAsynchIO () const
 
virtual DtInetAddr destAddr () const
 
virtual DtInetAddr deviceAddr () const
 
virtual const DtString & netmask () const
 
virtual int sendBufferSize () const
 
virtual int recvBufferSize () const
 
virtual int multicastTtl () const
 
virtual const std::vector
< DtString > & 
mcastAddresses () const
 
virtual int disVersion () const
 
virtual double heartbeatRate () const
 
virtual double timeoutRate () const
 
virtual double drainInputMaxTime () const
 
virtual int numPdusToReadPerTimeCheck () const
 
virtual bool isConnected () const
 Get whether the simulation is connected. More...
 
virtual const DtDisDescriptordisDescription () const
 
virtual const
DtLgrDisEntityTypeManager
entityTypeManager () const
 
- Public Member Functions inherited from MAKLogger::DtLgrSimDriver
 DtLgrSimDriver (DtLgrSystemDriver &systemDriver)
 Constructor. More...
 
virtual ~DtLgrSimDriver ()
 Destructor. More...
 
virtual bool releasePipeline ()
 Ask the driver to release the pipeline. More...
 
bool getPipeline ()
 Have the driver attempt to acquire the message pipeline. More...
 
bool hasPipeline () const
 Check to see if the driver has the message pipeline. More...
 
virtual void addPacketFilter (DtLgrPacketFilter *filter)
 Add a packet filter object. More...
 
virtual void removeFilter (const DtLgrPacketFilter *filter)
 Remove a packet filter object. More...
 
virtual bool activity () const
 Get whether there is simulation activity (this tick). More...
 
virtual int filterCount () const
 Get the number of filters added. More...
 
virtual const DtLgrPacketFilterfilter (int index) const
 Get a filter based on an index from 0 to filterCount(). More...
 
virtual DtLgrPlaybackDrivergetPlaybackDriver (bool checkForFileOpen) const
 Get the playback driver. Throw if can't get it or checking file open and its not. More...
 
virtual DtLgrRecordDrivergetRecordDriver (bool checkForFileOpen) const
 Get the playback driver. Throw if can't get it or checking file open and its not. More...
 
virtual bool processRemoteControls () const
 Get whether remove control messages are processed. More...
 
virtual bool recordRemoteControls () const
 Get whether remove control messages are recorded. More...
 
virtual bool allowAllRemoteControls () const
 Get whether remote control messages process regardless of site ID. More...
 
virtual bool allowRemoteDelete () const
 Get whether remove delete messages are processed. More...
 
virtual bool sendResponses () const
 Get whether to send responses. More...
 
virtual bool crippleGui () const
 Get whether to cripple the GUI (i.e., disable mouse clicks and minimize window) More...
 
virtual bool useLegacyPdu () const
 Get whether to use legacy control PDU. More...
 
virtual bool saveConnectConfiguration () const
 Get whether to save connection configuration. More...
 
virtual bool saveIndexConfiguration () const
 Get whether to save checkpoint configuration. More...
 
virtual bool saveProtocolConfiguration () const
 Get whether to save connection configuration. More...
 
virtual bool listenWhenIdle () const
 Get whether listen when idle is enabled. More...
 
virtual bool staticDRAlgorithmWhenPaused () const
 Get whether to set Static DR Algorithm when Paused. More...
 
virtual void activateIdleListening ()
 Activate idle listening. More...
 
virtual bool isSimTimeAdjusted () const
 Get whether sim time is adjusted. More...
 
virtual DtTime connectSendInterval () const
 Connect messages are sent using this interval. More...
 
virtual DtTime heartbeatSendInterval () const
 Logger heartbeat messages are sent using this interval. More...
 
virtual bool useSimChannel () const
 Use the sim channel connection? More...
 
virtual bool useBackChannel () const
 Use the back channel connection? More...
 
virtual const DtString & backChannelAddress () const
 Back channel connection address. More...
 
virtual int backChannelPort () const
 Back Channel port. More...
 
virtual const DtString & backChannelInterface () const
 Back Channel interface. More...
 
virtual bool scaleAttributes () const
 Get whether attributes are scaled. More...
 
virtual const std::map
< DtString,
DtLgrSimDriver::HeartbeatTimeRecord > & 
heartbeatIntervals () const
 Return a const reference to the heartbeat interval table. More...
 
virtual const std::map
< DtString,
DtLgrSimDriver::HeartbeatTimeRecord > & 
timeoutIntervals () const
 Return a const reference to the timeout interval table. More...
 
virtual void updateEntityTracker (const DtString &tracker)
 Update the driver's entity tracker to match argument. More...
 
virtual DtLgrEntityTrackerentityTracker ()
 Get the current entity tracker, or null if none. More...
 
virtual void addTemporaryTrackedEntity (const DtString &name)
 
virtual void addTemporaryTrackedMarking (const DtString &marking)
 
virtual DtLgrSystemDriversystemDriver ()
 Get the system driver. More...
 
virtual const DtLgrSystemDriversystemDriver () const
 Get the system driver. More...
 
- 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. More...
 
virtual ~DtLgrCommandHandler ()
 DTOR. More...
 
void lock ()
 Locks the Command Handler. More...
 
void unlock ()
 Unlocks the Command Handler. More...
 
DtCommandDispatcherSP dispatcher ()
 Get the dispatcher the command handler is connected to. More...
 
virtual const DtString & driverName () const
 Get the name of the driver. More...
 
virtual const DtString & driverInfo ()
 Get the name of the driver. More...
 
virtual void processCommand (const DtCommand &command)
 Process a specific command. More...
 
virtual bool spawnThread (DtLgrCommandThread *commandThread)
 Spawn a new thread. More...
 
virtual void stopAllThreads ()
 Stop all running threads. More...
 
virtual void stopThread (DtLgrCommandThread *commandThread)
 Stop a thread and deallocate it's resources. More...
 

Protected Member Functions

virtual void configureConnectionInitalizer (DtExerciseConnInitializer &connInitializer)
 Configure the exercise connection initializer. More...
 
virtual DtResponse connect (const DtCommand &command)
 Command handler for the connectCommand. More...
 
virtual DtResponse connectShared (const DtCommand &command)
 Command handler for the connect shared command. More...
 
virtual DtResponse disconnect (const DtCommand &command)
 Command handler for the disconnectCommand. More...
 
virtual void updateRecordRemoteControlFilter ()
 
virtual DtResponse setDisDescription (const DtCommand &command)
 Command handler for the setDisDescriptionCommand. More...
 
virtual DtResponse setEntityTypeManager (const DtCommand &command)
 Command handler for the setEntityTypeManagerCommand. More...
 
virtual DtResponse setCommonEntityTypes (const DtCommand &command)
 Command handler for the SetCommonEntityTypesCommand. More...
 
virtual DtResponse filterEntityTypes (const DtCommand &command)
 Command handler for the FilterEntityTypesCommand. More...
 
virtual DtResponse setCommonEntityIds (const DtCommand &command)
 Command handler for the SetCommonEntityIdsCommand. More...
 
virtual DtResponse filterEntityIds (const DtCommand &command)
 Command handler for the FilterEntityIdsCommand. More...
 
virtual DtResponse addCustomPDU (const DtCommand &command)
 Command handler for the AddCustomPDUCommand. More...
 
virtual DtResponse addFilteredEntityName (const DtCommand &command)
 Add a packet filter object. More...
 
- Protected Member Functions inherited from MAKLogger::DtLgrSimDriver
virtual void setActivity (bool activity)
 Set whether there is activity this tick. More...
 
virtual void setVRFMessageFiltering (bool filter, int lowId, int hiId)
 Set the VRF Filtering. More...
 
virtual DtResponse addFilter (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setSaveConnectConfiguration (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setSaveIndexConfiguration (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setSaveProtocolConfiguration (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setFilterSettings (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setScaleAttributes (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setVRFFiltering (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse clearFilteredEntityNames (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setHeartbeatIntervals (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setTimeoutIntervals (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse addTemporaryTrackedEntity (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setPlaybackFilesUseRandomAccess (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setExtendedStopTimeoutInterval (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setListenWhenIdle (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setAdjustSimTime (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setStaticDRAlgorithmWhenPaused (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse filterMarkings (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setRemoteControlSettings (const DtCommand &command)
 Set the remote control settings. More...
 
virtual DtResponse setBackChannelConnection (const DtCommand &command)
 Add a packet filter object. More...
 
virtual DtResponse setRemoteControlId (const DtCommand &command)
 Add a packet filter object. More...
 
- 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. More...
 
void removeCommandHandler (const DtCommandDefinition &commandDef)
 Remove a commandHandler, this is typically not called but necessary for replacing a command handler. More...
 
virtual void sendResponse (DtResponse response)
 Send a response, for functions that have multiple responses make this call. More...
 
virtual void queueResponse (DtResponse response)
 Queue a response for future sending. More...
 
virtual void sendQueuedResponses ()
 Sends all queued responses and clears the queue. More...
 
virtual void emptyResponseQueue ()
 Empty the response queue (deleting any unsent responses). More...
 
DtResponse finishThread (const DtCommand &command)
 Finish the thread. More...
 

Protected Attributes

DtLgrDisSimulationManagermySimManager
 
DtLgrPduTypeFiltermyPduFilter
 
DtLgrDisEntityTypeFiltermyEntityTypeFilter
 
int myPort
 
int myExerciseId
 
int mySiteId
 
int myAppNumber
 
bool myUseAsynchIO
 
int myDisVersion
 
DtInetAddr myDestAddr
 
DtInetAddr myDeviceAddr
 
DtString myNetmask
 
int mySendBufferSize
 
int myRecvBufferSize
 
int myMulticastTtl
 
std::vector< DtString > myMcastAddresses
 
- Protected Attributes inherited from MAKLogger::DtLgrSimDriver
bool myUseSimChannel
 
bool myUseBackChannel
 
bool myRecordRemoteControls
 
bool myAllowAllRemoteControls
 
bool myAllowRemoteDelete
 
bool mySendResponses
 
bool myCrippleGui
 
bool myUseLegacyPdu
 
bool mySaveConnectConfiguration
 
bool mySaveIndexConfiguration
 
bool mySaveProtocolConfiguration
 
DtString myBackChannelAddress
 
DtString myBackChannelInterface
 
int myBackChannelPort
 
DtTime myConnectSendInterval
 
DtTime myHeartbeatSendInterval
 
bool myActivity
 
DtLgrVRFMessageFiltermyVRFMessageFilter
 
DtLgrEntityIdFiltermyEntityIdFilter
 
DtLgrMarkingFiltermyMarkingFilter
 
DtLgrSystemDrivermyDriver
 
DtMessagePipelinemyPipeline
 
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
 
CommandThreadMap myRunningCommandThreads
 Running command threads. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MAKLogger::DtLgrSimDriver
static DtLgrSimDrivergetFromLogger (const DtLogger &logger)
 Get the sim driver used by the Logger object. More...
 
- 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
 
typedef std::map
< DtLgrCommandThread
*, DtThread * > 
CommandThreadMap
 A set of running command threads. More...
 

Detailed Description

DIS simulation driver controls connection to DIS simulation.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual MAKLogger::DtLgrDisSimDriver::~DtLgrDisSimDriver ( )
virtual

Member Function Documentation

virtual DtResponse MAKLogger::DtLgrDisSimDriver::addCustomPDU ( const DtCommand command)
protectedvirtual

Command handler for the AddCustomPDUCommand.

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

Add a packet filter object.

Reimplemented from MAKLogger::DtLgrSimDriver.

virtual int MAKLogger::DtLgrDisSimDriver::appNumber ( ) const
virtual
virtual void MAKLogger::DtLgrDisSimDriver::configureConnectionInitalizer ( DtExerciseConnInitializer &  connInitializer)
protectedvirtual

Configure the exercise connection initializer.

Implements MAKLogger::DtLgrSimDriver.

virtual DtResponse MAKLogger::DtLgrDisSimDriver::connect ( const DtCommand command)
protectedvirtual

Command handler for the connectCommand.

Implements MAKLogger::DtLgrSimDriver.

virtual DtResponse MAKLogger::DtLgrDisSimDriver::connectShared ( const DtCommand command)
protectedvirtual

Command handler for the connect shared command.

Implements MAKLogger::DtLgrSimDriver.

virtual DtInetAddr MAKLogger::DtLgrDisSimDriver::destAddr ( ) const
virtual
virtual DtInetAddr MAKLogger::DtLgrDisSimDriver::deviceAddr ( ) const
virtual
virtual DtResponse MAKLogger::DtLgrDisSimDriver::disconnect ( const DtCommand command)
protectedvirtual

Command handler for the disconnectCommand.

Implements MAKLogger::DtLgrSimDriver.

virtual const DtDisDescriptor* MAKLogger::DtLgrDisSimDriver::disDescription ( ) const
virtual
virtual DtLgrDisSimulationManager* MAKLogger::DtLgrDisSimDriver::disSimManager ( )
virtual
virtual const DtLgrDisSimulationManager* MAKLogger::DtLgrDisSimDriver::disSimManager ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::disVersion ( ) const
virtual
virtual double MAKLogger::DtLgrDisSimDriver::drainInputMaxTime ( ) const
virtual
virtual const DtLgrDisEntityTypeManager* MAKLogger::DtLgrDisSimDriver::entityTypeManager ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::exerciseId ( ) const
virtual
virtual DtResponse MAKLogger::DtLgrDisSimDriver::filterEntityIds ( const DtCommand command)
protectedvirtual

Command handler for the FilterEntityIdsCommand.

virtual DtResponse MAKLogger::DtLgrDisSimDriver::filterEntityTypes ( const DtCommand command)
protectedvirtual

Command handler for the FilterEntityTypesCommand.

virtual double MAKLogger::DtLgrDisSimDriver::heartbeatRate ( ) const
virtual
virtual bool MAKLogger::DtLgrDisSimDriver::isConnected ( ) const
virtual

Get whether the simulation is connected.

Implements MAKLogger::DtLgrSimDriver.

virtual const std::vector<DtString>& MAKLogger::DtLgrDisSimDriver::mcastAddresses ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::multicastTtl ( ) const
virtual
virtual const DtString& MAKLogger::DtLgrDisSimDriver::netmask ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::numPdusToReadPerTimeCheck ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::port ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::recvBufferSize ( ) const
virtual
virtual int MAKLogger::DtLgrDisSimDriver::sendBufferSize ( ) const
virtual
virtual DtResponse MAKLogger::DtLgrDisSimDriver::setCommonEntityIds ( const DtCommand command)
protectedvirtual

Command handler for the SetCommonEntityIdsCommand.

virtual DtResponse MAKLogger::DtLgrDisSimDriver::setCommonEntityTypes ( const DtCommand command)
protectedvirtual

Command handler for the SetCommonEntityTypesCommand.

DtResponse MAKLogger::DtLgrDisSimDriver::setConnectionParameters ( const DtCommand command)

set Connection Parameters command handler.

virtual DtResponse MAKLogger::DtLgrDisSimDriver::setDisDescription ( const DtCommand command)
protectedvirtual

Command handler for the setDisDescriptionCommand.

DtResponse MAKLogger::DtLgrDisSimDriver::setDisVersion ( const DtCommand command)

Set DIS version command handler.

DtResponse MAKLogger::DtLgrDisSimDriver::setDrainInputSettings ( const DtCommand command)

Set the drain input settings command handler.

virtual DtResponse MAKLogger::DtLgrDisSimDriver::setEntityTypeManager ( const DtCommand command)
protectedvirtual

Command handler for the setEntityTypeManagerCommand.

DtResponse MAKLogger::DtLgrDisSimDriver::setHeartbeatRate ( const DtCommand command)

Set heartbeat rate command handler.

DtResponse MAKLogger::DtLgrDisSimDriver::setTimeoutRate ( const DtCommand command)

Set timeout rate command handler.

virtual DtLgrSimManager* MAKLogger::DtLgrDisSimDriver::simManager ( )
virtual

Get the simulation manager.

Implements MAKLogger::DtLgrSimDriver.

virtual const DtLgrSimManager* MAKLogger::DtLgrDisSimDriver::simManager ( ) const
virtual

Get the simulation manager.

Implements MAKLogger::DtLgrSimDriver.

virtual int MAKLogger::DtLgrDisSimDriver::siteId ( ) const
virtual
virtual void MAKLogger::DtLgrDisSimDriver::tick ( )
virtual

Tick the driver.

Reimplemented from MAKLogger::DtLgrSimDriver.

virtual double MAKLogger::DtLgrDisSimDriver::timeoutRate ( ) const
virtual
virtual void MAKLogger::DtLgrDisSimDriver::updateRecordRemoteControlFilter ( )
protectedvirtual
virtual bool MAKLogger::DtLgrDisSimDriver::useAsynchIO ( ) const
virtual

Member Data Documentation

int MAKLogger::DtLgrDisSimDriver::myAppNumber
protected
DtInetAddr MAKLogger::DtLgrDisSimDriver::myDestAddr
protected
DtInetAddr MAKLogger::DtLgrDisSimDriver::myDeviceAddr
protected
int MAKLogger::DtLgrDisSimDriver::myDisVersion
protected
DtLgrDisEntityTypeFilter* MAKLogger::DtLgrDisSimDriver::myEntityTypeFilter
protected
int MAKLogger::DtLgrDisSimDriver::myExerciseId
protected
std::vector<DtString> MAKLogger::DtLgrDisSimDriver::myMcastAddresses
protected
int MAKLogger::DtLgrDisSimDriver::myMulticastTtl
protected
DtString MAKLogger::DtLgrDisSimDriver::myNetmask
protected
DtLgrPduTypeFilter* MAKLogger::DtLgrDisSimDriver::myPduFilter
protected
int MAKLogger::DtLgrDisSimDriver::myPort
protected
int MAKLogger::DtLgrDisSimDriver::myRecvBufferSize
protected
int MAKLogger::DtLgrDisSimDriver::mySendBufferSize
protected
DtLgrDisSimulationManager* MAKLogger::DtLgrDisSimDriver::mySimManager
protected
int MAKLogger::DtLgrDisSimDriver::mySiteId
protected
bool MAKLogger::DtLgrDisSimDriver::myUseAsynchIO
protected

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

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)