VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simDataProcessorManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
13 
14 #include <string>
15 
16 namespace makVrf
17 {
18  class DtStateComponent;
19  class DtStateDataManager;
20  class DtSimDataProcessorManager;
21 
22  typedef DtSimDataProcessorManager* (*DtSimDataProcessorManagerCreatorFcn)(DtStateDataManager* instance, makVrv::DtBaseConnection& sim);
26  {
27  public:
28 
31 
33  virtual ~DtSimDataProcessorManager();
34 
36  virtual void queueFunction(const boost::function<void ()>& function);
37 
39  virtual void addDataProcessor(DtVrfSimDataProcessorInterface*);
40 
42  virtual void runFunctionQueue();
43 
45  virtual DtVrfSimDataProcessorInterface* dataProcessor(const char*);
46 
48  static void registerInstance(makVrv::DtBaseConnection& sim, DtSimDataProcessorManager* instance);
49 
52 
55  virtual void addVantageToLegionIdMapping(makVrv::DtUniqueID, Legion::UInt64);
56  virtual bool removeLegionToVantageIdMapping(Legion::UInt64);
57 
58  virtual Legion::UInt64 vantageToLegionId(makVrv::DtUniqueID) const;
59  virtual makVrv::DtUniqueID legionToVantageId(Legion::UInt64) const;
60 
61  protected:
63  typedef std::vector<boost::function<void ()> > FunctionCallList;
64 
66 
68 
70  typedef std::map<std::string, DtVrfSimDataProcessorInterface*> RegisteredInterfaces;
72 
75 
77  typedef std::unordered_map<makVrv::DtUniqueID, Legion::UInt64> VantageToLegionIdMap;
78  typedef std::unordered_map<Legion::UInt64, std::pair<makVrv::DtUniqueID, int>> LegionToVantageIdMap;
79 
82  };
83 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
RegisteredInterfaces myRegisteredInterfaces
Definition: simDataProcessorManager.h:71
std::unordered_map< makVrv::DtUniqueID, Legion::UInt64 > VantageToLegionIdMap
Definition: simDataProcessorManager.h:77
makVrv::DtBaseConnection & mySimulation
Definition: simDataProcessorManager.h:67
This class will manage the data processors. It will be the spot that the data processors can post mes...
Definition: simDataProcessorManager.h:25
VantageToLegionIdMap myVantageToLegionIdMap
Definition: simDataProcessorManager.h:80
Definition: vrfDataProcessorInterface.h:35
Contains makVrv::DtLockedBufferedQueue class.
static DtSimDataProcessorManagerCreatorFcn theSimDataProcessorManagerCreatorFcn
Definition: simDataProcessorManager.h:76
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
makVrv::DtSignalConnectionManager myConnections
Definition: simDataProcessorManager.h:74
A locked buffered queue which allows multiple writers and a single reader. Internally the queue is st...
Definition: DtLockedBufferedQueue.h:24
Contains makVrv::DtVirtualBaseClass class.
LegionToVantageIdMap myLegionToVantageIdMap
Definition: simDataProcessorManager.h:81
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
unsigned long long UInt64
Definition: stateDataTypes.h:17
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::map< std::string, DtVrfSimDataProcessorInterface * > RegisteredInterfaces
Used for clean up.
Definition: simDataProcessorManager.h:70
makVrv::DtLockedBufferedQueue< boost::function< void()> > FunctionCallQueue
Definition: simDataProcessorManager.h:62
DtSimDataProcessorManager *(* DtSimDataProcessorManagerCreatorFcn)(DtStateDataManager *instance, makVrv::DtBaseConnection &sim)
Definition: simDataProcessorManager.h:22
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
Base class to provide boost signal/slot management.
FunctionCallQueue myThreadFunctions
Definition: simDataProcessorManager.h:65
std::vector< boost::function< void()> > FunctionCallList
Definition: simDataProcessorManager.h:63
std::unordered_map< Legion::UInt64, std::pair< makVrv::DtUniqueID, int > > LegionToVantageIdMap
Definition: simDataProcessorManager.h:78
DtStateDataManager * myStateDataManager
Definition: simDataProcessorManager.h:73
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)