VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
registerTriggerStatement.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfplan/vrfplanDefines.h"
12 #include "vrfplan/simStatement.h"
13 #include <readerWriter/rwBoolean.h>
14 #include "vrfutil/rwUUID.h"
15 
16 const char DtRegisterTriggerStatementTypeName[] = "RegisterTrigger";
17 const char DtUnregisterTriggerStatementTypeName[] = "UnregisterTrigger";
18 
19 class DtRwCondExpr;
20 class DtTriggerBlock;
21 class DtSimCondExpr;
22 class DtTriggerStmt;
23 
33 {
34 public:
35 
37  DtRegisterTriggerStatement(DtReaderWriterRegistry* parentRegistry = NULL);
38 
41  DtReaderWriterRegistry* parentRegistry = NULL);
42 
44  virtual ~DtRegisterTriggerStatement() override;
45 
48 
50  virtual DtSimStatement* clone(DtReaderWriterRegistry* parentRegistry = NULL) const override;
51 
53  virtual void setTriggerUUID(const DtUUID&);
54  virtual const DtUUID& triggerUUID() const;
55 
57  virtual DtString triggerName() const;
58 
59  virtual void setTriggerStatement(DtTriggerStmt*);
60  virtual DtTriggerStmt* triggerStatement() const;
61 
63  virtual bool registerTrigger() const;
64 
65  virtual int subBlockCount() const override;
66  virtual DtSimBlock* subBlock(int index) override;
67 
69  virtual bool reregisterTrigger() const;
70 
72  virtual void mapTriggerStatement(DtPlan& planContext);
73 
76  virtual void execute(DtPlan& planContext) override;
77 
79  virtual DtString stringRep(int) const override;
80 
82  virtual int type() const override;
83 
86  virtual int netRepSize() const override;
87 
89  virtual bool setFromNet(const char* contentBuffer, unsigned contentSize) override;
90 
102  virtual bool setToNet() override;
103 
105  virtual const DtSimCondExpr* condExpr() const;
106 
108  virtual const DtString& option() const;
109 
111  virtual DtTriggerBlock* triggerBlock() const;
112 
113  virtual void upgradeTriggerUUID(const boost::unordered_map<DtUUID, DtUUID>&) override;
114 
115 public:
117  static DtSimStatement* creator(DtReaderWriterRegistry* parentRegistry=NULL);
118 
119 protected:
120  DtRegisterTriggerStatement(const DtString& statementType, DtReaderWriterRegistry* parentRegistry = NULL);
121 
122 protected:
126 };
127 
130 {
131 public:
132 
135 
138  DtReaderWriterRegistry* parentRegistry = NULL);
139 
141  virtual ~DtUnregisterTriggerStatement() override;
142 
144  virtual DtSimStatement* clone(DtReaderWriterRegistry* parentRegistry = NULL) const override;
145 
147  virtual int type() const override;
148 
149 public:
151  static DtSimStatement* creator(DtReaderWriterRegistry* parentRegistry=NULL);
152 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual DtSimStatement * clone(DtReaderWriterRegistry *parentRegistry=NULL) const =0
virtual copy constructor A typical clone function. It must be overridden by derived classes to return...
virtual int subBlockCount() const
Get the number of blocks nested inside this statement.
DtTriggerStmt * myTriggerStatement
Definition: registerTriggerStatement.h:125
DtRwBoolean myRegister
Definition: registerTriggerStatement.h:124
virtual void execute(DtPlan &planContext)=0
Execute the current statement and make any changes to the Plan state as appropriate. Tells the statement to activate its own behavior. Each kind of statement implements this function differently. It is passed a reference to the executing DtPlan object as a “context of execution”.
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
const char DtUnregisterTriggerStatementTypeName[]
Definition: registerTriggerStatement.h:17
uuid class
Definition: rwUUID.h:26
class DtSimBlock:
Definition: simBlock.h:27
class DtRegisterTriggerStatement:
Definition: registerTriggerStatement.h:32
virtual DtSimBlock * subBlock(int index)
Get a pointer to any particular block nested inside this statement. Sub-blocks are indexed as C array...
virtual DtSimStatement * clone(DtReaderWriterRegistry *parentRegistry=NULL) const override
virtual copy constructor
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Extracts statement Id from buffer. First 16 bytes are a DtNetSimStatement structure. Derived class data should immediately follow this. Derived classes should call down to this one to make sure statement id gets set.
class DtTriggerBlock:
Definition: triggerBlock.h:26
virtual int netRepSize() const
Returns sizeof(DtNetSimStatement). Derived classes should add this size to the size of their net repr...
class DtPlan:
Definition: plan.h:92
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
virtual int type() const override
Returns DtRegisterStatementType (defined in simStmtTypes.h)
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
class DtRwCondExpr:
Definition: rwCondExpr.h:26
class DtSimStatement:
Definition: simStatement.h:38
virtual bool setToNet()
Casts myNetRep to DtNetSimStatement* and fills in structure. Derived classes should always call down ...
#define DT_DLL_vrfplan
This file is used to determine how to build.
Definition: vrfplanDefines.h:28
!!!!!!!! DtUnregisterTriggerStatement
Definition: registerTriggerStatement.h:129
DtRwUUID myTriggerUUID
Definition: registerTriggerStatement.h:123
Definition: triggerStmt.h:63
virtual void upgradeTriggerUUID(const boost::unordered_map< DtUUID, DtUUID > &)
For those statements that need to, map from the old to new trigger UUID.
DtSimStatement & operator=(const DtSimStatement &orig)
Assignment operator (protected because this is an abstract base class).
static DtSimStatement * creator(DtReaderWriterRegistry *parentRegistry=NULL)
Creator function to be registered with DtStatementFactory.
virtual int type() const =0
Returns the type of statement Type (defined in simStmtTypes.h)
const char DtRegisterTriggerStatementTypeName[]
Definition: registerTriggerStatement.h:16
virtual DtString stringRep(int subBlockIndex=DtSR_STMT) const =0
Get a readable string representation of this statement.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)