VR-Forces 4.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 
124  virtual void removeScriptedTask(const std::string& id, bool send = true, bool scenarioOnly = true,
125  bool removeSystemScriptFromDisk = false);
126 
128  virtual bool loadScenarioScripts(const std::string&, bool send = true);
129 
131  virtual bool writeScenarioScripts(const std::string&);
132 
135  virtual bool removeScriptById(const std::string& s, bool scenarioOnly = true,
136  bool removeSystemScriptFromDisk = false);
137 
140  virtual void setSimulationModelSetScriptsDirectory(const std::string& s, bool send = true);
141 
143  virtual std::vector<std::string> scriptsValidFor(const DtEntityType&) const;
144 
146 
147  virtual void addScriptedTaskChangedCallback(DtScriptedTaskManagerCallbackFcn fcn, void* usr);
148  virtual void removeScriptedTaskChangedCallback(DtScriptedTaskManagerCallbackFcn fcn, void* usr);
150 
153  virtual void reportError(const std::string& scriptId, const std::string& error, bool sendReport = true);
154 
156  virtual void clearError(const std::string& scriptId);
157 
159 
160 
161  virtual void addSample(const std::string& scriptId, double sample);
162 
165  virtual void monitor(const std::string& scriptId, bool);
166 
169  virtual void setMonitorTime(double);
170 
173  virtual void addFrameRateReference(const std::string&);
174 
176  virtual void removeFrameRateReference(const std::string&);
177 
179 
180 protected:
182  static void requestScriptedTasks(DtSimMessage*, void*);
183  virtual void processRequestScriptedTasks(DtSimMessage*);
184 
186  static void scriptedTaskOperation(DtSimMessage*, void*);
187  virtual void processScriptedTaskOperation(DtSimMessage*);
188 
190  virtual void makeSystemScript(const std::string&);
191 
193  virtual void modifySystemScript(const std::string& scriptid, const std::string&);
194 
196  virtual void modifySystemScriptedTask(const DtScriptedTaskMetaData&, const std::string& sourceSciptId = "", bool send = true);
197 
199  virtual void modifyScript(const std::string& id, const std::string& script);
200 
202  virtual bool changeScenarioScriptScriptId(const std::string& from, const std::string& to);
203 
205  virtual void addTaskToTaskFactory(const std::string& id);
206 
208  virtual void removeTaskFromTaskFactory(const std::string& id);
209 
211  virtual void signalNewScriptedTask(const std::string&);
212 
214  virtual void loadDefaultScript(DtScriptedTaskMetaData&);
215 
218  static void tickCallback(void*);
219  virtual void tick();
220 
222  virtual void sendMonitorInformation();
223 
224 protected:
227 
231 
234 
240 };

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)