VR-Forces 4.0.4 Class Documentation
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrf::DtVrfSimBackendManager Class Reference

Maintains and signals state of the simulation engines that are currently connected to the GUI. More...

Inheritance diagram for makVrf::DtVrfSimBackendManager:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::map< std::string,
DtVrfBackendState * > 
DtVrfSimBackendStates

Public Member Functions

 DtVrfSimBackendManager (makVrv::DtDe &)
virtual ~DtVrfSimBackendManager ()
virtual bool backEndsPresent () const
 Returns true if there are any back-ends present.
virtual bool anyBackendsLoaded () const
 Returns true if any back-ends are loaded.
virtual bool allBackendsLoaded () const
 Returns true if all back-ends are loaded.
virtual bool backendLoaded (const DtSimulationAddress &) const
 Returns true if specified back-end is loaded.
virtual bool backendSaving (const DtSimulationAddress &) const
 Returns true if specified back-end is saving.
virtual bool anyBackendsPlaying () const
 Returns true if any back-ends are playing a scenario
virtual bool anyBackendsInControlState (int state) const
 Returns true any backend is in the particular control state (play, pause)
virtual bool allBackendsCanSimulate () const
 Returns true if all back-ends are ready to simulate.
virtual bool backendCanSimulate (const DtSimulationAddress &) const
 Returns true if the specified backend can simulate.
virtual void duplicateBackendDiscovered (const DtSimulationAddress &)
 Called when a duplicate backend is discovered. Will queue duplicateSimulationBackendDiscovered.
DtVrfBackendStatestateFor (const DtSimulationAddress &) const
const DtSimulationAddress & selectedBackend () const
void setSelectedBackend (const DtSimulationAddress &)
virtual int numberOfBackends () const
virtual void clearSelectedBackend ()
 Clears the currently selected backend.
virtual double simTime () const
 Returns the maximum sim time of all known, loaded back-ends.
virtual double simStartSimTime () const
 Returns the maximum sim start sim time of all known, loaded back-ends.
const DtVrfSimBackendStatesbackendStates () const
virtual void signalWhenAllBackendsClosed ()
 Sets the back-end manager to watch for all back-ends closed. Once closed, will stop watching.
virtual void signalIfAllBackendsClosed ()
 If there are no back-ends loaded, signals so and then sets the mySignalWhenAllBackendsClosed flag to false.
virtual void signalWhenAllBackendsLoaded ()
 Sets the back-end manager to watch for all back-ends loaded.
virtual void signalIfAllBackendsLoaded ()
 Will signal if all back-ends are loaded and the mySignalWhenAllBackendsClosed is false.
virtual void signalWhenAllBackendsSaved ()
 Sets the back-end manager to watch for all back-ends switching from saving to non-saving state.
virtual void signalIfAllBackendsSaved ()
 Will signal saved if the myBackendsWaitingForSave list is empty.
const std::string & sessionScenario () const
const std::string & sessionTerrain () const
virtual void removeAllBackends ()
 Called by the DtVrfBackendInterceptor when backend status has changed in some way.
virtual void addBackend (const DtBackend *)
 Called by the DtVrfBackendInterceptor when backend status has changed in some way.
virtual void backendRemoved (const DtSimulationAddress &)
 Called by the DtVrfBackendInterceptor when backend status has changed in some way.
virtual void backendUpdated (const DtSimulationAddress &, const DtBackend *)
 Called by the DtVrfBackendInterceptor when backend status has changed in some way.

Static Public Member Functions

static DtVrfSimBackendManagerinstance (makVrv::DtDe &de)
 Returns instance of the messager.

Public Attributes

boost::signal< void()> signal_allBackendsClosed
boost::signal< void()> signal_allBackendsLoaded
boost::signal< void()> signal_allBackendsSaved
boost::signal< void(const
DtVrfBackendState &)> 
signal_frameRatesUpdated
boost::signal< void(const
DtVrfBackendState &)> 
signal_backendDiscovered
boost::signal< void(const
DtVrfBackendState &)> 
signal_backendRemoved
boost::signal< void(const
DtVrfBackendState &, int)> 
signal_backendUpdated
boost::signal< void(int)> signal_sessionUpdated
boost::signal< void(const
DtVrfBackendState &)> 
signal_duplicateSimulationAddress
boost::signal< void(const
DtSimulationAddress &old,
const DtSimulationAddress
&newaddr)> 
signal_selectedBackendChanged
boost::signal< void()> signal_allBackendsAboutToBeRemoved

Protected Member Functions

virtual void slot_frameRatesUpdated (const DtVrfBackendState &)
virtual void simulationBackendRemoved (DtVrfBackendState *)
virtual void simulationBackendDiscovered (DtVrfBackendState *)
virtual void simulationBackendUpdated (DtSimulationAddress, int)
virtual void duplicateSimulationBackendDiscovered (DtSimulationAddress)
virtual void processLoadCompleteCallback (DtSimMessage *)
virtual void processSaveCompleteCallback (DtSimMessage *)
virtual void backendSaved (const std::string &)
 Called when a backend has finished saving or has been removed from the save list due to timeout.
virtual void setBackendSaving (const DtSimulationAddress &, bool b)
virtual void updateSessionInformation (int sessionFlags=0)
 Emits signal if something has changed about the session.

Protected Attributes

makVrv::DtBaseSimulation * mySimulation
DtVrfSimBackendStates myBackendStates
DtSimulationAddress mySelectedBackend
bool mySignalWhenAllBackendsClosed
bool mySignalWhenAllBackendsLoaded
bool mySignalWhenAllBackendsSaved
std::map< std::string, char > myBackendsWaitingForSave
std::map< std::string, boolmyAlreadyDuplicateWarned
std::map< std::string, boolmyNeedToLoad
std::vector< std::string > myNeedToSave
std::string mySessionTerrainName
std::string mySessionScenarioName
std::map< std::string, boolmyJustLoadedMap

Detailed Description

Maintains and signals state of the simulation engines that are currently connected to the GUI.

This class also handles the thread boundary for simulation engine state messages that come from the communication thread, so that subset of the methods on this class are thread safe.


Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

Returns instance of the messager.

Returns true if there are any back-ends present.

Returns true if any back-ends are loaded.

Returns true if all back-ends are loaded.

virtual bool makVrf::DtVrfSimBackendManager::backendLoaded ( const DtSimulationAddress &  ) const [virtual]

Returns true if specified back-end is loaded.

virtual bool makVrf::DtVrfSimBackendManager::backendSaving ( const DtSimulationAddress &  ) const [virtual]

Returns true if specified back-end is saving.

Returns true if any back-ends are playing a scenario

virtual bool makVrf::DtVrfSimBackendManager::anyBackendsInControlState ( int  state) const [virtual]

Returns true any backend is in the particular control state (play, pause)

Returns true if all back-ends are ready to simulate.

virtual bool makVrf::DtVrfSimBackendManager::backendCanSimulate ( const DtSimulationAddress &  ) const [virtual]

Returns true if the specified backend can simulate.

virtual void makVrf::DtVrfSimBackendManager::duplicateBackendDiscovered ( const DtSimulationAddress &  ) [virtual]

Called when a duplicate backend is discovered. Will queue duplicateSimulationBackendDiscovered.

Called by the DtVrfBackendInterceptor when backend status has changed in some way.

Will be called from the communication thread, so these methods handle passing this information into the main thread using the DtQueuedManager parent class.

virtual void makVrf::DtVrfSimBackendManager::addBackend ( const DtBackend ) [virtual]

Called by the DtVrfBackendInterceptor when backend status has changed in some way.

Will be called from the communication thread, so these methods handle passing this information into the main thread using the DtQueuedManager parent class.

virtual void makVrf::DtVrfSimBackendManager::backendRemoved ( const DtSimulationAddress &  ) [virtual]

Called by the DtVrfBackendInterceptor when backend status has changed in some way.

Will be called from the communication thread, so these methods handle passing this information into the main thread using the DtQueuedManager parent class.

virtual void makVrf::DtVrfSimBackendManager::backendUpdated ( const DtSimulationAddress &  ,
const DtBackend  
) [virtual]

Called by the DtVrfBackendInterceptor when backend status has changed in some way.

Will be called from the communication thread, so these methods handle passing this information into the main thread using the DtQueuedManager parent class.

DtVrfBackendState* makVrf::DtVrfSimBackendManager::stateFor ( const DtSimulationAddress &  ) const
const DtSimulationAddress& makVrf::DtVrfSimBackendManager::selectedBackend ( ) const [inline]
void makVrf::DtVrfSimBackendManager::setSelectedBackend ( const DtSimulationAddress &  )
virtual int makVrf::DtVrfSimBackendManager::numberOfBackends ( ) const [virtual]

Clears the currently selected backend.

virtual double makVrf::DtVrfSimBackendManager::simTime ( ) const [virtual]

Returns the maximum sim time of all known, loaded back-ends.

virtual double makVrf::DtVrfSimBackendManager::simStartSimTime ( ) const [virtual]

Returns the maximum sim start sim time of all known, loaded back-ends.

Sets the back-end manager to watch for all back-ends closed. Once closed, will stop watching.

If there are no back-ends loaded, signals so and then sets the mySignalWhenAllBackendsClosed flag to false.

Sets the back-end manager to watch for all back-ends loaded.

If they are currently loaded will wait until they are closed then wait until they are all reloaded

Will signal if all back-ends are loaded and the mySignalWhenAllBackendsClosed is false.

Sets mySignalWhenAllBackendsLoaded flag to false upon completion

Sets the back-end manager to watch for all back-ends switching from saving to non-saving state.

Will signal saved if the myBackendsWaitingForSave list is empty.

const std::string& makVrf::DtVrfSimBackendManager::sessionScenario ( ) const [inline]
const std::string& makVrf::DtVrfSimBackendManager::sessionTerrain ( ) const [inline]
virtual void makVrf::DtVrfSimBackendManager::slot_frameRatesUpdated ( const DtVrfBackendState ) [protected, virtual]
virtual void makVrf::DtVrfSimBackendManager::simulationBackendUpdated ( DtSimulationAddress  ,
int   
) [protected, virtual]
virtual void makVrf::DtVrfSimBackendManager::duplicateSimulationBackendDiscovered ( DtSimulationAddress  ) [protected, virtual]
virtual void makVrf::DtVrfSimBackendManager::backendSaved ( const std::string &  ) [protected, virtual]

Called when a backend has finished saving or has been removed from the save list due to timeout.

virtual void makVrf::DtVrfSimBackendManager::setBackendSaving ( const DtSimulationAddress &  ,
bool  b 
) [protected, virtual]
virtual void makVrf::DtVrfSimBackendManager::updateSessionInformation ( int  sessionFlags = 0) [protected, virtual]

Emits signal if something has changed about the session.


Member Data Documentation

boost::signal<void (const DtSimulationAddress& old, const DtSimulationAddress& newaddr)> makVrf::DtVrfSimBackendManager::signal_selectedBackendChanged
makVrv::DtBaseSimulation* makVrf::DtVrfSimBackendManager::mySimulation [protected]
DtSimulationAddress makVrf::DtVrfSimBackendManager::mySelectedBackend [protected]
std::map<std::string, char> makVrf::DtVrfSimBackendManager::myBackendsWaitingForSave [protected]
std::map<std::string, bool> makVrf::DtVrfSimBackendManager::myNeedToLoad [protected]
std::vector<std::string> makVrf::DtVrfSimBackendManager::myNeedToSave [protected]
std::map<std::string, bool> makVrf::DtVrfSimBackendManager::myJustLoadedMap [protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)