VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
taskControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 
13 #pragma once
14 
16 #include "vrftasks/simTaskState.h"
20 
21 
22 class DtSimManager;
23 class DtTaskMessage;
24 class DtSimMessage;
26 
27 typedef void (*DtTaskMessageCallbackFcn)(DtSimMessage * msg, void * usr,
29 
31 {
33  void* myUserData;
35 
49 {
50 
51 public:
52 
58  DtTaskControllerComponent(const DtString& name, DtVrfObject* owner,
59  DtSimManager* simManager,
60  DtComponentDescriptor* compDesc = 0,
61  DtReaderWriterRegistry* parentRegistry = 0);
62 
64  virtual ~DtTaskControllerComponent();
65 
67  virtual DtString type() const = 0;
68 
73  virtual void postTick();
74 
83  virtual bool beginProcessingTask(const DtTaskMessage& task,
84  DtSimTaskStatePtr taskState);
85 
88  virtual void taskNotify(const DtSimTask & task) {};
89 
91 
92 
93  virtual void setTasked(bool tasked);
94  virtual bool tasked() const;
96 
102  virtual bool showCurrentTaskInGui() const;
103 
105  virtual void setRadio(DtSimRadio * radio);
106 
107  virtual void registerTaskMsgCallbacks();
108 
120  virtual void addTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtTaskMessageCallbackFcn fcn, void* usr);
121 
124  virtual void addTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtMessageCallbackFcn fcn, void* usr);
125 
126 
128  virtual void removeTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtMessageCallbackFcn fcn, void* usr);
129 
132  virtual void removeTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtTaskMessageCallbackFcn fcn, void* usr);
133 
137  static void deprecatedTaskProcessorCallbackAdapter(DtSimMessage * msg, void * usr,
138  DtSimTaskStatePtr taskState);
139 
141  virtual bool taskActive(int taskId) const = 0;
142 
145  virtual bool clearTopLevelTasks() = 0;
146 
149  virtual void clearConflictingTopLevelTasks(const DtSimTaskMessageType& conflictType) = 0;
150 
152  virtual void clearTasksByType(const DtSimTaskMessageType& taskType) = 0;
153 
155  virtual void clearTaskById(int taskId) = 0;
156 
157  virtual DtSuspendedTaskInfo* suspendTaskById(int taskId) = 0;
158 
161  virtual std::list<DtTaskMessage*> currentTaskMessages() const = 0;
162 
165  virtual DtTaskWithTaskStateListPtr topLevelTasks() const = 0;
166 
168  virtual void enable();
169 
173  virtual void disable();
174 
176  virtual void sendTaskCanceled(DtTaskMessage* taskMsg);
177 
178 protected:
179 
182  virtual void suspendSubtasksOfTask(int taskId, DtSuspendedTaskInfo* suspendInfo);
183 
184 protected:
185 
188  typedef std::pair<DtTaskMessageCallbackFcn, void*> DtTaskCallbackMapPair;
189  typedef std::map<DtSimTaskMessageType, DtTaskCallbackMapPair> DtTaskCallbackMap;
191 
194  std::list<DtTaskProcessorCallbackInfo*> myTaskProcessorCallbackInfoList;
195 
196 private:
200 
203 
206  orig);
207 };
208 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)