VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteBatchManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2002 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <vrfutil/backendMap.h>
10 #include <vlutil/vlMachineTypes.h>
11 #include <vlutil/vlFilename.h>
12 #include <vlutil/vlTime.h>
13 #include <vlutil/vlList.h>
14 #include <boost/signals2.hpp>
15 
18 class DtClock;
19 class DtScenario;
20 class DtScenarioBatch;
21 
22 typedef void (*DtScenarioCallbackFcn)(void *usr);
23 
31 {
33  enum State
34  {
43  };
44 
45 public:
47  virtual ~DtRemoteBatchManager();
48 
51  virtual bool init();
52 
55  virtual bool loadBatch(const DtFilename &batchFileName,
56  DtBackendRemappingFcn fcn = NULL, void* userData = NULL);
57  virtual bool loadBatch(const DtScenarioBatch &batch,
58  DtBackendRemappingFcn fcn = NULL, void* userData = NULL);
60 
63  virtual bool runBatch();
64 
66  virtual bool stopBatch();
67 
69  virtual bool running();
70 
72  virtual bool done();
73 
78  virtual const DtScenarioBatchIterator* batchIterator();
79 
81  virtual void processBackendsLoadedCallback();
82 
84  virtual void addScenarioLoadingCallback(DtScenarioCallbackFcn fcn, void* usr);
85  virtual void removeScenarioLoadingCallback(DtScenarioCallbackFcn fcn, void* usr);
86 
88  virtual void addScenarioLoadingErrorCallback(DtScenarioCallbackFcn fcn, void* usr);
89  virtual void removeScenarioLoadingErrorCallback(DtScenarioCallbackFcn fcn, void* usr);
90 
92  virtual void addScenarioBatchCompleteCallback(DtScenarioCallbackFcn fcn, void* usr);
93  virtual void removeScenarioBatchCompleteCallback(DtScenarioCallbackFcn fcn, void* usr);
94 
96  virtual void addScenarioClosingCallback(DtScenarioCallbackFcn fcn, void* usr);
97  virtual void removeScenarioClosingCallback(DtScenarioCallbackFcn fcn, void* usr);
98 
100  virtual void processScenarioCallbacksForState(const State &state);
101 
103  virtual void removeCallbacksFor(DtScenarioCallbackFcn fcn, void* usrData, const State state);
104 
107  virtual void nextScenarioRun();
108 
111  virtual void nextScenario();
112 
114  virtual void idle();
115 
117  virtual void scheduleNextRun();
118 
120  virtual void tick();
121 
122 protected:
127  DtRemoteBatchManager& operator=(const DtRemoteBatchManager &orig);
129 
132  virtual double currentSimulationTime() const;
133 
134  virtual void startedLoading(const DtScenario&);
135  virtual void backendsLoaded();
136  virtual void scenarioRunComplete();
137 
138 protected:
141 
143  bool myRunning;
144  bool myDone;
147 
148  DtList myCallbacks;
149 
152  boost::signals2::connection myPostAdvanceFrameConnection;
153 };
DtBackendRemappingFcn myRemappingFcn
Definition: remoteBatchManager.h:150
bool myDone
Definition: remoteBatchManager.h:144
Batch mode allows you to run one or more scenarios multiple times, for a specified amount of time...
Definition: remoteBatchManager.h:30
Definition: remoteBatchManager.h:36
Definition: scenario.h:52
DtCommunicationManager * myCommunicationManager
Definition: remoteBatchManager.h:140
void(* DtScenarioCallbackFcn)(void *usr)
Definition: vrfRemoteController.h:83
class DtScenarioBatch:
Definition: scenarioBatch.h:31
Definition: remoteBatchManager.h:38
boost::signals2::connection myPostAdvanceFrameConnection
Definition: remoteBatchManager.h:152
bool myBackendsLoaded
Definition: remoteBatchManager.h:146
State
Enumerations for state of batch run.
Definition: remoteBatchManager.h:33
bool(* DtBackendRemappingFcn)(DtBackendMap *map, const std::set< DtSimulationAddress > &expectedBackends, void *usr)
Used by loadScenario to get replacements for missing backends.
Definition: backendMap.h:52
DtList myCallbacks
Definition: remoteBatchManager.h:148
bool myRunning
Definition: remoteBatchManager.h:143
Definition: remoteBatchManager.h:39
State myState
Definition: remoteBatchManager.h:142
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
Definition: remoteBatchManager.h:35
DtScenarioBatchIterator * myBatchIterator
Definition: remoteBatchManager.h:139
Definition: remoteBatchManager.h:40
Definition: remoteBatchManager.h:42
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
void * myRemappingFcnUserData
Definition: remoteBatchManager.h:151
#define DT_DLL_vrfMsgTransport
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfCommunicationManagerDefines.h:26
class DtScenarioBatchIterator
Definition: scenarioBatchIterator.h:28
DtTime myRunStartTime
Definition: remoteBatchManager.h:145
Definition: remoteBatchManager.h:37
Definition: remoteBatchManager.h:41

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)