Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
MAKLogger::DtLgrSimInterface Class Reference

The class responsible for interfacing with the simulation in a protocol independent manner. More...

+ Inheritance diagram for MAKLogger::DtLgrSimInterface:
+ Collaboration diagram for MAKLogger::DtLgrSimInterface:

List of all members.

Public Types

typedef DtLgrSimCommandFactory Factory
 The factory type of this object.
typedef int EntityTrackerUpdateId

Public Member Functions

 DtLgrSimInterface (DtLogger &, const DtLgrSimDriver &)
 Ctr with Logger and driver for initialization of state.
virtual ~DtLgrSimInterface ()
 DTOR.
virtual DtString protocol () const =0
 Get the protocol as a string.
virtual void connect () const
 Send a command to connect.
virtual void connectToSharedExerciseConn (DtExerciseConn *exconn, bool allowDrainInput, bool allowSetSimTime, bool allowUnsubscribe) const
 Send a command to connect using a shared exercise connection.
virtual void disconnect () const
 Send a command to disconnect.
virtual void getLoggerName (DtString &name) const =0
 Get a descriptive name for this logger instance.
virtual bool isConnected () const
 Check to see if the logger is currently connected.
virtual void setDumpFilename (const DtString &)
 Set the dump filename.
virtual bool processRemoteControls () const
 Get whether remote control messages are processed.
virtual bool recordRemoteControls () const
 Get whether remote control messages are recorded in the logger tape.
virtual bool allowAllRemoteControls () const
 Get whether remote control messages are processed regardless of site ID.
virtual bool allowRemoteDelete () const
 Allow the delete file message to be processed.
virtual int remoteControlId () const
 Remote control ID.
virtual bool sendResponses () const
 Send responses to remote controller?
virtual bool crippleGui () const
 Cripple GUI interaction (e.g., mouse clicks and minimize window)
virtual DtTime connectSendInterval () const
 Connect messages are sent using this interval.
virtual DtTime heartbeatSendInterval () const
 Logger heartbeat messages are sent using this interval.
virtual void setRemoteControlSettings (bool process, bool record, bool allowDelete, bool allowAll, bool sendResponses, bool crippleGui, DtTime connectSendInterval, DtTime heartbeatSendInterval) const
 Change how remote control settings.
virtual void addFilteredEntityName (const DtString &name) const
 Add a filtered entity name.
virtual void clearFilteredEntityNames () const
 Clear filtered entity names.
virtual void addFilter (DtLgrPacketFilter *) const
 Install a new filter object.
virtual void setFilterSettings (const DtLgrPacketFilter *) const
 Set the filter settings using a copy of the filter.
virtual int filterCount () const
 Get the number of filters.
virtual int filterIndex (const DtLgrPacketFilter *filter) const
 Get the index of the given filter.
virtual void setScaleAttributes (bool scale) const
 Send command to scale attributes.
virtual bool scaleAttributes () const
 Get whether attributes are being scaled.
virtual bool networkActivity () const
 Get whether there was network activity during the last tick.
virtual const DtLgrEntityTrackerentityTracker () const
 Get the current entity tracker, or null if none.
virtual void addTemporaryTrackedEntity (const DtString &name) const
 Add a temporary name to the entity tracker.
virtual EntityTrackerUpdateId entityTrackerUpdateId () const
DtLgrPacketFilterfilter (int index)
 Get the filter by index.
const DtLgrPacketFilterfilter (int index) const
 Get the filter by index.

Public Attributes

DtValueSignal< int > filterCountChangedSignal
 Response signals.
DtValueSignal< bool > connectedStatusChangedSignal
 Response signals.
DtValueSignal< bool > activityChangedSignal
 Response signal.
DtValueSignal< bool > crippleGuiChangedSignal
 Response signal.

Protected Types

typedef std::list
< DtLgrPacketFilter * > 
FilterTypeList

Protected Member Functions

void connectResponseHandlers ()
 Function which connects the response handlers.
virtual void connectResponseHandler (DtLgrCommandId, void(DtLgrSimInterface::*)(DtResponse))
 Utility function which connects a DtLgrSimInterface member function as a response handler.
Response Handlers
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)

Protected Attributes

bool myConnectedFlag
bool myActivityFlag
bool myProcessRemoteControls
bool myRecordRemoteControls
bool myAllowAllRemoteControls
bool myAllowRemoteDelete
bool mySendResponses
bool myCrippleGui
DtTime myConnectSendInterval
DtTime myHeartbeatSendInterval
bool myScaleAttributes
int myFilterCount
DtString myDumpFilename
FilterTypeList myFilterList
DtLgrEntityTrackermyEntityTracker
int myEntityTrackerUpdateId
int myRemoteControlId

Detailed Description

The class responsible for interfacing with the simulation in a protocol independent manner.


Constructor & Destructor Documentation

MAKLogger::DtLgrSimInterface::DtLgrSimInterface ( DtLogger ,
const DtLgrSimDriver  
)

Ctr with Logger and driver for initialization of state.

Secondary constructor.


Member Function Documentation

virtual void MAKLogger::DtLgrSimInterface::addFilter ( DtLgrPacketFilter ) const [virtual]

Install a new filter object.

The filter object should be initialized, and allocated with 'new'. Ownership of the memory will be taken by the SimDriver. Access to the object should be completely lost as the object may pass through THREAD boundaries.

Warning:
the filter object added NOT be returned to the interfaces.
Do not call functions on the filter object after it has been added. Instead use the fitler(index) and setFilterSettings interface.
virtual void MAKLogger::DtLgrSimInterface::connectResponseHandler ( DtLgrCommandId  ,
void(DtLgrSimInterface::*)(DtResponse)   
) [protected, virtual]

Utility function which connects a DtLgrSimInterface member function as a response handler.

void MAKLogger::DtLgrSimInterface::connectResponseHandlers ( ) [protected]

Function which connects the response handlers.

This is called from the constructor and thus not virtual.

virtual int MAKLogger::DtLgrSimInterface::filterIndex ( const DtLgrPacketFilter filter) const [virtual]

Get the index of the given filter.

If filter is not found, return -1.

virtual bool MAKLogger::DtLgrSimInterface::recordRemoteControls ( ) const [virtual]

Get whether remote control messages are recorded in the logger tape.

virtual void MAKLogger::DtLgrSimInterface::setFilterSettings ( const DtLgrPacketFilter ) const [virtual]

Set the filter settings using a copy of the filter.

The filter supplied must be an existing filter in the internal list, received via filter(int).

Warning:
A filter object

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)