VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simBlock.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 class DtSimBlock;
12 
13 #include "vrfplan/vrfplanDefines.h"
14 #include <mtl/mtl.h>
15 #include <vlutil/vlString.h>
17 #include "vrfplan/stmtIndex.h"
18 
19 class DtPlan;
20 class DtSimTrigger;
21 class DtSimStatement;
23 
30 {
31 public:
32 
34  DtSimBlock(DtSimStatement* parentStatement);
35 
37  DtSimBlock(const DtString& name, DtSimStatement* parentStatement,
38  DtReaderWriterRegistry* parentRegistry = NULL);
39 
42  DtSimBlock(const DtSimBlock& orig);
43 
46  DtSimBlock(const DtString& name,
47  const DtSimBlock& orig,
48  DtReaderWriterRegistry* parentRegistry = NULL);
49 
52  virtual ~DtSimBlock();
53 
57  DtSimBlock& operator=(const DtSimBlock& orig);
58 
62  virtual DtSimBlock* clone(const DtString& name,
63  DtReaderWriterRegistry* parentRegistry = NULL) const = 0;
64 
67  DtSimBlock* clone() const;
68 
76  DtSimStatement* firstStmt() const;
77 
79  DtSimStatement* lastStmt() const;
80 
85  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
86  const DtVariableBindingsList& variableBindings);
87 
98  virtual void exitFromBlock(DtPlan&) = 0;
99 
104  virtual bool translateIndex(DtStmtIndex& stmtIndex);
105 
109  virtual void translateIndices(DtList& stmtIndexList);
110 
113  virtual DtSimStatement* lookupStatement(DtStmtIdType statementId);
114 
118  virtual DtRecursiveSimBlockIterator* spawnRecursiveIterator() const;
119 
122  virtual bool validate();
123 
126  virtual bool isSameBlock(DtSimBlock* rhs);
127 
129  void setParentStatement(DtSimStatement*);
130 
132  DtSimStatement* parentStatement() const;
133 
138  virtual DtListItem* addToList(DtRwListedObj* data, DtRwListedObj* after);
139 
141  virtual void upgradeTriggerUUID(const boost::unordered_map<DtUUID, DtUUID>&);
142 
143 protected:
144 
149  virtual void cloneListFrom(const DtSimBlock& other);
150 
151 protected:
153 };
154 
156 
158 {
159  return clone(name().string(), NULL);
160 }
161 
163 {
164  return (DtSimStatement*) firstObj();
165 }
166 
168 {
169  return (DtSimStatement*) lastObj();
170 }
171 
173 {
174  myParentStatement = s;
175 }
176 
178 {
179  return myParentStatement;
180 }

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)