13 #include <vlutil/vlString.h>
14 #include <vlutil/vlList.h>
18 #include <vl/hostStructs.h>
69 (
const DtUUID& name,
const std::vector<DtSimStatement*>& statements,
bool append,
95 IsQuickLaunch = 0x00000001,
96 ShowOnQuickLaunchToolbar = 0x00000002,
135 virtual void addVariables();
152 virtual const DtUUID& planName()
const;
153 virtual void setPlanName(
const DtUUID& name);
154 virtual bool planNameSpecified()
const;
160 virtual void setIsQuickLaunch(
bool);
161 virtual bool isQuickLaunch()
const;
164 virtual void setShowOnQuickLaunchToolbar(
bool);
165 virtual bool showOnQuickLaunchToolbar()
const;
170 virtual void setIsLaunched(
bool);
171 virtual bool isLaunched()
const;
174 virtual void setQuickLaunchIcon(
const DtString&);
175 virtual const DtString& quickLaunchIcon()
const;
178 virtual void setOrdinal(
int);
179 virtual int ordinal()
const;
189 virtual void enableExecutionState();
190 virtual void disableExecutionState();
191 virtual bool executionState()
const;
195 virtual void awaitingTask();
198 virtual bool isAwatingTask()
const;
208 virtual void removeTrigger(
const DtUUID&);
211 virtual void renameTrigger(
const DtUUID&,
const DtString& newName);
227 virtual void pushExecutionStack();
231 virtual void suspendExecutionStack();
240 virtual void popExecutionStack(
bool forceStep =
false);
250 virtual bool taskRequestPending()
const;
253 virtual void setTaskRequestPending(
bool newValue =
true);
262 virtual void clearVariables();
273 virtual bool executeTask(
const DtSimTask& taskToSend)
const;
278 virtual bool executeSetDataRequest(
284 virtual bool executeSimCommand(
const DtSimCommand& command)
const;
288 virtual bool evaluateConditional(
const DtSimCondExpr* condExpr)
const;
297 virtual void empty();
300 virtual bool isEmpty()
const;
303 virtual DtList* triggerList();
304 virtual const DtList* triggerList()
const;
307 virtual void addTriggerToExecute(
DtSimTrigger* trigger);
309 virtual void removeTriggerFromPendingExecution(
DtSimTrigger* trigger);
312 virtual DtList* executionStack();
313 virtual const DtList* executionStack()
const;
317 virtual bool validatePlan();
324 virtual void setCurrentStmt(
const DtStmtIndex& nextStatement);
327 virtual void setCurrentStatementExecutionId(
int id);
330 virtual bool isComplete()
const;
333 virtual void setIsComplete(
bool completeFlag =
true);
337 virtual bool isAbandoned()
const;
340 virtual void setIsAbandoned(
bool v);
343 virtual bool isExecuting()
const;
349 virtual void reset();
355 virtual void abandonPlan(
bool sendWaitTask);
360 virtual void restartPlan(
bool sendWaitTask =
true);
366 virtual bool translateIndex(
DtStmtIndex& stmtIndex)
const;
371 virtual void translateIndices(DtList& stmtIndexList)
const;
379 virtual void mergeEditedPlanWith(
const DtPlan& oldPlan);
388 virtual void putSelf(std::string& fp,
int indentLevel = 0,
394 virtual void getSelf(DtlObjPtr args,
400 virtual void addStatementChangedCallback(
404 virtual void removeStatementChangedCallback(
411 virtual void pushExecutingTrigger(
int);
412 virtual void popExecutingTrigger();
413 virtual int executingTriggerStatementId()
const;
416 virtual std::vector<int> executingTriggerStatementIds()
const;
419 virtual DtUUID executingTriggerName()
const;
422 virtual std::vector<DtUUID> executingTriggerNames()
const;
425 virtual std::vector<DtUUID> registeredTriggerNames()
const;
428 virtual bool triggerIsRunning(
const DtUUID&)
const;
431 virtual bool triggerIsRegistered(
const DtUUID&)
const;
434 virtual void removeScheduledTriggers(
const DtUUID&);
437 virtual void mapRegisteredTriggersToTriggerStatements();
445 virtual void setContinuePlan(
bool);
451 virtual std::vector<DtReaderWriter*> substituteVariablesIn(
DtReaderWriter*)
const;
454 virtual std::vector<DtReaderWriter*> substitutedValues(
const DtReaderWriter*)
const;
462 virtual void processAwaitingTask();
466 virtual void createMainBlock();
471 virtual void copyMainBlock(
const DtPlan& otherPlan);
476 virtual void copyAndTranslateExecutionStack(
const DtPlan& otherPlan);
481 virtual void copyAndTranslateTriggers(
const DtPlan& otherPlan);
485 virtual void curStmtChanged();
489 virtual void continuePlan();
497 virtual void stepStatement(
bool forceStep =
false);
502 virtual void executeStatement();
506 virtual void clearTriggerList();
511 virtual void clearExecutionStack();
514 virtual void emtpyExecutionStack();
520 virtual void mapPendingTriggersToPendingTriggerDataList();
526 virtual void mapOldExecutionCursorStackToExecutionStack(
const DtRwIntegerList& executionCursorStack);
529 virtual void mapPendingTriggerDataToPendingTriggers();
534 virtual int statementIdToCursor(
DtStmtIdType statementId);
540 virtual void createTriggersFromWhenBlocks();
541 virtual void createTriggersFromWhenBlocks(
DtSimBlock*);
549 virtual void mapExecutionStackToExecutingTriggers();
624 namespace DtBufferSerialize