VR-Forces 4.1 Class Documentation
multiTaskControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include "vrftasks/radioMsgTypes.h"
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 
69  virtual DtTaskMessage* currentTaskMessage(int taskId);
70 
76  virtual DtSimTaskStatePtr currentTaskState(int taskId) const;
77 
81  virtual int sendSubtask(DtSimTask& task, int taskId);
82 
89  virtual int sendTask(DtSimTask& task, const DtString& receiver, int taskId);
90 
95  virtual void clearSubtask(int subtaskId, int taskId);
96 
100  virtual void addPendingSubtaskId(int subtaskId, int taskId);
101 
106  virtual bool findPendingSubtaskId(int subtaskId, int taskId);
107 
112  virtual void removePendingSubtaskId(int subtaskId, int taskId);
113 
116  virtual DtSubtaskStatusEntry* subtaskStatus(int subtaskId, int taskId);
117 
122  virtual void removeAllPendingSubtaskIds(int taskId);
123 
125  virtual std::vector<int> currentPendingSubstaskIds(int taskId) const;
126 
129  virtual bool decideToGiveUpTask() const;
130 
134  virtual void giveUpTask();
135 
137  virtual bool taskActive(int taskId) const;
138 
140  virtual bool clearTopLevelTasks();
141 
143  virtual void clearConflictingTopLevelTasks(const DtSimTaskMessageType& conflictType);
144 
146  virtual void clearTasksByType(const DtSimTaskMessageType& taskType);
147 
149  virtual void clearTaskById(int taskId);
150 
152  virtual std::list<DtTaskMessage*> currentTaskMessages() const;
153 
156 
157 protected:
159  virtual void addCurrentTaskMessage(const DtTaskMessage* taskMessage);
162  virtual void clearCurrentTaskMessage(int taskId);
163 
166  virtual void clearPendingSubtasks(int taskId);
167 
171  virtual void clearSubtasksByType(const DtSimTaskMessageType& taskType, int taskId);
172 
175  virtual int taskIdWhichStartedSubtask(int subtaskId);
176 };

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)