19 #include <vlutil/vlSmartPointers.h>
107 virtual std::vector<DtSimTaskMessageType> capableTaskIds()
const;
121 virtual void removeSupportingTasks(
int);
138 virtual bool executeTask(
DtTaskMessage& taskMsg,
bool clearConflictingTopLevelTasks =
true);
144 virtual void addBackgroundProcess(
const DtString& scriptId,
int backgroundProcessId,
const DtString& controllerName);
145 virtual void removeBackgroundProcess(
const DtString& scriptId);
148 virtual void addScriptedSet(
const DtString& scriptId,
int backgroundProcessId,
const DtString& controllerName);
149 virtual void removeScriptedSet(
const DtString& scriptId);
162 virtual int suspendTasks(std::set<DtString> actionCategories);
165 virtual int suspendAllTopLevelTasks();
172 virtual bool resumeTasks(
int suspendId);
176 virtual void addTaskCompleteCallback(DtTaskCompleteCallbackList::DtCallbackFunctionType fcn,
void* usr);
177 virtual void removeTaskCompleteCallback(DtTaskCompleteCallbackList::DtCallbackFunctionType fcn,
void* usr);
182 virtual bool taskActive(
int taskId)
const;
185 virtual void registerInterfaceMessageCallbacks();
188 virtual void registerRadioMessageCallbacks();
193 bool clearConflictingTopLevelTasks =
true);
198 virtual void skipTask(
bool fromSuperior =
false);
205 virtual void taskComplete(
const DtVrfObjectMessage & radioMsg,
bool success,
bool affectsIndependentTaskStatus =
true);
209 virtual void sendTaskCompleted(
const DtTaskMessage& taskMsg,
bool success);
213 void awaitingTask(
int taskIdJustCompleted = -1);
217 virtual void setTaskedBySuperior();
220 virtual bool requestTaskNeeded()
const;
223 virtual void setRequestTaskNeeded(
bool requestTaskNeeded);
227 virtual bool independentlyTasked()
const;
231 virtual void setIndependentlyTasked(
bool independentlyTasked);
246 virtual void setVrfObject(
DtVrfObject * vrfObject);
251 virtual void setSendSkipTaskMessages(
bool sendSkipTaskMessages);
252 virtual bool sendSkipTaskMessages();
257 virtual void addOnTaskNotifyCallback(
262 virtual void removeOnTaskNotifyCallback(
267 virtual void clearSubtask(
int subtaskId);
274 virtual bool hasTopLevelTask()
const;
284 virtual bool taskTypesAreExclusive(
const std::list<DtString>& task1Categories,
const DtSimTaskMessageType& taskType2)
const;
291 virtual void updateTaskInfo();
303 static void taskedBySuperiorRequestCallback(
DtSimMessage * msg,
void *
308 static void skipTaskCallback(
DtSimMessage * msg,
void * usr);
312 static void clearTaskCallback(
DtSimMessage * msg,
void * usr);
316 static void taskVisualizationRequestCallback(
DtSimMessage * msg,
void * usr);
321 static void objectAboutToBeRemovedCallback(
DtVrfObject*
object,
void* usr);
325 static void subordinateRemoved(
const DtUUID& superior,
const DtUUID& subordinate,
void* usr);
337 static void addSimTaskManagerCreatorFcn(
const DtString & type,
346 virtual bool hasTopLevelTasks()
const;
349 virtual bool taskVisualizationsEnabled(
bool includeUnTimedOut)
const;
352 virtual bool taskVisualizationsActivated()
const;
362 virtual void processTaskVisualizationRequest(
DtSimMessage * msg);
367 virtual void processObjectAboutToBeRemoved(
DtVrfObject*
object);
373 virtual bool clearAllTopLevelTasks();
389 void processSubordinateRemoved(
const DtUUID& superior,
const DtUUID& subordinate);
393 static void taskMessageCallback(
DtSimMessage* msg,
void* usr);
400 bool taskNotify,
bool clearConflictingTopLevelTasks =
true);
405 virtual std::vector<DtSimTaskMessageType> conflictingTaskTypes(
const DtSimTaskMessageType& testTaskType)
const;
413 static void unsubscribeCurrentTasksCallback(
const DtVrfObjectMessage* msg,
void* usr);
416 virtual void sendCurrentTasks();
420 virtual void updateTaskVisualizationList();
423 virtual void sendCurrentTaskVisualizations();
426 virtual void stopCurrentTaskVisualizations();
428 static void clearTaskByTrackingNumberCallback(
const DtVrfObjectMessage* msg,
void* usr);
436 virtual void registerSetDataMessageCallbacks();
437 virtual void unregisterSetDataMessageCallbacks();
439 virtual void registerTaskMessageCallbacks();
440 virtual void unregisterTaskMessageCallbacks();