18 #include <vlutil/vlSmartPointers.h>
103 virtual std::vector<DtSimTaskMessageType> capableTaskIds()
const;
131 virtual int suspendTasks(std::set<DtString> actionCategories);
134 virtual int suspendAllTopLevelTasks();
141 virtual bool resumeTasks(
int suspendId);
145 virtual void addTaskCompleteCallback(DtTaskCompleteCallbackList::DtCallbackFunctionType fcn,
void* usr);
146 virtual void removeTaskCompleteCallback(DtTaskCompleteCallbackList::DtCallbackFunctionType fcn,
void* usr);
151 virtual bool taskActive(
int taskId)
const;
154 virtual void registerInterfaceMessageCallbacks();
157 virtual void registerRadioMessageCallbacks();
167 virtual void skipTask(
bool fromSuperior =
false);
176 virtual void sendTaskCompleted(
const DtTaskMessage& taskMsg,
bool success);
180 void awaitingTask(
int taskIdJustCompleted = -1);
184 virtual void setTaskedBySuperior();
187 virtual bool requestTaskNeeded()
const;
190 virtual void setRequestTaskNeeded(
bool requestTaskNeeded);
194 virtual bool independentlyTasked()
const;
198 virtual void setIndependentlyTasked(
bool independentlyTasked);
203 virtual bool currentTasksMatchEchelonId();
218 virtual void setVrfObject(
DtVrfObject * vrfObject);
223 virtual void setSendSkipTaskMessages(
bool sendSkipTaskMessages);
224 virtual bool sendSkipTaskMessages();
229 virtual void addOnTaskNotifyCallback(
234 virtual void removeOnTaskNotifyCallback(
239 virtual void clearSubtask(
int subtaskId);
246 virtual bool hasTopLevelTask()
const;
257 virtual void updateTaskInfo();
266 static void taskedBySuperiorRequestCallback(
DtSimMessage * msg,
void *
271 static void skipTaskCallback(
DtSimMessage * msg,
void * usr);
275 static void clearTaskCallback(
DtSimMessage * msg,
void * usr);
280 static void objectAboutToBeRemovedCallback(
DtVrfObject*
object,
void* usr);
284 static void subordinateRemoved(DtEntityIdentifier childEid,
void* usr);
296 static void addSimTaskManagerCreatorFcn(
const DtString & type,
314 virtual void processObjectAboutToBeRemoved(
DtVrfObject*
object);
320 virtual bool clearAllTopLevelTasks();
336 void processSubordinateRemoved(DtEntityIdentifier childEid);
340 static void taskMessageCallback(
DtSimMessage* msg,
void* usr);
351 virtual std::vector<DtSimTaskMessageType> conflictingTaskTypes(
const DtSimTaskMessageType& testTaskType)
const;
359 static void unsubscribeCurrentTasksCallback(
const DtVrfObjectMessage* msg,
void* usr);
362 virtual void sendCurrentTasks();
365 static void clearTaskByTrackingNumberCallback(
const DtVrfObjectMessage* msg,
void* usr);