VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
triggerStmt.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 #include "vrfutil/rwString.h"
12 #include "vrfutil/rwBoolean.h"
13 #include "vrfutil/simCondExpr.h"
14 #include "vrfutil/rwUUID.h"
15 #include "vrfplan/rwCondExpr.h"
17 
18 #include <boost/unordered_map.hpp>
19 
20 const char DtWhenStmtTypeName[] = "When";
21 
22 class DtRwCondExpr;
23 class DtTriggerBlock;
24 
34 #include "vrfplan/vrfplanDefines.h"
35 
36 class DtTriggerStmt;
37 
39 {
40 public:
44 
45  void addTriggerStatement(DtTriggerStmt*);
46  void removeTriggerStatement(DtTriggerStmt*);
47  bool hasTriggerStatements() const { return (myTriggerStatements.size() != 0); };
48 
49  virtual DtString markingText();
50  virtual DtUUIDMarkingTextProvider* clone() const;
51 
52 protected:
53  std::set<DtTriggerStmt*> myTriggerStatements;
54 };
55 
57 {
58 public:
59 
61  DtTriggerStmt(DtReaderWriterRegistry* parentRegistry = NULL);
62 
64  DtTriggerStmt(const DtTriggerStmt& orig,
65  DtReaderWriterRegistry* parentRegistry = NULL);
66 
68  virtual ~DtTriggerStmt();
69 
72 
74 
75  virtual DtSimStatement* clone(
76  DtReaderWriterRegistry* parentRegistry = NULL) const;
77 
79  virtual int type() const;
80 
83  virtual void execute(DtPlan& planContext);
84 
86  virtual int subBlockCount() const;
88  virtual DtSimBlock* subBlock(int index);
89 
99  virtual DtString stringRep(int subBlockIndex = DtSR_STMT) const;
100 
104  virtual void exitFromTrigger(DtPlan& planContext);
105 
106  virtual const DtUUID& triggerUUID() const;
107  virtual void setTriggerUUID(const DtUUID&);
108 
110  virtual DtString triggerName() const;
111 
112  virtual const DtSimCondExpr* condExpr() const;
113  virtual void setCondExpr(const DtSimCondExpr* arg);
114 
120  virtual const DtString& option() const;
122  virtual void setOption(const DtString& arg);
123 
124  virtual DtTriggerBlock* triggerBlock() const;
125  virtual void setTriggerBlock(DtTriggerBlock* arg);
126 
128  virtual void setReregisterTrigger(bool);
129  virtual bool reregisterTrigger() const;
130 
137  virtual int netRepSize() const;
138 
140  virtual bool setFromNet(const char* contentBuffer,
141  unsigned contentSize);
142 
154  virtual bool setToNet();
155 
156 protected:
159  static void addTriggerMarkingTextMapping(DtTriggerStmt*);
160  static void removeTriggerMarkingTextMapping(DtTriggerStmt*);
161 
162  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
163  const DtVariableBindingsList& variableBindings);
164 
165 public:
166 
167  static DtSimStatement * creator(DtReaderWriterRegistry* parentRegistry = NULL);
168 
169 protected:
170 
171  virtual bool compare(DtSimStatement*);
172 
173 protected:
179 
180  typedef boost::unordered_map<DtUUID, DtTriggerStatementUUIDMarkingTextProvider*> NamedTriggers;
181 
183 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)