VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
planExecutor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include "vrfplan/vrfplanDefines.h"
14 #include "vrfplan/simCommandStmt.h"
15 #include <vector>
16 
17 class DtPlan;
18 class DtSimTask;
19 class DtSetDataRequest;
20 class DtSimCommand;
21 class DtSimCondExpr;
22 class DtUUID;
24 class DtReaderWriter;
25 
33 {
34 private:
36  DtPlanExecutor(const DtPlanExecutor& orig);
38  DtPlanExecutor& operator=(const DtPlanExecutor& orig);
39 
40 public:
42  virtual ~DtPlanExecutor();
45  virtual bool executeSetDataRequest(const DtPlan& plan, const DtSetDataRequest& sdr) = 0;
48  virtual bool executeTask(const DtPlan& plan, const DtSimTask& task) = 0;
53  virtual bool executeSimCommand(const DtPlan& plan, const DtSimCommand& command, DtSimCommandContextPtr& context) = 0;
54 
57  virtual bool isSimCommandComplete(const DtPlan& plan, const DtSimCommand& command, const DtSimCommandContextPtr& context) const = 0;
58 
61  virtual bool evaluateConditional(const DtPlan& plan, const DtSimCondExpr* conditional) = 0;
62 
65  virtual bool taskActive(int taskId) const = 0;
66 
70  virtual bool stopTask(int taskId) = 0;
71 
73  virtual int suspendAllTopLevelTasks() = 0;
74 
76  virtual bool resumeSuspendedTask(int) = 0;
77 
79  virtual bool hasTopLevelTasks() const = 0;
80 
85  virtual std::vector<DtReaderWriter*> substituteVariablesIn(const DtRwVariableBindings&, DtReaderWriter*) const = 0;
86 
88  virtual std::vector<DtReaderWriter*> substitutedValues(const DtRwVariableBindings&, const DtReaderWriter*) const = 0;
89 
91  virtual bool subsituteUUIDIfAvailable(const DtRwVariableBindings&, const DtReaderWriter*, DtUUID& uuid) const = 0;
92 
93 protected:
94 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
An abstract interface for the execution of a plan.
Definition: planExecutor.h:32
Definition: readerWriter.h:85
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
DtSimCommand is an abstract base class from which commands can derive.
Definition: simCommand.h:32
class DtPlan:
Definition: plan.h:91
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:31
#define DT_DLL_vrfplan
This file is used to determine how to build.
Definition: vrfplanDefines.h:28
DtBoost::shared_ptr< DtSimCommandContext > DtSimCommandContextPtr
Definition: simCommandStmt.h:28

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)