VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskExecutionRules.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
12 #include <readerWriter/rwBoolean.h>
13 #include <readerWriter/rwString.h>
14 
15 
17 {
18 public:
20  parentRegistry = NULL);
21 
22  DtTaskGroup(const DtString& name, const DtTaskGroup& orig,
23  DtReaderWriterRegistry* parentRegistry = NULL);
24 
26  const DtTaskGroup& operator=(const DtTaskGroup& orig);
27 
29  virtual ~DtTaskGroup();
30 
31  virtual const DtRwNLengthStringVector& taskNames() const;
32  virtual DtRwNLengthStringVector& taskNames();
33 
34  virtual void setGroupName(const DtString& name);
35  virtual DtString groupName() const;
36 
37 protected:
40 };
41 
43 
48 {
49 public:
51  parentRegistry = NULL);
52 
53  DtTaskExecutionRules(const DtString& name, const DtTaskExecutionRules& orig,
54  DtReaderWriterRegistry* parentRegistry = NULL);
55 
58 
60  virtual ~DtTaskExecutionRules();
61 
63 
64  virtual bool allTasksExclusive() const;
65  virtual void setAllTasksExclusive(bool v);
67 
69 
70  virtual DtRwNLengthStringVector& nonPlanInterruptableTasks();
71  virtual const DtRwNLengthStringVector& nonPlanInterruptableTasks() const;
73 
75 
76  virtual DtMutuallyExclusiveTaskGroupList& mutuallyExclusiveTaskGroupList();
77  virtual const DtMutuallyExclusiveTaskGroupList& mutuallyExclusiveTaskGroupList() const;
79 
82  virtual const DtTaskGroup* findTaskGroup(const DtString& name) const;
86  virtual std::list<DtString> findGroupsForTask(const DtString& taskName) const;
87 
88 protected:
97 
107 
114 };
DtMutuallyExclusiveTaskGroupList myMutuallyExclusiveTaskGroupList
Parameter Name: mutually-exclusive-task-groups Parameter Description: A list of task groups...
Definition: taskExecutionRules.h:106
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DtRwTemplatedListPtr< DtTaskGroup, true > DtMutuallyExclusiveTaskGroupList
Definition: taskExecutionRules.h:42
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
Definition: readerWriterRegistry.h:39
DtRwBoolean myAllTasksExclusive
Parameter Name: all-tasks-exclusive Parameter Description: Indicates whether all tasks are treated as...
Definition: taskExecutionRules.h:96
DtRwString myGroupName
Definition: taskExecutionRules.h:38
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwNLengthStringVector myTaskNames
Definition: taskExecutionRules.h:39
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DtRwNLengthStringVector myNonPlanInterruptableTasks
Parameter Name: non-plan-interruptable-tasks Parameter Description: A list of tasks, that is issued, will not abandon the plan currently running. If the plan running is also running a task of the same type, that plan will be cancelled and the next step in the plan executed Parameter Default Value: Empty.
Definition: taskExecutionRules.h:113
This RW class contains the rules for executing tasks on a particular type of entity. It contains lists of tasks that are mutually exclusive, meaning that they cannot be run at the same time on the entity.
Definition: taskExecutionRules.h:47
Definition: taskExecutionRules.h:16

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)