VR-Forces 4.6 Class Documentation
 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 ** $RCSfile: remBatchMgr.h,v $ $Revision: 1.14 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtRemoteBatchManager_H_
13 #define DtRemoteBatchManager_H_
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include <vlutil/vlFilename.h>
17 #include <vlutil/vlTime.h>
18 #include <vlutil/vlList.h>
19 
21 
24 class DtExerciseConn;
25 class DtClock;
26 class DtScenario;
27 class DtScenarioBatch;
28 
29 typedef void (*DtScenarioCallbackFcn)(void *usr);
30 
39 {
41  enum State
42  {
51  };
52 
53 public:
55  DtExerciseConn* exConn);
56  virtual ~DtRemoteBatchManager();
57 
59  virtual bool init();
60 
61  virtual bool loadBatch(const DtFilename &batchFileName,
62  DtBackendRemappingFcn fcn = NULL, void* userData = NULL);
63  virtual bool loadBatch(const DtScenarioBatch &batch,
64  DtBackendRemappingFcn fcn = NULL, void* userData = NULL);
67  virtual bool runBatch();
69  virtual bool stopBatch();
71  virtual bool running();
73  virtual bool done();
74 
76  virtual const DtScenarioBatchIterator* batchIterator();
77 
79  virtual void processBackendsLoadedCallback();
80 
82  virtual void addScenarioLoadingCallback(DtScenarioCallbackFcn fcn, void* usr);
83  virtual void removeScenarioLoadingCallback(DtScenarioCallbackFcn fcn, void* usr);
84 
86  virtual void addScenarioLoadingErrorCallback(DtScenarioCallbackFcn fcn, void* usr);
87  virtual void removeScenarioLoadingErrorCallback(DtScenarioCallbackFcn fcn, void* usr);
88 
90  virtual void addScenarioBatchCompleteCallback(DtScenarioCallbackFcn fcn, void* usr);
91  virtual void removeScenarioBatchCompleteCallback(DtScenarioCallbackFcn fcn, void* usr);
92 
94  virtual void addScenarioClosingCallback(DtScenarioCallbackFcn fcn, void* usr);
95  virtual void removeScenarioClosingCallback(DtScenarioCallbackFcn fcn, void* usr);
96 
98  virtual void processScenarioCallbacksForState(const State &state);
99 
101  virtual void removeCallbacksFor(DtScenarioCallbackFcn fcn, void* usrData, const State state);
102 
105  virtual void nextScenarioRun();
106 
109  virtual void nextScenario();
110 
112  virtual void idle();
113 
115  virtual void scheduleNextRun();
116 
117 public:
118 
120  static void tickCb(void* usr);
121 
124  static void backendsLoadedCallback(void *usr);
125 
126 protected:
130  DtRemoteBatchManager& operator=(const DtRemoteBatchManager &orig);
131 
134  virtual DtFilename constructLoggerFilename(const DtScenario* scenario);
135 
137  virtual void tick();
138 
141  virtual double currentSimulationTime() const;
142 
143 protected:
144  DtExerciseConn* myExConn;
149 
151  bool myRunning;
152  bool myDone;
155 
156  DtList myCallbacks;
157 
160 };
161 
162 #endif

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)