VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Static Protected Attributes
makVrf::DtSimDataProcessorManager Class Reference

This class will manage the data processors. It will be the spot that the data processors can post messages to for queueing to they can be run as a batch during driver tick.

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

Public Member Functions

 DtSimDataProcessorManager (DtStateDataManager *instance, makVrv::DtBaseConnection &sim)
 
virtual ~DtSimDataProcessorManager ()
 
virtual void queueFunction (const boost::function< void()> &function)
 
virtual void addDataProcessor (DtVrfSimDataProcessorInterface *)
 
virtual void runFunctionQueue ()
 
virtual
DtVrfSimDataProcessorInterface
dataProcessor (const char *)
 
virtual void addVantageToLegionIdMapping (makVrv::DtUniqueID, Legion::UInt64)
 
virtual bool removeLegionToVantageIdMapping (Legion::UInt64)
 
virtual Legion::UInt64 vantageToLegionId (makVrv::DtUniqueID) const
 
virtual makVrv::DtUniqueID legionToVantageId (Legion::UInt64) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtSimDataProcessorManagerinstance (makVrv::DtBaseConnection &conn)
 
static void registerInstance (makVrv::DtBaseConnection &sim, DtSimDataProcessorManager *instance)
 
static DtSimDataProcessorManagercreate (DtStateDataManager *instance, makVrv::DtBaseConnection &sim)
 
static
DtSimDataProcessorManagerCreatorFcn 
setCreator (DtSimDataProcessorManagerCreatorFcn)
 

Protected Types

typedef
makVrv::DtLockedBufferedQueue
< boost::function< void()> > 
FunctionCallQueue
 
typedef std::vector
< boost::function< void()> > 
FunctionCallList
 
typedef std::map< std::string,
DtVrfSimDataProcessorInterface * > 
RegisteredInterfaces
 
typedef std::unordered_map
< makVrv::DtUniqueID,
Legion::UInt64 > 
VantageToLegionIdMap
 
typedef std::unordered_map
< Legion::UInt64, std::pair
< makVrv::DtUniqueID, int > > 
LegionToVantageIdMap
 

Protected Attributes

FunctionCallQueue myThreadFunctions
 
makVrv::DtBaseConnectionmySimulation
 
RegisteredInterfaces myRegisteredInterfaces
 
DtStateDataManagermyStateDataManager
 
makVrv::DtSignalConnectionManager myConnections
 
VantageToLegionIdMap myVantageToLegionIdMap
 
LegionToVantageIdMap myLegionToVantageIdMap
 

Static Protected Attributes

static
DtSimDataProcessorManagerCreatorFcn 
theSimDataProcessorManagerCreatorFcn
 

Member Typedef Documentation

typedef std::vector<boost::function<void ()> > makVrf::DtSimDataProcessorManager::FunctionCallList
protected

Used for clean up.

typedef std::unordered_map<makVrv::DtUniqueID, Legion::UInt64> makVrf::DtSimDataProcessorManager::VantageToLegionIdMap
protected
typedef std::unordered_map<Legion::UInt64, std::pair<makVrv::DtUniqueID, int> > makVrf::DtSimDataProcessorManager::LegionToVantageIdMap
protected

Constructor & Destructor Documentation

makVrf::DtSimDataProcessorManager::DtSimDataProcessorManager ( DtStateDataManager instance,
makVrv::DtBaseConnection sim 
)

CTOR.

virtual makVrf::DtSimDataProcessorManager::~DtSimDataProcessorManager ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrf::DtSimDataProcessorManager::queueFunction ( const boost::function< void()> &  function)
virtual

Put a function in the sim function queue, for threadsafe calling.

virtual void makVrf::DtSimDataProcessorManager::addDataProcessor ( DtVrfSimDataProcessorInterface )
virtual

This call will simply turn around and register the processor in the connection.

virtual void makVrf::DtSimDataProcessorManager::runFunctionQueue ( )
virtual

Runs all the functions in the queue.

virtual DtVrfSimDataProcessorInterface* makVrf::DtSimDataProcessorManager::dataProcessor ( const char )
virtual

Returns the data processor with the given name.

static DtSimDataProcessorManager& makVrf::DtSimDataProcessorManager::instance ( makVrv::DtBaseConnection conn)
static
static void makVrf::DtSimDataProcessorManager::registerInstance ( makVrv::DtBaseConnection sim,
DtSimDataProcessorManager instance 
)
static
static DtSimDataProcessorManager* makVrf::DtSimDataProcessorManager::create ( DtStateDataManager instance,
makVrv::DtBaseConnection sim 
)
static
static DtSimDataProcessorManagerCreatorFcn makVrf::DtSimDataProcessorManager::setCreator ( DtSimDataProcessorManagerCreatorFcn  )
static
virtual void makVrf::DtSimDataProcessorManager::addVantageToLegionIdMapping ( makVrv::DtUniqueID  ,
Legion::UInt64   
)
virtual

Because visuals may be removed before the state data is, when state data is added, adds a second mapping to the legion/vantage id here to be looked up if removed from the main visual mapper.

virtual bool makVrf::DtSimDataProcessorManager::removeLegionToVantageIdMapping ( Legion::UInt64  )
virtual
virtual Legion::UInt64 makVrf::DtSimDataProcessorManager::vantageToLegionId ( makVrv::DtUniqueID  ) const
virtual
virtual makVrv::DtUniqueID makVrf::DtSimDataProcessorManager::legionToVantageId ( Legion::UInt64  ) const
virtual

Member Data Documentation

FunctionCallQueue makVrf::DtSimDataProcessorManager::myThreadFunctions
protected
makVrv::DtBaseConnection& makVrf::DtSimDataProcessorManager::mySimulation
protected
RegisteredInterfaces makVrf::DtSimDataProcessorManager::myRegisteredInterfaces
protected
DtStateDataManager* makVrf::DtSimDataProcessorManager::myStateDataManager
protected
makVrv::DtSignalConnectionManager makVrf::DtSimDataProcessorManager::myConnections
protected
DtSimDataProcessorManagerCreatorFcn makVrf::DtSimDataProcessorManager::theSimDataProcessorManagerCreatorFcn
staticprotected
VantageToLegionIdMap makVrf::DtSimDataProcessorManager::myVantageToLegionIdMap
protected
LegionToVantageIdMap makVrf::DtSimDataProcessorManager::myLegionToVantageIdMap
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)