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;
340 virtual void setIsComplete(
bool completeFlag =
true);
344 virtual bool isAbandoned()
const;
347 virtual void setIsAbandoned(
bool v);
350 virtual bool isExecuting()
const;
356 virtual void reset();
362 virtual void abandonPlan(
bool sendWaitTask);
367 virtual void restartPlan(
bool sendWaitTask =
true);
373 virtual bool translateIndex(
DtStmtIndex& stmtIndex)
const;
378 virtual void translateIndices(DtList& stmtIndexList)
const;
386 virtual void mergeEditedPlanWith(
const DtPlan& oldPlan);
395 virtual void putSelf(std::string& fp,
int indentLevel = 0,
401 virtual void getSelf(DtlObjPtr args,
407 virtual void addStatementChangedCallback(
411 virtual void removeStatementChangedCallback(
418 virtual void pushExecutingTrigger(
int);
419 virtual void popExecutingTrigger();
420 virtual int executingTriggerStatementId()
const;
423 virtual std::vector<int> executingTriggerStatementIds()
const;
426 virtual DtUUID executingTriggerName()
const;
429 virtual std::vector<DtUUID> executingTriggerNames()
const;
432 virtual std::vector<DtUUID> registeredTriggerNames()
const;
435 virtual bool triggerIsRunning(
const DtUUID&)
const;
438 virtual bool triggerIsRegistered(
const DtUUID&)
const;
441 virtual void removeScheduledTriggers(
const DtUUID&);
444 virtual void mapRegisteredTriggersToTriggerStatements();
452 virtual void setContinuePlan(
bool);
458 virtual std::vector<DtReaderWriter*> substituteVariablesIn(
DtReaderWriter*)
const;
461 virtual std::vector<DtReaderWriter*> substitutedValues(
const DtReaderWriter*)
const;
469 virtual void processAwaitingTask();
473 virtual void createMainBlock();
478 virtual void copyMainBlock(
const DtPlan& otherPlan);
483 virtual void copyAndTranslateExecutionStack(
const DtPlan& otherPlan);
488 virtual void copyAndTranslateTriggers(
const DtPlan& otherPlan);
492 virtual void curStmtChanged();
496 virtual void continuePlan();
504 virtual void stepStatement(
bool forceStep =
false);
509 virtual void executeStatement();
513 virtual void clearTriggerList();
518 virtual void clearExecutionStack();
521 virtual void emtpyExecutionStack();
527 virtual void mapPendingTriggersToPendingTriggerDataList();
533 virtual void mapOldExecutionCursorStackToExecutionStack(
const DtRwIntegerList& executionCursorStack);
536 virtual void mapPendingTriggerDataToPendingTriggers();
541 virtual int statementIdToCursor(
DtStmtIdType statementId);
547 virtual void createTriggersFromWhenBlocks();
548 virtual void createTriggersFromWhenBlocks(
DtSimBlock*);
556 virtual void mapExecutionStackToExecutingTriggers();
631 namespace DtBufferSerialize