VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
multiTaskControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 
22 {
23 
24 public:
25 
32  DtSimManager* simManager,
33  DtComponentDescriptor* compDesc = 0,
34  DtReaderWriterRegistry* parentRegistry = 0);
35 
38 
39  virtual bool init();
40 
45  virtual void postTick();
46 
55  virtual bool beginProcessingTask(const DtTaskMessage& task,
56  DtSimTaskStatePtr taskState);
57 
63  virtual void taskComplete(int taskId, bool success);
64 
66  virtual void clearTask(int taskId);
67 
70  virtual void suspendTask(int taskId);
71 
73  virtual DtTaskMessage* currentTaskMessage(int taskId);
74 
80  virtual DtSimTaskStatePtr currentTaskState(int taskId) const;
81 
85  virtual int sendSubtask(DtSimTask& task, int taskId);
86 
94  virtual int sendTask(DtSimTask& task, const DtString& receiver, int taskId,
95  bool actAsSubtask = true, bool useRadio = false);
96 
101  virtual void clearSubtask(int subtaskId, int taskId);
102 
106  virtual void addPendingSubtaskId(int subtaskId, int taskId);
107 
112  virtual bool findPendingSubtaskId(int subtaskId, int taskId);
113 
118  virtual void removePendingSubtaskId(int subtaskId, int taskId);
119 
122  virtual DtSubtaskStatusEntry* subtaskStatus(int subtaskId, int taskId);
123 
128  virtual void removeAllPendingSubtaskIds(int taskId);
129 
131  virtual std::vector<int> currentPendingSubstaskIds(int taskId) const;
132 
135  virtual bool decideToGiveUpTask() const;
136 
140  virtual void giveUpTask();
141 
143  virtual bool taskActive(int taskId) const;
144 
146  virtual bool clearTopLevelTasks();
147 
149  virtual void clearConflictingTopLevelTasks(const DtSimTaskMessageType& conflictType);
150 
152  virtual void clearTasksByType(const DtSimTaskMessageType& taskType);
153 
155  virtual void clearTaskById(int taskId);
156 
157  virtual DtSuspendedTaskInfo* suspendTaskById(int taskId);
158 
160  virtual std::list<DtTaskMessage*> currentTaskMessages() const;
161 
164 
167  virtual void setScriptTickPeriod(const DtString& scriptId, double period);
168 
169 protected:
171  virtual void addCurrentTaskMessage(const DtTaskMessage* taskMessage);
174  virtual void clearCurrentTaskMessage(int taskId);
175 
178  virtual void clearPendingSubtasks(int taskId);
179 
183  virtual void clearSubtasksByType(const DtSimTaskMessageType& taskType, int taskId);
184 
187  virtual int taskIdWhichStartedSubtask(int subtaskId);
188 };

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)