VR-Forces 4.1.1 Class Documentation
scriptedTaskManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
12 #include <vrfutil/callbackList.h>
13 #include "vrfutil/averager.h"
14 
15 class DtSimManager;
16 class DtSimMessage;
17 
22 
24 
30 
32 {
33  int reason;
34 
37 
41 };
42 
45 
47 {
48 public:
49 
52  {
53  ScenarioSystemPair() : scenarioScript(0), systemScript(0), monitor(0), references(0), averager(0) {};
54  ScenarioSystemPair(DtScriptedTaskMetaData* sc, DtScriptedTaskMetaData* sy) : scenarioScript(sc), systemScript(sy), monitor(0),
55  references(0), averager(0) {};
56 
57  DtScriptedTaskMetaData* scenarioScript;
60  int monitor;
62  std::string error;
63  };
64 
65  typedef std::map<std::string, ScenarioSystemPair> ScriptedTaskMetaDataList;
66  typedef std::map<std::string, ScriptedTaskMetaDataList> ScriptedTasksByDirectory;
67 
68 public:
71 
73  virtual ~DtScriptedTaskManager();
74 
75 private:
78 
80  DtScriptedTaskManager & operator=(const DtScriptedTaskManager & orig);
81 
82 public:
83  virtual DtSimManager* simManager() const;
84 
88  virtual void addAdditionSystemScriptDirectory(const std::string&, bool send = true);
89 
92  virtual void removeAllSystemScriptedTasksFromDirectory(const std::string&, bool send = true);
93 
95  virtual void removeAllScenarioScripts(bool send = true);
96 
98  virtual const ScriptedTasksByDirectory& scriptedTasksByDirectory() const;
99 
101  virtual const ScriptedTaskMetaDataList& scenarioScripts() const;
102 
104  virtual const ScriptedTaskMetaDataList& allScriptsById() const;
105 
107  virtual void sendRequestedScripts(DtU32 responseId = 0,
108  const std::vector<std::string>& scriptIds = std::vector<std::string>(), bool sendScripts = false);
109 
111  virtual bool lookupScriptById(const std::string&, DtScriptedTaskMetaData&) const;
112 
119  virtual void modifyScenarioScriptedTask(const DtScriptedTaskMetaData&, const std::string& sourceScriptId = "", bool send = true,
120  bool keepScriptInMessage = false);
121 
125  virtual void removeScriptedTask(const std::string& id, bool send = true, bool scenarioOnly = true,
126  bool removeSystemScriptFromDisk = false);
127 
129  virtual bool loadScenarioScripts(const std::string&, bool send = true);
130 
132  virtual bool writeScenarioScripts(const std::string&);
133 
136  virtual bool removeScriptById(const std::string& s, bool scenarioOnly = true,
137  bool removeSystemScriptFromDisk = false);
138 
141  virtual void setSimulationModelSetScriptsDirectory(const std::string& s, bool send = true);
142 
144  virtual std::vector<std::string> scriptsValidFor(const DtEntityType&) const;
145 
147 
148  virtual void addScriptedTaskChangedCallback(DtScriptedTaskManagerCallbackFcn fcn, void* usr);
149  virtual void removeScriptedTaskChangedCallback(DtScriptedTaskManagerCallbackFcn fcn, void* usr);
151 
154  virtual void reportError(const std::string& scriptId, const std::string& error, bool sendReport = true);
155 
157  virtual void clearError(const std::string& scriptId);
158 
160 
161 
162  virtual void addSample(const std::string& scriptId, double sample);
163 
166  virtual void monitor(const std::string& scriptId, bool);
167 
170  virtual void setMonitorTime(double);
171 
174  virtual void addFrameRateReference(const std::string&);
175 
177  virtual void removeFrameRateReference(const std::string&);
178 
180 
181 protected:
183  static void requestScriptedTasks(DtSimMessage*, void*);
184  virtual void processRequestScriptedTasks(DtSimMessage*);
185 
187  static void scriptedTaskOperation(DtSimMessage*, void*);
188  virtual void processScriptedTaskOperation(DtSimMessage*);
189 
191  virtual void makeSystemScript(const std::string&);
192 
194  virtual void modifySystemScript(const std::string& scriptid, const std::string&);
195 
197  virtual void modifySystemScriptedTask(const DtScriptedTaskMetaData&, const std::string& sourceSciptId = "", bool send = true);
198 
200  virtual void modifyScript(const std::string& id, const std::string& script);
201 
203  virtual bool changeScenarioScriptScriptId(const std::string& from, const std::string& to);
204 
206  virtual void addTaskToTaskFactory(const std::string& id);
207 
209  virtual void removeTaskFromTaskFactory(const std::string& id);
210 
212  virtual void signalNewScriptedTask(const std::string&);
213 
215  virtual void loadDefaultScript(DtScriptedTaskMetaData&);
216 
219  static void tickCallback(void*);
220  virtual void tick();
221 
223  virtual void sendMonitorInformation();
224 
225 protected:
228 
232 
235 
241 };

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)