VR-Forces 4.1.1 Class Documentation
DtVrfScriptedTaskManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vrvUtil/signalslib.h>
16 #include <vrfGuiCore/vrfGuiCore.h>
18 #include <vrvCore/DtDe.h>
19 #include <vlpi/simulationAddress.h>
20 
21 class DtSimMessage;
22 
23 namespace makVrf
24 {
25  class DtVrfBackendState;
26 
30  {
31  public:
33  {
34  ScenarioSystemPair() : scenarioScript(0), systemScript(0) {};
35  ScenarioSystemPair(DtScriptedTaskMetaData* sc, DtScriptedTaskMetaData* sy) : scenarioScript(sc), systemScript(sy) {};
36 
37  DtScriptedTaskMetaData* scenarioScript;
39  std::string scriptError;
40  bool modified;
41  };
42 
43  typedef std::map<std::string, ScenarioSystemPair> ScriptedTasks;
44  typedef std::pair<std::string, bool> ActionCategory;
45  typedef std::map<std::string, ActionCategory> ActionCategories;
46 
48  {
50  std::string scriptError;
51  };
52 
53  typedef std::map<std::string, PreservedScript> PreservedScripts;
54 
55  public:
57  virtual ~DtVrfScriptedTaskManager();
58 
60  static DtVrfScriptedTaskManager& instance(makVrv::DtDe& de);
61  static void registerInstance(makVrv::DtDe&, DtVrfScriptedTaskManager*);
62 
66  virtual void clear(bool andSetting = true);
67 
70  virtual void removeScriptedTaskMetaData(const std::string& scriptedTaskId, bool signal = true);
71 
73  virtual DtScriptedTaskMetaData scriptedTaskMetaData(const std::string& scriptId, bool system) const;
74 
76  virtual DtScriptedTaskMetaData scriptedTaskMetaData(const std::string& scriptId) const;
77 
80  virtual void addScriptedTaskMetaDataToScenario(const DtScriptedTaskMetaData&, bool addScript = false);
81 
84  virtual void duplicateScriptedTaskMetaDataToScenario(const DtScriptedTaskMetaData&, const std::string& sourceId);
85 
89  virtual void updateScriptedTaskMetaDataToScenario(const DtScriptedTaskMetaData&, const std::string& originalId = "");
90 
92  virtual void deleteScriptedTaskMetaData(const std::string&);
93 
95  virtual void addScriptedTaskMetaData(const DtScriptedTaskMetaData&, bool signal = true);
96 
99  virtual void requestScriptedTasks();
100 
102  virtual bool isSystemScript(const std::string&) const;
103 
105  virtual bool appearsOnMenu(const std::string&) const;
106 
108  virtual bool systemScriptAvailable(const std::string&) const;
109 
111  virtual void setSystemScriptAvailable(const std::string& id, bool);
112 
114  virtual void removeSystemScript(const std::string& id, bool signal = true);
115 
117  virtual const ScriptedTasks& scriptedTaskMetaData() const;
118 
120  virtual bool hasScriptedTaskMetaData(const std::string&) const;
121  virtual bool hasScenarioScriptedTaskMetaData(const std::string&) const;
122  virtual bool hasSystemScriptedTaskMetaData(const std::string&) const;
123 
127  virtual std::string uniqueScriptIdFrom(const std::string&,
128  std::set<std::string> additionalToCheck = std::set<std::string>()) const;
129 
133  virtual void makeSystemScript(const std::string&);
134 
136  virtual void assignScriptError(const std::string& scriptId, const std::string& error);
137 
139  virtual void clearScriptError(const std::string& scriptId);
140 
143  virtual bool scriptHasError(const std::string& scriptId, std::string* error = 0) const;
144 
146  virtual bool scriptIsModified(const std::string& scriptId) const;
147 
149  virtual void setScriptModified(const std::string& scriptId, bool);
150 
152  virtual void clearModifiedScripts();
153 
157  virtual void setScript(const std::string& scriptId, const std::string& script, bool setAsModified = true);
158 
160  virtual bool hasModifiedScripts() const;
161 
163  virtual void preserveModifiedScripts();
164 
166  virtual void restorePreservedScripts();
167 
169  virtual int mapScriptIdToAction(const std::string& scriptId);
170 
172  virtual void unmapScriptId(const std::string&);
173 
175  virtual void setMonitorFrameRates(const std::string& scriptId, bool monitor);
176 
178  virtual const ActionCategories& actionCategories() const;
179 
181  virtual void requestScriptsIfNeeded();
182 
183  protected:
185  virtual void receiveScriptedTaskList(DtSimMessage* msg);
186 
188  virtual void receiveActionCategories(DtSimMessage* msg);
189 
191  virtual void receivedScriptedTaskUpdateMessage(DtSimMessage* msg);
192 
194  virtual void slot_backendRemoved(const DtVrfBackendState&);
195 
196  public:
197  boost::signal<void ()> signal_aboutToClearScriptedTasks;
198  boost::signal<void (std::string)> signal_scriptedTaskAboutToBeRemoved;
199  boost::signal<void (std::string)> signal_scriptedTaskAdded;
200  boost::signal<void ()> signal_receivedScriptedTasks;
201 
204  boost::signal<void (std::string, bool, std::string)> signal_scriptErrorChange;
205 
207  boost::signal<void (std::string, bool)> signal_scriptModified;
208 
210  boost::signal<void ()> signal_scriptModifiedCleared;
211 
213  boost::signal<void (int, std::string)> signal_scriptRemovedFromTaskMenu;
214 
216  boost::signal<void (int, std::string)> signal_scriptAddedToTaskMenu;
217 
218  protected:
222 
223  unsigned int myRequestId;
224 
225  typedef std::map<std::string, int> ScriptIdToActionIdMap;
227 
228  DtSimulationAddress myScriptMonitorAddress;
229  std::map<std::string, int> myMonitoring;
230 
233  };
234 }

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)