VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptReactiveTaskControllerPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
7 
8 
10 
14 #include <readerWriter/rwReal.h>
15 #include <readerWriter/rwString.h>
17 #include "vrfutil/railSegment.h"
18 #include "vrfutil/rwRailSegment.h"
19 #include "readerWriter/rwVector.h"
20 #include <set>
23 #include <readerWriter/rwReal.h>
24 #include <readerWriter/rwBoolean.h>
25 #include <readerWriter/rwInt.h>
27 #include "vrfobjcore/vrfObject.h"
28 #include "vrfutil/rwUserQuestion.h"
30 
32 {
33 protected:
34  typedef void (*DtScriptPSRScenarioSaveLoadFcn)(void*);
35 
36 public:
39  const DtString& rwName = DtString::nullString(),
40  DtReaderWriterRegistry* parentRegistry = 0);
41 
44  const DtString& rwName = DtString::nullString(),
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
49 
52 
55  const DtString& rwName = DtString::nullString(),
56  DtReaderWriterRegistry* parentRegistry = 0) const;
57 
60  virtual DtString type() const;
61 
63  static DtVrfProcessStateRepository* creator (const DtString& rwName,
64  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
65 
66  virtual void putSelf(std::string& fp, int indentLevel, bool writeUnspecified, const DtFilename& path);
67  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings);
68 
69  virtual void addTaskPriority(const DtSimTaskMessageType& scriptId, int priority);
72  virtual void removeTaskPriority(const DtSimTaskMessageType& scriptId);
73  virtual const std::map<int, std::list<DtSimTaskMessageType> >& priorityMap() const;
74  virtual void updateAllPriorities();
75 
80  virtual void addReactiveTaskEntry(const DtSimTaskMessageType& scriptId, DtRwScriptReactiveTaskEntry* entry, bool deleteOnUpdate = true);
81  virtual void removeReactiveTaskEntry(const DtSimTaskMessageType& scriptId, bool deleteEntry = true);
82  virtual DtRwScriptReactiveTaskEntry* findReactiveTaskEntry(const DtSimTaskMessageType& scriptId) const;
83  virtual const std::map<DtSimTaskMessageType, DtRwScriptReactiveTaskEntry*>& reactiveTaskEntryMap() const;
84 
85  virtual void addActionCategories(const std::set<DtString>& actionCategories);
86  virtual int currentReactionLevel(const std::set<DtString>& actionCategories) const;
87  virtual void updateReactionLevels(const std::set<DtString>& actionCategories);
88  virtual void updateAllReactionLevels();
89 
90  virtual void sweepMarkedForDeletion();
91 
93  virtual DtRwUserQuestionHandler& userQuestionHandler();
94  virtual const DtRwUserQuestionHandler& userQuestionHandler() const;
95 
96 protected:
97  bool doCategoriesOverlap(const std::set<DtString>& firstSet, const std::set<DtString>& secondSet, std::set<DtString>& overlap) const;
98 
99 protected:
101 
103  std::map<DtSimTaskMessageType, DtRwScriptReactiveTaskEntry*> myReactiveTaskEntryMap;
104  std::map<int, std::list<DtSimTaskMessageType> > myPriorityMap;
105  std::map<DtString, int> myCategoryReactionLevelMap;
106 
108 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)