13 #include <vlutil/vlString.h>
14 #include <vlutil/vlList.h>
18 #include <vl/hostStructs.h>
70 (
const DtUUID& name,
const std::vector<DtSimStatement*>& statements,
bool append,
96 IsQuickLaunch = 0x00000001,
97 ShowOnQuickLaunchToolbar = 0x00000002,
136 virtual void addVariables();
153 virtual const DtUUID& planName()
const;
154 virtual void setPlanName(
const DtUUID& name);
155 virtual bool planNameSpecified()
const;
161 virtual void setIsQuickLaunch(
bool);
162 virtual bool isQuickLaunch()
const;
165 virtual void setShowOnQuickLaunchToolbar(
bool);
166 virtual bool showOnQuickLaunchToolbar()
const;
171 virtual void setIsLaunched(
bool);
172 virtual bool isLaunched()
const;
175 virtual void setQuickLaunchIcon(
const DtString&);
176 virtual const DtString& quickLaunchIcon()
const;
179 virtual void setOrdinal(
int);
180 virtual int ordinal()
const;
190 virtual void enableExecutionState();
191 virtual void disableExecutionState();
192 virtual bool executionState()
const;
196 virtual void awaitingTask();
199 virtual bool isAwatingTask()
const;
209 virtual void removeTrigger(
const DtUUID&);
212 virtual void renameTrigger(
const DtUUID&,
const DtString& newName);
228 virtual void pushExecutionStack();
232 virtual void suspendExecutionStack();
241 virtual void popExecutionStack(
bool forceStep =
false);
251 virtual bool taskRequestPending()
const;
254 virtual void setTaskRequestPending(
bool newValue =
true);
263 virtual void clearVariables();
274 virtual bool executeTask(
const DtSimTask& taskToSend)
const;
279 virtual bool executeSetDataRequest(
295 virtual bool evaluateConditional(
const DtSimCondExpr* condExpr)
const;
304 virtual void empty();
307 virtual bool isEmpty()
const;
310 virtual DtList* triggerList();
311 virtual const DtList* triggerList()
const;
314 virtual void addTriggerToExecute(
DtSimTrigger* trigger);
316 virtual void removeTriggerFromPendingExecution(
DtSimTrigger* trigger);
319 virtual DtList* executionStack();
320 virtual const DtList* executionStack()
const;
324 virtual bool validatePlan();
331 virtual void setCurrentStmt(
const DtStmtIndex& nextStatement);
334 virtual void setCurrentStatementExecutionId(
int id);
337 virtual bool isComplete()
const;
341 virtual void setIsComplete(
bool completeFlag =
true);
345 virtual void setLastStatementExecuted(
bool);
346 virtual bool lastStatementExecuted()
const;
351 virtual bool isAbandoned()
const;
354 virtual void setIsAbandoned(
bool v);
357 virtual bool isExecuting()
const;
363 virtual void reset();
369 virtual void abandonPlan(
bool sendWaitTask);
374 virtual void restartPlan(
bool sendWaitTask =
true);
380 virtual bool translateIndex(
DtStmtIndex& stmtIndex)
const;
385 virtual void translateIndices(DtList& stmtIndexList)
const;
393 virtual void mergeEditedPlanWith(
const DtPlan& oldPlan);
402 virtual void putSelf(std::string& fp,
int indentLevel = 0,
408 virtual void getSelf(DtlObjPtr args,
414 virtual void addStatementChangedCallback(
418 virtual void removeStatementChangedCallback(
425 virtual void pushExecutingTrigger(
int);
426 virtual void popExecutingTrigger();
427 virtual int executingTriggerStatementId()
const;
430 virtual std::vector<int> executingTriggerStatementIds()
const;
433 virtual DtUUID executingTriggerName()
const;
436 virtual std::vector<DtUUID> executingTriggerNames()
const;
439 virtual std::vector<DtUUID> registeredTriggerNames()
const;
442 virtual bool triggerIsRunning(
const DtUUID&)
const;
445 virtual bool triggerIsRegistered(
const DtUUID&)
const;
448 virtual void removeScheduledTriggers(
const DtUUID&);
451 virtual void mapRegisteredTriggersToTriggerStatements();
459 virtual void setContinuePlan(
bool);
465 virtual std::vector<DtReaderWriter*> substituteVariablesIn(
DtReaderWriter*)
const;
468 virtual std::vector<DtReaderWriter*> substitutedValues(
const DtReaderWriter*)
const;
476 virtual void processAwaitingTask();
480 virtual void createMainBlock();
485 virtual void copyMainBlock(
const DtPlan& otherPlan);
490 virtual void copyAndTranslateExecutionStack(
const DtPlan& otherPlan);
495 virtual void copyAndTranslateTriggers(
const DtPlan& otherPlan);
499 virtual void curStmtChanged();
503 virtual void continuePlan();
511 virtual void stepStatement(
bool forceStep =
false);
516 virtual void executeStatement();
520 virtual void clearTriggerList();
525 virtual void clearExecutionStack();
528 virtual void emtpyExecutionStack();
534 virtual void mapPendingTriggersToPendingTriggerDataList();
540 virtual void mapOldExecutionCursorStackToExecutionStack(
const DtRwIntegerList& executionCursorStack);
543 virtual void mapPendingTriggerDataToPendingTriggers();
548 virtual int statementIdToCursor(
DtStmtIdType statementId);
554 virtual void createTriggersFromWhenBlocks();
555 virtual void createTriggersFromWhenBlocks(
DtSimBlock*);
563 virtual void mapExecutionStackToExecutingTriggers();
642 namespace DtBufferSerialize