VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 const char* type() const = 0;
68 
77  virtual bool beginProcessingTask(const DtTaskMessage& task,
78  DtSimTaskStatePtr taskState);
79 
82  virtual void taskNotify(const DtSimTask & task) {};
83 
85 
86 
87  virtual void setTasked(bool tasked);
88  virtual bool tasked() const;
90 
96  virtual bool showCurrentTaskInGui() const;
97 
99  virtual void setRadio(DtSimRadio * radio);
100 
101  virtual void registerTaskMsgCallbacks();
102 
114  virtual void addTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtTaskMessageCallbackFcn fcn, void* usr);
115 
118  virtual void addTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtMessageCallbackFcn fcn, void* usr);
119 
120 
122  virtual void removeTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtMessageCallbackFcn fcn, void* usr);
123 
126  virtual void removeTaskProcessorCallback(const DtSimTaskMessageType& taskType, DtTaskMessageCallbackFcn fcn, void* usr);
127 
131  static void deprecatedTaskProcessorCallbackAdapter(DtSimMessage * msg, void * usr,
132  DtSimTaskStatePtr taskState);
133 
135  virtual bool taskActive(int taskId) const = 0;
136 
139  virtual bool clearTopLevelTasks() = 0;
140 
143  virtual void clearConflictingTopLevelTasks(const DtSimTaskMessageType& conflictType) = 0;
144 
146  virtual void clearTasksByType(const DtSimTaskMessageType& taskType) = 0;
147 
149  virtual void clearTaskById(int taskId) = 0;
150 
151  virtual DtSuspendedTaskInfo* suspendTaskById(int taskId) = 0;
152 
155  virtual std::list<DtTaskMessage*> currentTaskMessages() const = 0;
156 
159  virtual DtTaskWithTaskStateListPtr topLevelTasks() const = 0;
160 
162  virtual void enable();
163 
167  virtual void disable();
168 
170  virtual void sendTaskCanceled(DtTaskMessage* taskMsg);
171 
175  virtual bool taskVisualizationsActive() const;
176 
177 protected:
178 
181  virtual void suspendSubtasksOfTask(int taskId, DtSuspendedTaskInfo* suspendInfo);
182 
184  virtual DtSimTaskMessageType remapScriptId(const DtSimTaskMessageType&) const;
185 
186 protected:
187 
190  typedef std::pair<DtTaskMessageCallbackFcn, void*> DtTaskCallbackMapPair;
191  typedef std::map<DtSimTaskMessageType, DtTaskCallbackMapPair> DtTaskCallbackMap;
193 
196  std::list<DtTaskProcessorCallbackInfo*> myTaskProcessorCallbackInfoList;
197 
198 private:
202 
205 
208  orig);
209 };
210 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)