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 | Static Public Member Functions | Protected Member Functions | Protected Attributes
MAKLogger::DtLgrDisSimInterface Class Reference

Interface for controlling the connection to a DIS simulation. More...

+ Inheritance diagram for MAKLogger::DtLgrDisSimInterface:
+ Collaboration diagram for MAKLogger::DtLgrDisSimInterface:

Public Types

typedef DtLgrDisCommandFactory Factory
 
- Public Types inherited from MAKLogger::DtLgrSimInterface
typedef DtLgrSimCommandFactory Factory
 The factory type of this object. More...
 
typedef int EntityTrackerUpdateId
 

Public Member Functions

virtual ~DtLgrDisSimInterface ()
 DTOR. More...
 
virtual DtLgrProtocolId protocolId () const
 Get the protocol ID. More...
 
virtual void setConnectionParameters (int port, int exerciseId, int siteId, int appNumber, bool useAsynchIO, int sendBufferSize, int recvBufferSize, int multicastTtl, const DtString &destAddrString, const DtString &netmask, const DtString &deviceAddrString, const std::vector< DtString > &mcastAddresses) const
 
virtual void getLoggerName (DtString &name) const
 Get a descriptive name for this logger instance - port:exerciseId:siteId:appNumber:controlId. More...
 
virtual void setDisVersion (int version) const
 Sends the command to change the DIS Version. More...
 
virtual void setHeartbeatRate (double rate) const
 Sends the command to change the heartbeat rate. More...
 
virtual void setTimeoutRate (double rate) const
 Sends the command to change the timeout rate. More...
 
virtual void setDisDescription (const DtDisDescriptor &desc) const
 Sends the command to set the description. More...
 
virtual void setDrainInputSettings (double maxTime, int numPdusToRead) const
 Sends the command to change drain input settings. More...
 
virtual const DtDisDescriptordisDescription () const
 Get the dis description. More...
 
virtual void setEntityTypeManager (const DtLgrDisEntityTypeManager &mgr) const
 Sends the command to set the dis entity type manager. More...
 
virtual const
DtLgrDisEntityTypeManager
entityTypeManager () const
 Get the entity type manager. More...
 
virtual int disVersion () const
 DIS version. More...
 
virtual double heartbeatRate () const
 DIS Heartbeat rate in seconds. More...
 
virtual double timeoutRate () const
 DIS timeout rate in seconds. More...
 
virtual double drainInputMaxTime () const
 Max time to call drainInput for. More...
 
virtual int numPdusToReadPerTimeCheck () const
 Number of PDUs to read per time check in drainInput. More...
 
virtual bool connectionSettingsMatchInputFile (DtString &filename)
 Check the connection settings in the Logger file meta data. More...
 
virtual int port () const
 Connection settings accessors. More...
 
virtual int exerciseId () const
 Connection settings accessors. More...
 
virtual int siteId () const
 Connection settings accessors. More...
 
virtual int appNumber () const
 Connection settings accessors. More...
 
virtual bool useAsynchIO () const
 Connection settings accessors. More...
 
virtual int sendBufferSize () const
 Connection settings accessors. More...
 
virtual int recvBufferSize () const
 Connection settings accessors. More...
 
virtual int multicastTtl () const
 Connection settings accessors. More...
 
virtual DtInetAddr destAddr () const
 Connection settings accessors. More...
 
virtual const DtString & netmask () const
 Connection settings accessors. More...
 
virtual DtInetAddr deviceAddr () const
 Connection settings accessors. More...
 
virtual const std::vector
< DtString > & 
mcastAddresses () const
 Connection settings accessors. More...
 
- Public Member Functions inherited from MAKLogger::DtLgrSimInterface
 DtLgrSimInterface (DtLogger &, const DtLgrSimDriver &)
 Ctr with Logger and driver for initialization of state. More...
 
virtual ~DtLgrSimInterface ()
 DTOR. More...
 
virtual DtString protocolName () const
 Get the protocol as a string. More...
 
virtual void connect () const
 Send a command to connect. More...
 
virtual void connectToSharedExerciseConn (DtExerciseConn *exconn, bool allowDrainInput, bool allowSetSimTime, bool allowUnsubscribe) const
 Send a command to connect using a shared exercise connection. More...
 
virtual void disconnect () const
 Send a command to disconnect. More...
 
virtual bool isConnected () const
 Check to see if the logger is currently connected. More...
 
virtual void setDumpFilename (const DtString &)
 Set the dump filename. More...
 
virtual bool processRemoteControls () const
 Get whether remote control messages are processed. More...
 
virtual bool recordRemoteControls () const
 Get whether remote control messages are recorded in the logger tape. More...
 
virtual bool allowAllRemoteControls () const
 Get whether remote control messages are processed regardless of site ID. More...
 
virtual bool allowRemoteDelete () const
 Allow the delete file message to be processed. More...
 
virtual int remoteControlId () const
 Remote control ID. More...
 
virtual bool sendResponses () const
 Send responses to remote controller? More...
 
virtual bool crippleGui () const
 Cripple GUI interaction (e.g., mouse clicks and minimize window) More...
 
virtual bool useLegacyPdu () const
 Use Legacy control PDU. 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 for remote control? More...
 
virtual bool useBackChannel () const
 Use the back channel connection for remote control? 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 void setRemoteControlSettings (bool useSimChannel, bool useBackChannel, bool record, bool allowDelete, bool allowAll, bool sendResponses, bool crippleGui, bool useLegacyPdu, DtTime connectSendInterval, DtTime heartbeatSendInterval) const
 Change how remote control settings. More...
 
virtual void addFilteredEntityName (const DtString &name) const
 Add a filtered entity name. More...
 
virtual void clearFilteredEntityNames () const
 Clear filtered entity names. More...
 
virtual void addFilter (DtLgrPacketFilter *) const
 Install a new filter object. More...
 
virtual void setFilterSettings (const DtLgrPacketFilter *) const
 Set the filter settings using a copy of the filter. More...
 
virtual int filterCount () const
 Get the number of filters. More...
 
virtual int filterIndex (const DtLgrPacketFilter *filter) const
 Get the index of the given filter. More...
 
virtual void setScaleAttributes (bool scale) const
 Send command to scale attributes. More...
 
virtual bool scaleAttributes () const
 Get whether attributes are being scaled. More...
 
virtual bool networkActivity () const
 Get whether there was network activity during the last tick. More...
 
virtual void setSaveConnectionConfiguration (bool saveConnectConfig) const
 Sends the command to change save connection configuration. More...
 
virtual bool saveConnectConfiguration () const
 Return whether connection configuration should be saved. More...
 
virtual void setSaveIndexConfiguration (bool saveIndexConfig) const
 Sends the command to change save index configuration. More...
 
virtual bool saveIndexConfiguration () const
 Return whether index configuration should be saved. More...
 
virtual void setSaveProtocolConfiguration (bool saveProtocolConfig) const
 Sends the command to change save protocol configuration. More...
 
virtual bool saveProtocolConfiguration () const
 Return whether protocol configuration should be saved. More...
 
virtual void setListenWhenIdle (bool listen) const
 Sends the command to change switch to listen when idle. More...
 
virtual bool listenWhenIdle () const
 Return whether listen when idle is enabled. More...
 
virtual bool staticDROnPause () const
 Return whether Static Dead Reckon Algorithm when pause is enabled. More...
 
virtual void setStaticDROnPause (bool staticDRAlgorithm) const
 Set whether to swap Dead reckon algorithms when paused. More...
 
virtual const DtLgrEntityTrackerentityTracker () const
 Get the current entity tracker, or null if none. More...
 
virtual void addTemporaryTrackedEntity (const DtString &name) const
 Add a temporary name to the entity tracker. More...
 
virtual void useRecommendedSettings ()
 Set connection settings to match those in the Logger file meta data. More...
 
virtual EntityTrackerUpdateId entityTrackerUpdateId () const
 
DtLgrPacketFilterfilter (int index)
 Get the filter by index. More...
 
const DtLgrPacketFilterfilter (int index) const
 Get the filter by index. More...
 
- Public Member Functions inherited from MAKLogger::DtCommandInterface
virtual ~DtCommandInterface ()
 Virtual Constructor. More...
 
virtual bool update ()
 Remove all all commands from response queue Update is responsible for updating all responses and synchronizing state. More...
 
void disconnectFromDispatcher ()
 Disconnects the interface from its dispatcher, this is for temporarily removing itself from the message queue. More...
 
void reconnectToDispatcher ()
 Reconnect the interface to its dispatcher. More...
 
void addResponseHandler (const DtCommand &command, DtResponseFunctorSP)
 
virtual void sendCommand (const DtCommand &) const
 Send a command to the interface's dispatcher. More...
 
bool executeResponse (DtResponse command)
 Execute a response. More...
 

Static Public Member Functions

static DtLgrDisSimInterfacecreate (DtLogger &)
 Thread safe interface creator. More...
 
static DtLgrSimInterfacecreateBase (DtLogger &)
 Thread safe interface creator. More...
 
static DtLgrDisSimInterfacecreateNonThreadsafe (DtLogger &logger, const DtLgrDisSimDriver &driver)
 NonThreadsafe creator should not be called by User, used internally by create. More...
 

Protected Member Functions

void connectResponseHandler (DtLgrCommandId id, void(DtLgrDisSimInterface::*function)(DtResponse))
 Connect a response handler. More...
 
void connectionParametersChanged (DtResponse response)
 Connect parameters. More...
 
void disVersionChanged (DtResponse response)
 
void heartbeatRateChanged (DtResponse response)
 
void timeoutRateChanged (DtResponse response)
 
void disDescriptionChanged (DtResponse response)
 
void entityTypeManagerChanged (DtResponse response)
 
void drainInputSettingsChanged (DtResponse response)
 
 DtLgrDisSimInterface (DtLogger &logger, const DtLgrDisSimDriver &driver)
 
- Protected Member Functions inherited from MAKLogger::DtLgrSimInterface
void connectResponseHandlers ()
 Function which connects the response handlers. More...
 
virtual void connectResponseHandler (DtLgrCommandId, void(DtLgrSimInterface::*)(DtResponse))
 Utility function which connects a DtLgrSimInterface member function as a response handler. More...
 
void updatedEntityTracker (DtResponse response)
 
void connected (DtResponse)
 
void disconnected (DtResponse)
 
void unableToConnect (DtResponse)
 
void lostConnection (DtResponse)
 
void filterAdded (DtResponse)
 
void filterRemoved (DtResponse)
 
void filterModified (DtResponse)
 
void remoteControlsChanged (DtResponse)
 
void activityChanged (DtResponse)
 
void scaleAttributesChanged (DtResponse)
 
void remoteControlIdChanged (DtResponse)
 
void backChannelConnectionChanged (DtResponse)
 
void saveConnectConfigurationChanged (DtResponse response)
 
void saveIndexConfigurationChanged (DtResponse response)
 
void saveProtocolConfigurationChanged (DtResponse response)
 
void listenWhenIdleChanged (DtResponse response)
 
void staticDROnPauseChanged (DtResponse response)
 

Protected Attributes

DtDisDescriptormyDisDescriptor
 
DtLgrDisEntityTypeManagermyEntityTypeManager
 
int myDisVersion
 
int myPort
 
int myExerciseId
 
int mySiteId
 
int myAppNumber
 
bool myUseAsynchIO
 
int mySendBufferSize
 
int myRecvBufferSize
 
int myMulticastTtl
 
DtInetAddr myDestAddr
 
DtInetAddr myDeviceAddr
 
DtString myNetmask
 
std::vector< DtString > myMcastAddresses
 
double myHeartBeatRate
 
double myTimeoutRate
 
double myDrainInputMaxTime
 
int myNumPdusToReadPerTimeCheck
 
- Protected Attributes inherited from MAKLogger::DtLgrSimInterface
bool myConnectedFlag
 
bool myFailedConnectFlag
 
bool myActivityFlag
 
bool myRecordRemoteControls
 
bool myAllowAllRemoteControls
 
bool myAllowRemoteDelete
 
bool mySendResponses
 
bool myCrippleGui
 
bool myUseLegacyPdu
 
bool myUseSimChannel
 
bool myUseBackChannel
 
bool mySaveConnectConfiguration
 
bool mySaveIndexConfiguration
 
bool mySaveProtocolConfiguration
 
bool myListenWhenIdle
 
bool myStaticDROnPause
 
DtString myBackChannelAddress
 
DtString myBackChannelInterface
 
int myBackChannelPort
 
DtTime myConnectSendInterval
 
DtTime myHeartbeatSendInterval
 
bool myScaleAttributes
 
int myFilterCount
 
DtString myDumpFilename
 
FilterTypeList myFilterList
 
DtLgrEntityTrackermyEntityTracker
 
int myEntityTrackerUpdateId
 
int myRemoteControlId
 
- Protected Attributes inherited from MAKLogger::DtCommandInterface
DtResponseMap myResponseMap
 
DtResponseQueueSP myResponseQueue
 The queue which stores commands sent to the interface from the dispatcher. More...
 
DtCommandDispatcherSP myDispatcher
 A shared pointer to the interface's dispatcher. More...
 

Additional Inherited Members

- Public Attributes inherited from MAKLogger::DtLgrSimInterface
DtValueSignal< int > filterCountChangedSignal
 Response signals. More...
 
DtValueSignal< bool > connectedStatusChangedSignal
 Response signals. More...
 
DtValueSignal< bool > unableToConnectSignal
 Response signals. More...
 
DtValueSignal< bool > activityChangedSignal
 Response signal. More...
 
DtValueSignal< bool > crippleGuiChangedSignal
 Response signal. More...
 
- Protected Types inherited from MAKLogger::DtLgrSimInterface
typedef std::list
< DtLgrPacketFilter * > 
FilterTypeList
 
- Protected Types inherited from MAKLogger::DtCommandInterface
typedef std::map< DtCommand,
DtResponseFunctorSP, std::less
< DtCommand > > 
DtResponseMap
 Callback types. More...
 

Detailed Description

Interface for controlling the connection to a DIS simulation.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual MAKLogger::DtLgrDisSimInterface::~DtLgrDisSimInterface ( )
virtual

DTOR.

MAKLogger::DtLgrDisSimInterface::DtLgrDisSimInterface ( DtLogger logger,
const DtLgrDisSimDriver driver 
)
protected

Member Function Documentation

virtual int MAKLogger::DtLgrDisSimInterface::appNumber ( ) const
virtual

Connection settings accessors.

void MAKLogger::DtLgrDisSimInterface::connectionParametersChanged ( DtResponse  response)
protected

Connect parameters.

virtual bool MAKLogger::DtLgrDisSimInterface::connectionSettingsMatchInputFile ( DtString &  filename)
virtual

Check the connection settings in the Logger file meta data.

Reimplemented from MAKLogger::DtLgrSimInterface.

void MAKLogger::DtLgrDisSimInterface::connectResponseHandler ( DtLgrCommandId  id,
void(DtLgrDisSimInterface::*)(DtResponse function 
)
protected

Connect a response handler.

static DtLgrDisSimInterface* MAKLogger::DtLgrDisSimInterface::create ( DtLogger )
static

Thread safe interface creator.

static DtLgrSimInterface* MAKLogger::DtLgrDisSimInterface::createBase ( DtLogger )
static

Thread safe interface creator.

static DtLgrDisSimInterface* MAKLogger::DtLgrDisSimInterface::createNonThreadsafe ( DtLogger logger,
const DtLgrDisSimDriver driver 
)
static

NonThreadsafe creator should not be called by User, used internally by create.

virtual DtInetAddr MAKLogger::DtLgrDisSimInterface::destAddr ( ) const
virtual

Connection settings accessors.

virtual DtInetAddr MAKLogger::DtLgrDisSimInterface::deviceAddr ( ) const
virtual

Connection settings accessors.

virtual const DtDisDescriptor* MAKLogger::DtLgrDisSimInterface::disDescription ( ) const
virtual

Get the dis description.

void MAKLogger::DtLgrDisSimInterface::disDescriptionChanged ( DtResponse  response)
protected
virtual int MAKLogger::DtLgrDisSimInterface::disVersion ( ) const
virtual

DIS version.

void MAKLogger::DtLgrDisSimInterface::disVersionChanged ( DtResponse  response)
protected
virtual double MAKLogger::DtLgrDisSimInterface::drainInputMaxTime ( ) const
virtual

Max time to call drainInput for.

void MAKLogger::DtLgrDisSimInterface::drainInputSettingsChanged ( DtResponse  response)
protected
virtual const DtLgrDisEntityTypeManager* MAKLogger::DtLgrDisSimInterface::entityTypeManager ( ) const
virtual

Get the entity type manager.

void MAKLogger::DtLgrDisSimInterface::entityTypeManagerChanged ( DtResponse  response)
protected
virtual int MAKLogger::DtLgrDisSimInterface::exerciseId ( ) const
virtual

Connection settings accessors.

virtual void MAKLogger::DtLgrDisSimInterface::getLoggerName ( DtString &  name) const
virtual

Get a descriptive name for this logger instance - port:exerciseId:siteId:appNumber:controlId.

Implements MAKLogger::DtLgrSimInterface.

virtual double MAKLogger::DtLgrDisSimInterface::heartbeatRate ( ) const
virtual

DIS Heartbeat rate in seconds.

void MAKLogger::DtLgrDisSimInterface::heartbeatRateChanged ( DtResponse  response)
protected
virtual const std::vector<DtString>& MAKLogger::DtLgrDisSimInterface::mcastAddresses ( ) const
virtual

Connection settings accessors.

virtual int MAKLogger::DtLgrDisSimInterface::multicastTtl ( ) const
virtual

Connection settings accessors.

virtual const DtString& MAKLogger::DtLgrDisSimInterface::netmask ( ) const
virtual

Connection settings accessors.

virtual int MAKLogger::DtLgrDisSimInterface::numPdusToReadPerTimeCheck ( ) const
virtual

Number of PDUs to read per time check in drainInput.

virtual int MAKLogger::DtLgrDisSimInterface::port ( ) const
virtual

Connection settings accessors.

virtual DtLgrProtocolId MAKLogger::DtLgrDisSimInterface::protocolId ( ) const
virtual

Get the protocol ID.

Implements MAKLogger::DtLgrSimInterface.

virtual int MAKLogger::DtLgrDisSimInterface::recvBufferSize ( ) const
virtual

Connection settings accessors.

virtual int MAKLogger::DtLgrDisSimInterface::sendBufferSize ( ) const
virtual

Connection settings accessors.

virtual void MAKLogger::DtLgrDisSimInterface::setConnectionParameters ( int  port,
int  exerciseId,
int  siteId,
int  appNumber,
bool  useAsynchIO,
int  sendBufferSize,
int  recvBufferSize,
int  multicastTtl,
const DtString &  destAddrString,
const DtString &  netmask,
const DtString &  deviceAddrString,
const std::vector< DtString > &  mcastAddresses 
) const
virtual
virtual void MAKLogger::DtLgrDisSimInterface::setDisDescription ( const DtDisDescriptor desc) const
virtual

Sends the command to set the description.

virtual void MAKLogger::DtLgrDisSimInterface::setDisVersion ( int  version) const
virtual

Sends the command to change the DIS Version.

virtual void MAKLogger::DtLgrDisSimInterface::setDrainInputSettings ( double  maxTime,
int  numPdusToRead 
) const
virtual

Sends the command to change drain input settings.

virtual void MAKLogger::DtLgrDisSimInterface::setEntityTypeManager ( const DtLgrDisEntityTypeManager mgr) const
virtual

Sends the command to set the dis entity type manager.

virtual void MAKLogger::DtLgrDisSimInterface::setHeartbeatRate ( double  rate) const
virtual

Sends the command to change the heartbeat rate.

virtual void MAKLogger::DtLgrDisSimInterface::setTimeoutRate ( double  rate) const
virtual

Sends the command to change the timeout rate.

virtual int MAKLogger::DtLgrDisSimInterface::siteId ( ) const
virtual

Connection settings accessors.

virtual double MAKLogger::DtLgrDisSimInterface::timeoutRate ( ) const
virtual

DIS timeout rate in seconds.

void MAKLogger::DtLgrDisSimInterface::timeoutRateChanged ( DtResponse  response)
protected
virtual bool MAKLogger::DtLgrDisSimInterface::useAsynchIO ( ) const
virtual

Connection settings accessors.

Member Data Documentation

int MAKLogger::DtLgrDisSimInterface::myAppNumber
protected
DtInetAddr MAKLogger::DtLgrDisSimInterface::myDestAddr
protected
DtInetAddr MAKLogger::DtLgrDisSimInterface::myDeviceAddr
protected
DtDisDescriptor* MAKLogger::DtLgrDisSimInterface::myDisDescriptor
protected
int MAKLogger::DtLgrDisSimInterface::myDisVersion
protected
double MAKLogger::DtLgrDisSimInterface::myDrainInputMaxTime
protected
DtLgrDisEntityTypeManager* MAKLogger::DtLgrDisSimInterface::myEntityTypeManager
protected
int MAKLogger::DtLgrDisSimInterface::myExerciseId
protected
double MAKLogger::DtLgrDisSimInterface::myHeartBeatRate
protected
std::vector<DtString> MAKLogger::DtLgrDisSimInterface::myMcastAddresses
protected
int MAKLogger::DtLgrDisSimInterface::myMulticastTtl
protected
DtString MAKLogger::DtLgrDisSimInterface::myNetmask
protected
int MAKLogger::DtLgrDisSimInterface::myNumPdusToReadPerTimeCheck
protected
int MAKLogger::DtLgrDisSimInterface::myPort
protected
int MAKLogger::DtLgrDisSimInterface::myRecvBufferSize
protected
int MAKLogger::DtLgrDisSimInterface::mySendBufferSize
protected
int MAKLogger::DtLgrDisSimInterface::mySiteId
protected
double MAKLogger::DtLgrDisSimInterface::myTimeoutRate
protected
bool MAKLogger::DtLgrDisSimInterface::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)