VR-Forces Developer's Guide
 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(bool suspendedFromTrigger = false) = 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: uuid.h:59
An abstract interface for the execution of a plan. This class defines the interface that is used to c...
Definition: planExecutor.h:32
Definition: readerWriter.h:85
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
DtSimCommand is an abstract base class from which commands can derive. It manages the read/write capa...
Definition: simCommand.h:32
class DtPlan:
Definition: plan.h:92
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
#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 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)