VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
DtPlan Class Reference

class DtPlan: More...

Inheritance diagram for DtPlan:
Inheritance graph
[legend]

Public Types

enum  QuickLaunchFlags { None = 0, IsQuickLaunch = 0x00000001, ShowOnQuickLaunchToolbar = 0x00000002, Launched = 0x00000004 }
 
- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 

Public Member Functions

 DtPlan ()
 constructor for use from within a front-end application, or when creating a plan to be assigned through DtCgf's assignPlan() function. More...
 
 DtPlan (const DtUUID &planName, DtPlanExecutor *planExecutor, const DtString &name="Plan", DtReaderWriterRegistry *parentRegistry=NULL)
 constructor for use from within a back-end application More...
 
 DtPlan (const DtString &name, const DtUUID &planName, const DtPlan &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor More...
 
virtual ~DtPlan ()
 destructor More...
 
virtual void init ()
 The init function must be called after any non-copy constructor! More...
 
virtual void addVariables ()
 Adds default variables to plan. More...
 
virtual DtPlanclone (const DtString &name, const DtUUID &planName, DtReaderWriterRegistry *parentRegistry=NULL) const
 Returns a newly created copy of ourself. More...
 
DtPlanoperator= (const DtPlan &orig)
 Note: this will NOT copy the DtSimPlanManager pointer, and will only copy the planName if *this is not currently registered with a DtSimPlanManager (because either the DtSimPlanManager pointer is NULL or the current planName is empty). More...
 
virtual bool operator== (const DtPlan &orig) const
 Equality operator. More...
 
virtual const DtUUIDplanName () const
 
virtual void setPlanName (const DtUUID &name)
 
virtual bool planNameSpecified () const
 
virtual void setIsQuickLaunch (bool)
 If true will not enable execution state unless isLaunched is also true. More...
 
virtual bool isQuickLaunch () const
 
virtual void setShowOnQuickLaunchToolbar (bool)
 Gui element only – whether or not to show on quick launch toolbar. More...
 
virtual bool showOnQuickLaunchToolbar () const
 
virtual void setIsLaunched (bool)
 Only used if quick launch. More...
 
virtual bool isLaunched () const
 
virtual void setQuickLaunchIcon (const DtString &)
 Icon to use for display in gui. More...
 
virtual const DtStringquickLaunchIcon () const
 
virtual void setOrdinal (int)
 Order to display items on the quick launch toolbar. More...
 
virtual int ordinal () const
 
virtual void setPlanExecutor (DtPlanExecutor *planExecutor)
 Get a pointer to the sim manager. More...
 
virtual DtPlanExecutorplanExecutor () const
 
virtual void enableExecutionState ()
 Enable/disable plan execution state. More...
 
virtual void disableExecutionState ()
 
virtual bool executionState () const
 
virtual void awaitingTask ()
 Sets our awaiting task flag (it will be handled in processAwaitingTask(), called from tick if/when plan execution state is enabled. More...
 
virtual bool isAwatingTask () const
 
virtual void addTrigger (const DtTriggerStmt &)
 Adds a new condition into the condition list. Will clone. More...
 
virtual DtTriggerStmttriggerStatement (const DtUUID &) const
 Returns the trigger with the given name. More...
 
virtual void removeTrigger (const DtUUID &)
 Removes the triger with the given name. More...
 
virtual void renameTrigger (const DtUUID &, const DtString &newName)
 Renames the trigger to the new name. More...
 
virtual void updateTrigger (const DtTriggerStmt *)
 Sets the trigger to have the contents of the supplied trigger. If trigger does not exist by UUID will not add. More...
 
virtual void setTriggers (const DtRwTriggersList &)
 Sets the triggers to tbe the list of triggers. More...
 
const DtRwTriggersListtriggers () const
 Returns plans triggers. More...
 
virtual void pushExecutionStack ()
 When a retasking trigger fires, it first calls pushExecutionStack on the DtPlan. More...
 
virtual void suspendExecutionStack ()
 Called by a trigger that wishes to suspend the current task such that when the trigger is complete the task that is suspended will resume. More...
 
virtual void popExecutionStack (bool forceStep=false)
 When a retasking trigger completes, it calls popExecutionStack on the DtPlan. More...
 
virtual void executeTrigger (DtTriggerBlock *whenBlock)
 When a DtSimTrigger gets executed, it calls the executeTrigger function which begins execution of the whenBlock. More...
 
virtual void executeBlock (DtSimBlock *block)
 Begin execution of a block of tasks. More...
 
virtual bool taskRequestPending () const
 Get the TaskRequestPending flag. More...
 
virtual void setTaskRequestPending (bool newValue=true)
 Set or clear the TaskRequestPending flag. More...
 
const DtRwVariableBindingsvariables () const
 Returns plan variables. More...
 
virtual DtReaderWritervariable (const DtString &)
 
virtual void clearVariables ()
 Clears all plan variables. More...
 
virtual void addVariable (DtRwPlanVariable *)
 Adss variable and takes ownership of memory. More...
 
virtual void setVariables (const DtRwVariableBindings &)
 Copies variables list. More...
 
virtual bool executeTask (const DtSimTask &taskToSend) const
 Uses the plan executor to execute the specified task in the context of this plan. More...
 
virtual bool executeSetDataRequest (const DtSetDataRequest &setToSend) const
 Uses the plan executor to execute the specified set data request in the context of this plan. More...
 
virtual bool executeSimCommand (const DtSimCommand &command, DtSimCommandContextPtr &context) const
 Uses the plan executor to execute the specified simulation command in the context of this plan. More...
 
virtual bool isSimCommandComplete (const DtSimCommand &command, const DtSimCommandContextPtr &context) const
 Create an executor and call it with the command context pointer to see if the command is complete. More...
 
virtual bool evaluateConditional (const DtSimCondExpr *condExpr) const
 Uses myPlanExecutor to evaluate the conditional expression. More...
 
virtual DtStmtIndex firstStmt () const
 Get the index of the first statement in the plan. More...
 
virtual DtPlanBlockmainBlock () const
 Get a pointer to the Plan's main Block. More...
 
virtual void empty ()
 Empties the plan of all statements and creates a new main block. More...
 
virtual bool isEmpty () const
 True if the Plan is considered "Empty" (containing no statements). More...
 
virtual DtList * triggerList ()
 Get a pointer to the list of pending triggers. More...
 
virtual const DtList * triggerList () const
 
virtual void addTriggerToExecute (DtSimTrigger *trigger)
 Add a trigger to the pending trigger list. More...
 
virtual void removeTriggerFromPendingExecution (DtSimTrigger *trigger)
 Remove a trigger from the pending trigger list. More...
 
virtual DtList * executionStack ()
 Get a pointer to the execution stack. More...
 
virtual const DtList * executionStack () const
 
virtual bool validatePlan ()
 Checks, and potentially fixes, the plan. More...
 
virtual const DtStmtIndexcurrentStmt () const
 Get the index of the Plan's "current" statement. More...
 
virtual void setCurrentStmt (const DtStmtIndex &nextStatement)
 Set the Plan's "current" statement. More...
 
virtual void setCurrentStatementExecutionId (int id)
 Sets the current task execution ID to the value specified. More...
 
virtual bool isComplete () const
 True if the Plan is considered "Complete" and no longer active. More...
 
virtual void setIsComplete (bool completeFlag=true)
 Set the Plan's completion flag, if true, further execution of the Plan is disabled. More...
 
virtual void setLastStatementExecuted (bool)
 {@ Accessor/mutator for whether or not the last statement in the plan has been executed (main block is complete) More...
 
virtual bool lastStatementExecuted () const
 
virtual bool isAbandoned () const
 
virtual void setIsAbandoned (bool v)
 Sets whether or not the plan is abandoned. More...
 
virtual bool isExecuting () const
 
virtual DtPlanStatus currentStatus () const
 
virtual void reset ()
 Clear all registered triggers and reset the Plan to its initial state. More...
 
virtual void abandonPlan (bool sendWaitTask)
 Reset the plan, but then set isComplete and set the current statement to the last one in the Main Block. More...
 
virtual void restartPlan (bool sendWaitTask=true)
 Reset sthe plan. More...
 
virtual bool translateIndex (DtStmtIndex &stmtIndex) const
 If you have a DtStmtIndex object that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndex function to convert it to point into this DtPlan. More...
 
virtual void translateIndices (DtList &stmtIndexList) const
 If you have a list of DtStmtIndex objects that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndicies function to convert them to point into this DtPlan. More...
 
virtual void tick ()
 The Plan tick function. Presently this ticks all the Plan's triggers. More...
 
virtual void mergeEditedPlanWith (const DtPlan &oldPlan)
 This plan is an edited version of an old one, copy and/or translate over any information that we want to preserve when we replace the old plan with this one (e.g. More...
 
virtual
DtRecursiveSimBlockIterator
spawnRecursiveIterator () const
 Spawns an iterator that iterates over the statements in the plan. More...
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtReaderWriter::appPath())
 This is the top-level reader-writer member function for saving self to file. More...
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &variableBindings=DtReaderWriter::nullVariableReference())
 This is the top-level reader-writer member function for reading in self from file. More...
 
virtual void addStatementChangedCallback (DtCurrentStatementChangedCallbackFcn fcn, void *usrData)
 Adds a callback which is called whenever the current statement changes or whenever the status of the plan changes. More...
 
virtual void removeStatementChangedCallback (DtCurrentStatementChangedCallbackFcn fcn, void *usrData)
 Removes a statement changed callback. More...
 
virtual void reissueStatementIds (DtSimStatement *stmt)
 Gives new statement ids to all statements in this statement (including sub blocks) More...
 
virtual void pushExecutingTrigger (int)
 If in a trigger, the current statement id of the trigger being executed. More...
 
virtual void popExecutingTrigger ()
 
virtual int executingTriggerStatementId () const
 
virtual std::vector< intexecutingTriggerStatementIds () const
 Ids in order of execution. More...
 
virtual DtUUID executingTriggerName () const
 If in a trigger, the name of the trigger. More...
 
virtual std::vector< DtUUIDexecutingTriggerNames () const
 Names in order of execution. More...
 
virtual std::vector< DtUUIDregisteredTriggerNames () const
 Triggers registered. More...
 
virtual bool triggerIsRunning (const DtUUID &) const
 Returns true if the named trigger is currently running. More...
 
virtual bool triggerIsRegistered (const DtUUID &) const
 Returns true if the current named trigger is registered. More...
 
virtual void removeScheduledTriggers (const DtUUID &)
 Removes all occuranes of named trigger from the pending triggers list. More...
 
virtual void mapRegisteredTriggersToTriggerStatements ()
 Goes through and maps trigger statements to the register trigger statemnt it represents. More...
 
virtual DtSimStatementlookupStatementByCursor (int cursor)
 Look up statement at the given cursor location (an integer identifying the overall position of a statement in a plan. More...
 
virtual DtSimStatementlookupStatementByStatementId (int) const
 
virtual void setContinuePlan (bool)
 Sets whether or not to continue plan execution. More...
 
virtual std::vector
< DtReaderWriter * > 
substituteVariablesIn (DtReaderWriter *) const
 Iterates over all items in the reader writer registry of the supplied item, and, if any of the variables are UUIDs and they happen to match the UUID of the simulation object or created object variable, those values in the reader/writer supplied will be set to those of the variable. More...
 
virtual std::vector
< DtReaderWriter * > 
substitutedValues (const DtReaderWriter *) const
 Returns a vector list of reader/writer values (cloned from the source) that were substituted. The results of this call must be freed by the user. More...
 
virtual bool subsituteUUIDIfAvailable (const DtReaderWriter *, DtUUID &uuid) const
 If, in the supplied reader/writer there is a matching UUID to substitute, place the resultant value in the givem UUID and return true. More...
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor More...
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream. More...
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 pseudo-copy constructor More...
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor More...
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator More...
 
bool operator== (const DtReaderWriter &) const
 Equivalence operator. More...
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 destructor More...
 
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op. More...
 
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op. More...
 
virtual void postGetSelf ()
 Called after either version of getSelf (mtl or environment). Default is no-op. More...
 
virtual void preGetSelf ()
 Called before either version of get self (file or environment). Default is no-op. More...
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry. More...
 
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object. More...
 
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object. More...
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 Set read-only flag. More...
 
bool isReadonly () const
 
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment. More...
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false. More...
 
virtual void setName (const DtString &)
 Set the name of the object. More...
 
virtual const charreaderWriterType () const
 Used to supply a string type that this reader writer type is. More...
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable. More...
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children. More...
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain. More...
 
virtual bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference. More...
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings. More...
 
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated. More...
 
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time. More...
 
virtual bool changedSinceLastChecked ()
 Returns true if this objects value has changed since the last time this function was called. More...
 
virtual bool peekChangedSinceLastChecked () const
 Returns the value that changedSinceLastChecked would return but does not reset the internal flag. More...
 
virtual void putData (std::string &fp, int indentLevel=0)
 Deriving class overrides these to get/put class specific data. More...
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values. More...
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere. More...
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively. More...
 
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference. More...
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified. More...
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. More...
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Give the stream, if the stream contains a default value then set it here. More...
 
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object. More...
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 Iterates over the registry (recursively) and returns a variable bindings object that contains all the variables that are contained in this read/writer class. More...
 
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename. More...
 
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid. More...
 
virtual bool fromXmlFile (const DtFilename &)
 Restores object from given xml file. More...
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data. More...
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference. More...
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 Gets data from the environment value. More...
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op. More...
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference. More...
 

Protected Member Functions

virtual void processAwaitingTask ()
 Awaiting task then (re)starts execution of plan. More...
 
virtual void createMainBlock ()
 Create the Main Block. More...
 
virtual void copyMainBlock (const DtPlan &otherPlan)
 Copy the main block (and all nested blocks) and the Execution Stack from another Plan, and translate any/all DtStmtIndex objects to point into the new main block structure. More...
 
virtual void copyAndTranslateExecutionStack (const DtPlan &otherPlan)
 Copy the other Plan's execution stack and translate all DtStmtIndex objects in the execution stack to point into the new main block. More...
 
virtual void copyAndTranslateTriggers (const DtPlan &otherPlan)
 Copy the other Plan's pending triggers and translate all DtStmtIndex objects in the triggers to point into the new main block. More...
 
virtual void curStmtChanged ()
 Whenever a change is made that changes the effective current statement, this function is called so that the front end can be told of the change. More...
 
virtual void continuePlan ()
 ContinuePlan will continue the Plan execution until either the task request pending flag is cleared, or the plan complete flag is set. More...
 
virtual void stepStatement (bool forceStep=false)
 StepStatement will step to the next statement in the Plan. More...
 
virtual void executeStatement ()
 ExecuteStatement will execute the current statement in the Plan. More...
 
virtual void clearTriggerList ()
 ClearTriggerList deletes the registered triggers and clears the pending trigger list. More...
 
virtual void clearExecutionStack ()
 ClearExecutionStack clears the execution stack and resets the Plan. More...
 
virtual void emtpyExecutionStack ()
 Removes and deletes all DtStmtIndex* entries from the execution stack. More...
 
virtual int statementIdToCursor (DtStmtIdType statementId)
 Maps statementId to cursor and vice-versa. More...
 
virtual DtStmtIdType cursorToStatementId (int cursor)
 
virtual DtSimStatementlookupStatementByStatementId (DtSimBlock *, int, std::set< DtUUID > &triggersVisited) const
 
virtual void createTriggersFromWhenBlocks ()
 Creates and maps new triggers to when blocks. More...
 
virtual void createTriggersFromWhenBlocks (DtSimBlock *)
 
virtual void createTriggersFromWhenBlocks (DtSimBlock *, DtSimStatement *)
 
virtual void removeTriggerRegistrationFrom (DtSimBlock *, const DtUUID &)
 Removes any register/unregister trigger statement with the given trigger name. More...
 
virtual void removeTriggerRegistrationFrom (DtSimBlock *, DtSimStatement *, const DtUUID &)
 
virtual void mapExecutionStackToExecutingTriggers ()
 Maps the triggers in the execution stack to exectuing triggers. More...
 
virtual void mapExecutionStackToRwExecutionStack (DtRwPlanExecutionStack &rwExecutionStack)
 Called by putSelf(). More...
 
virtual void mapPendingTriggersToPendingTriggerDataList ()
 
virtual void mapOldExecutionCursorStackToExecutionStack (const DtRwIntegerList &executionCursorStack)
 Called by getSelf(). More...
 
virtual void mapRwExecutionStackToExecutionStack (const DtRwPlanExecutionStack &rwExecutionStack)
 Fills myExecutionStack with the data from rwExecutionStack. More...
 
virtual void mapPendingTriggerDataToPendingTriggers ()
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter. More...
 

Protected Attributes

DtRwBoolean myTaskRequestPending
 The TaskRequestPending flag is set to true when an Entity requests a new task, and is cleared when a new task is sent by the Plan engine. More...
 
DtPlanBlockmyMainBlock
 The main Block is the top-level Block of the plan and is the only Block that is considered to be "owned" by this DtPlan object. More...
 
DtList myExecutionStack
 The top of the execution stack is the Plan's current statement (fetched with currentStmt()). More...
 
DtRwBoolean myIsComplete
 myIsComplete Disables awaitingTask() and causes it to emit continuous Wait tasks. More...
 
DtRwBoolean myLastStatementExecuted
 myLastStatementExecuted makes sure that nothing will get executed in the plan after triggers have been triggered More...
 
DtRwBoolean myAbandoned
 True if this plan has been abandoned. More...
 
DtList myPendingTriggers
 A list of all registered DtSimTriggers. More...
 
DtCallbackList< const DtPlan & > myStatementChangedCbs
 A list of all the DtCurrentStatementChangedCallbackFcn callbacks. More...
 
DtRwTriggerDataList myPendingTriggerDataList
 Reader-writer members used to hold checkpoint information about the plan. More...
 
DtRwTriggersList myTriggers
 List of all possible triggers in the plan. More...
 
bool myExecutionIsEnabled
 Flag indication whether execution is enabled (can we start or advance through plan statements?). More...
 
bool myWantsExecutionStateEnabled
 
bool myAwaitingTaskFlag
 Flag indicating we've received an awaiting task request. More...
 
DtRwUUID myPlanName
 
bool myContinuePlan
 
DtPlanExecutormyPlanExecutor
 
DtPlanStatus myLastSentStatus
 The status that was last sent out though the curretStatement callbacks. More...
 
DtRwInt myQuickLaunchFlags
 Additional data used to indicate if this is a quick launch plan and the icon associated with it. More...
 
DtRwString myQuickLaunchIcon
 
DtRwInt myOrdinal
 
DtRwIntegerList myExecutingTriggers
 
DtRwVariableBindings myPlanVariables
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object. More...
 
bool myInvalid
 Set to true if there is a problem reading this item. More...
 
bool myChangedFlag
 Set to true when value changes Set to false when value checked with changedSinceLastChecked. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 The type that is used when archiving to an XML stream. More...
 
static const DtFilename & appPath ()
 Gets the current working directory. More...
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory. More...
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 Given a filename, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 Given a xml string, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 Given a xml environment, returns a newly created reader/writer object from the object found within. More...
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 Gets the named attribute from a DtEnvValueSP. More...
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Detailed Description

class DtPlan:

Instances of DtPlan represent the Plan associated with a single name.

Examples

Member Enumeration Documentation

Enumerator
None 
IsQuickLaunch 
ShowOnQuickLaunchToolbar 
Launched 

Constructor & Destructor Documentation

DtPlan::DtPlan ( )

constructor for use from within a front-end application, or when creating a plan to be assigned through DtCgf's assignPlan() function.

Note: the init function must be called after using this constructor.

DtPlan::DtPlan ( const DtUUID planName,
DtPlanExecutor planExecutor,
const DtString name = "Plan",
DtReaderWriterRegistry parentRegistry = NULL 
)

constructor for use from within a back-end application

Note: the init function must be called after using this constructor.

DtPlan::DtPlan ( const DtString name,
const DtUUID planName,
const DtPlan orig,
DtReaderWriterRegistry parentRegistry = NULL 
)

copy constructor

This is a copy constructor that can register as a Readable-Writable member.

virtual DtPlan::~DtPlan ( )
virtual

destructor

Member Function Documentation

virtual void DtPlan::init ( )
virtual

The init function must be called after any non-copy constructor!

virtual void DtPlan::addVariables ( )
virtual

Adds default variables to plan.

virtual DtPlan* DtPlan::clone ( const DtString name,
const DtUUID planName,
DtReaderWriterRegistry parentRegistry = NULL 
) const
virtual

Returns a newly created copy of ourself.

name is the DtReaderWriter name of the plan.

DtPlan& DtPlan::operator= ( const DtPlan orig)

Note: this will NOT copy the DtSimPlanManager pointer, and will only copy the planName if *this is not currently registered with a DtSimPlanManager (because either the DtSimPlanManager pointer is NULL or the current planName is empty).

virtual bool DtPlan::operator== ( const DtPlan orig) const
virtual

Equality operator.

virtual const DtUUID& DtPlan::planName ( ) const
virtual
virtual void DtPlan::setPlanName ( const DtUUID name)
virtual
virtual bool DtPlan::planNameSpecified ( ) const
virtual
virtual void DtPlan::setIsQuickLaunch ( bool  )
virtual

If true will not enable execution state unless isLaunched is also true.

If set to true, and was false, will reset plan and disable execution state. Will also set isLaunched to false on switch. If true and set to false will reset state and enable execution state (if state should be enabled)

virtual bool DtPlan::isQuickLaunch ( ) const
virtual
virtual void DtPlan::setShowOnQuickLaunchToolbar ( bool  )
virtual

Gui element only – whether or not to show on quick launch toolbar.

virtual bool DtPlan::showOnQuickLaunchToolbar ( ) const
virtual
virtual void DtPlan::setIsLaunched ( bool  )
virtual

Only used if quick launch.

If set to true, and state should be enabled, will enable state. If set to false will disable state

virtual bool DtPlan::isLaunched ( ) const
virtual
virtual void DtPlan::setQuickLaunchIcon ( const DtString )
virtual

Icon to use for display in gui.

virtual const DtString& DtPlan::quickLaunchIcon ( ) const
virtual
virtual void DtPlan::setOrdinal ( int  )
virtual

Order to display items on the quick launch toolbar.

virtual int DtPlan::ordinal ( ) const
virtual
virtual void DtPlan::setPlanExecutor ( DtPlanExecutor planExecutor)
virtual

Get a pointer to the sim manager.

virtual DtPlanExecutor* DtPlan::planExecutor ( ) const
virtual
virtual void DtPlan::enableExecutionState ( )
virtual

Enable/disable plan execution state.

Plan will not start or advance through statements unless execution state is enabled.

virtual void DtPlan::disableExecutionState ( )
virtual
virtual bool DtPlan::executionState ( ) const
virtual
virtual void DtPlan::awaitingTask ( )
virtual

Sets our awaiting task flag (it will be handled in processAwaitingTask(), called from tick if/when plan execution state is enabled.

virtual bool DtPlan::isAwatingTask ( ) const
virtual
Returns
the current value of myAwaitingTaskFlag.
virtual void DtPlan::addTrigger ( const DtTriggerStmt )
virtual

Adds a new condition into the condition list. Will clone.

virtual DtTriggerStmt* DtPlan::triggerStatement ( const DtUUID ) const
virtual

Returns the trigger with the given name.

virtual void DtPlan::removeTrigger ( const DtUUID )
virtual

Removes the triger with the given name.

Will also go through all triggers that are not of that name and remove any unregister/register statements of a trigger with that name

virtual void DtPlan::renameTrigger ( const DtUUID ,
const DtString newName 
)
virtual

Renames the trigger to the new name.

virtual void DtPlan::updateTrigger ( const DtTriggerStmt )
virtual

Sets the trigger to have the contents of the supplied trigger. If trigger does not exist by UUID will not add.

virtual void DtPlan::setTriggers ( const DtRwTriggersList )
virtual

Sets the triggers to tbe the list of triggers.

const DtRwTriggersList& DtPlan::triggers ( ) const
inline

Returns plans triggers.

virtual void DtPlan::pushExecutionStack ( )
virtual

When a retasking trigger fires, it first calls pushExecutionStack on the DtPlan.

This has the effect of duplicating the currentStmt index at the top of the stack. It does not, of itself, cause any new statements to get executed or sent to the entity. It is assumed that this call will be followed by a call to executeTrigger(), or at least setCurrentStmt().

virtual void DtPlan::suspendExecutionStack ( )
virtual

Called by a trigger that wishes to suspend the current task such that when the trigger is complete the task that is suspended will resume.

virtual void DtPlan::popExecutionStack ( bool  forceStep = false)
virtual

When a retasking trigger completes, it calls popExecutionStack on the DtPlan.

This has the effect of popping the execution stack back to the statement that was interrupted by the trigger. If the forceStep parameter is true, this will step to the statement following the one on the stack. If false, then the plan will check to see if the new top statement is still executing. If so, it will continue with that statement, otherwise it will step to the next statement.

virtual void DtPlan::executeTrigger ( DtTriggerBlock whenBlock)
virtual

When a DtSimTrigger gets executed, it calls the executeTrigger function which begins execution of the whenBlock.

virtual void DtPlan::executeBlock ( DtSimBlock block)
virtual

Begin execution of a block of tasks.

virtual bool DtPlan::taskRequestPending ( ) const
virtual

Get the TaskRequestPending flag.

virtual void DtPlan::setTaskRequestPending ( bool  newValue = true)
virtual

Set or clear the TaskRequestPending flag.

const DtRwVariableBindings& DtPlan::variables ( ) const
inline

Returns plan variables.

virtual DtReaderWriter* DtPlan::variable ( const DtString )
virtual
virtual void DtPlan::clearVariables ( )
virtual

Clears all plan variables.

If referenced by items in the plan, those items will now have dangling references

virtual void DtPlan::addVariable ( DtRwPlanVariable )
virtual

Adss variable and takes ownership of memory.

virtual void DtPlan::setVariables ( const DtRwVariableBindings )
virtual

Copies variables list.

virtual bool DtPlan::executeTask ( const DtSimTask taskToSend) const
virtual

Uses the plan executor to execute the specified task in the context of this plan.

Returns
True if successful.
virtual bool DtPlan::executeSetDataRequest ( const DtSetDataRequest setToSend) const
virtual

Uses the plan executor to execute the specified set data request in the context of this plan.

Returns
True if successful.
virtual bool DtPlan::executeSimCommand ( const DtSimCommand command,
DtSimCommandContextPtr context 
) const
virtual

Uses the plan executor to execute the specified simulation command in the context of this plan.

if the context comes back as non null then the command is not complete. Call isSimCommandComplete with that comtext to see if the command is complete

Returns
True if successful.
virtual bool DtPlan::isSimCommandComplete ( const DtSimCommand command,
const DtSimCommandContextPtr context 
) const
virtual

Create an executor and call it with the command context pointer to see if the command is complete.

Will return true if it is

virtual bool DtPlan::evaluateConditional ( const DtSimCondExpr condExpr) const
virtual

Uses myPlanExecutor to evaluate the conditional expression.

False is returned if there is not plan executor.

virtual DtStmtIndex DtPlan::firstStmt ( ) const
virtual

Get the index of the first statement in the plan.

virtual DtPlanBlock* DtPlan::mainBlock ( ) const
virtual

Get a pointer to the Plan's main Block.

virtual void DtPlan::empty ( )
virtual

Empties the plan of all statements and creates a new main block.

virtual bool DtPlan::isEmpty ( ) const
virtual

True if the Plan is considered "Empty" (containing no statements).

virtual DtList* DtPlan::triggerList ( )
virtual

Get a pointer to the list of pending triggers.

virtual const DtList* DtPlan::triggerList ( ) const
virtual
virtual void DtPlan::addTriggerToExecute ( DtSimTrigger trigger)
virtual

Add a trigger to the pending trigger list.

virtual void DtPlan::removeTriggerFromPendingExecution ( DtSimTrigger trigger)
virtual

Remove a trigger from the pending trigger list.

virtual DtList* DtPlan::executionStack ( )
virtual

Get a pointer to the execution stack.

virtual const DtList* DtPlan::executionStack ( ) const
virtual
virtual bool DtPlan::validatePlan ( )
virtual

Checks, and potentially fixes, the plan.

Returns
True if the plan is valid.
virtual const DtStmtIndex& DtPlan::currentStmt ( ) const
virtual

Get the index of the Plan's "current" statement.

This is either zero (if the Plan has not yet begun to execute), or indicates the last statement executed.

virtual void DtPlan::setCurrentStmt ( const DtStmtIndex nextStatement)
virtual

Set the Plan's "current" statement.

virtual void DtPlan::setCurrentStatementExecutionId ( int  id)
virtual

Sets the current task execution ID to the value specified.

virtual bool DtPlan::isComplete ( ) const
virtual

True if the Plan is considered "Complete" and no longer active.

virtual void DtPlan::setIsComplete ( bool  completeFlag = true)
virtual

Set the Plan's completion flag, if true, further execution of the Plan is disabled.

virtual void DtPlan::setLastStatementExecuted ( bool  )
virtual

{@ Accessor/mutator for whether or not the last statement in the plan has been executed (main block is complete)

virtual bool DtPlan::lastStatementExecuted ( ) const
virtual
virtual bool DtPlan::isAbandoned ( ) const
virtual
Returns
True if the plan has been abandoned.
Note
The plan will also return true of isComplete() if it has been abandoned.
virtual void DtPlan::setIsAbandoned ( bool  v)
virtual

Sets whether or not the plan is abandoned.

This should not normally be called from outside this class.

virtual bool DtPlan::isExecuting ( ) const
virtual
Returns
True if the plan is running.
virtual DtPlanStatus DtPlan::currentStatus ( ) const
virtual
Returns
A filled out DtPlanStatus entry with the current state of the plan.
virtual void DtPlan::reset ( )
virtual

Clear all registered triggers and reset the Plan to its initial state.

Reimplemented from DtReaderWriter.

virtual void DtPlan::abandonPlan ( bool  sendWaitTask)
virtual

Reset the plan, but then set isComplete and set the current statement to the last one in the Main Block.

Parameters
sendWaitTaskindicates whether or not a wait task will be sent to the entity when its plan is abandoned. This will stop its current task, if true.
virtual void DtPlan::restartPlan ( bool  sendWaitTask = true)
virtual

Reset sthe plan.

Parameters
sendWaitTaskindicates whether or not a wait task will be sent to the entity when its plan is abandoned. This will stop its current task, if true.
virtual bool DtPlan::translateIndex ( DtStmtIndex stmtIndex) const
virtual

If you have a DtStmtIndex object that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndex function to convert it to point into this DtPlan.

Returns true if a match was found, false otherwise.

virtual void DtPlan::translateIndices ( DtList &  stmtIndexList) const
virtual

If you have a list of DtStmtIndex objects that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndicies function to convert them to point into this DtPlan.

virtual void DtPlan::tick ( )
virtual

The Plan tick function. Presently this ticks all the Plan's triggers.

virtual void DtPlan::mergeEditedPlanWith ( const DtPlan oldPlan)
virtual

This plan is an edited version of an old one, copy and/or translate over any information that we want to preserve when we replace the old plan with this one (e.g.

current statement subscriber).

virtual DtRecursiveSimBlockIterator* DtPlan::spawnRecursiveIterator ( ) const
virtual

Spawns an iterator that iterates over the statements in the plan.

The caller MUST DELETE the iterator when doen using it!

virtual void DtPlan::putSelf ( std::string &  fp,
int  indentLevel = 0,
bool  writeUnspecified = false,
const DtFilename &  path = DtReaderWriter::appPath() 
)
virtual

This is the top-level reader-writer member function for saving self to file.

Override to get a chance to set reader-writer member variables before saving.

Reimplemented from DtReaderWriter.

virtual void DtPlan::getSelf ( DtlObjPtr  args,
const DtReaderWriter::SearchPaths searchPaths = DtReaderWriter::SearchPaths(),
const DtVariableBindingsList variableBindings = DtReaderWriter::nullVariableReference() 
)
virtual

This is the top-level reader-writer member function for reading in self from file.

Override to get a chance to initialize plan from reader-writer members.

Reimplemented from DtReaderWriter.

virtual void DtPlan::addStatementChangedCallback ( DtCurrentStatementChangedCallbackFcn  fcn,
void *  usrData 
)
virtual

Adds a callback which is called whenever the current statement changes or whenever the status of the plan changes.

(abandoned, complete, executing)

virtual void DtPlan::removeStatementChangedCallback ( DtCurrentStatementChangedCallbackFcn  fcn,
void *  usrData 
)
virtual

Removes a statement changed callback.

virtual void DtPlan::reissueStatementIds ( DtSimStatement stmt)
virtual

Gives new statement ids to all statements in this statement (including sub blocks)

virtual void DtPlan::pushExecutingTrigger ( int  )
virtual

If in a trigger, the current statement id of the trigger being executed.

virtual void DtPlan::popExecutingTrigger ( )
virtual
virtual int DtPlan::executingTriggerStatementId ( ) const
virtual
virtual std::vector<int> DtPlan::executingTriggerStatementIds ( ) const
virtual

Ids in order of execution.

virtual DtUUID DtPlan::executingTriggerName ( ) const
virtual

If in a trigger, the name of the trigger.

virtual std::vector<DtUUID> DtPlan::executingTriggerNames ( ) const
virtual

Names in order of execution.

virtual std::vector<DtUUID> DtPlan::registeredTriggerNames ( ) const
virtual

Triggers registered.

virtual bool DtPlan::triggerIsRunning ( const DtUUID ) const
virtual

Returns true if the named trigger is currently running.

virtual bool DtPlan::triggerIsRegistered ( const DtUUID ) const
virtual

Returns true if the current named trigger is registered.

virtual void DtPlan::removeScheduledTriggers ( const DtUUID )
virtual

Removes all occuranes of named trigger from the pending triggers list.

virtual void DtPlan::mapRegisteredTriggersToTriggerStatements ( )
virtual

Goes through and maps trigger statements to the register trigger statemnt it represents.

virtual DtSimStatement* DtPlan::lookupStatementByCursor ( int  cursor)
virtual

Look up statement at the given cursor location (an integer identifying the overall position of a statement in a plan.

virtual DtSimStatement* DtPlan::lookupStatementByStatementId ( int  ) const
virtual
virtual void DtPlan::setContinuePlan ( bool  )
virtual

Sets whether or not to continue plan execution.

virtual std::vector<DtReaderWriter*> DtPlan::substituteVariablesIn ( DtReaderWriter ) const
virtual

Iterates over all items in the reader writer registry of the supplied item, and, if any of the variables are UUIDs and they happen to match the UUID of the simulation object or created object variable, those values in the reader/writer supplied will be set to those of the variable.

This call will return the values that were substituted. Do not delete the returned memory as this is the reader/writer value as it exists

virtual std::vector<DtReaderWriter*> DtPlan::substitutedValues ( const DtReaderWriter ) const
virtual

Returns a vector list of reader/writer values (cloned from the source) that were substituted. The results of this call must be freed by the user.

virtual bool DtPlan::subsituteUUIDIfAvailable ( const DtReaderWriter ,
DtUUID uuid 
) const
virtual

If, in the supplied reader/writer there is a matching UUID to substitute, place the resultant value in the givem UUID and return true.

virtual void DtPlan::processAwaitingTask ( )
protectedvirtual

Awaiting task then (re)starts execution of plan.

virtual void DtPlan::createMainBlock ( )
protectedvirtual

Create the Main Block.

This is only called by init(), and should only be called once.

virtual void DtPlan::copyMainBlock ( const DtPlan otherPlan)
protectedvirtual

Copy the main block (and all nested blocks) and the Execution Stack from another Plan, and translate any/all DtStmtIndex objects to point into the new main block structure.

virtual void DtPlan::copyAndTranslateExecutionStack ( const DtPlan otherPlan)
protectedvirtual

Copy the other Plan's execution stack and translate all DtStmtIndex objects in the execution stack to point into the new main block.

(Called by copyMainBlock.)

virtual void DtPlan::copyAndTranslateTriggers ( const DtPlan otherPlan)
protectedvirtual

Copy the other Plan's pending triggers and translate all DtStmtIndex objects in the triggers to point into the new main block.

(Called by copyMainBlock.)

virtual void DtPlan::curStmtChanged ( )
protectedvirtual

Whenever a change is made that changes the effective current statement, this function is called so that the front end can be told of the change.

virtual void DtPlan::continuePlan ( )
protectedvirtual

ContinuePlan will continue the Plan execution until either the task request pending flag is cleared, or the plan complete flag is set.

virtual void DtPlan::stepStatement ( bool  forceStep = false)
protectedvirtual

StepStatement will step to the next statement in the Plan.

This is usually the first half of an execution cycle. Note: this assumes that !isComplete() and !myCurrentStmt.isNull().

Some statements that, even if they are stepped, stay where they are. If forceStep is true it will give a hint to that statement to move on anyway

virtual void DtPlan::executeStatement ( )
protectedvirtual

ExecuteStatement will execute the current statement in the Plan.

This is usually the second half of an execution cycle. Note: this assumes that !isComplete() and !myCurrentStmt.isNull().

virtual void DtPlan::clearTriggerList ( )
protectedvirtual

ClearTriggerList deletes the registered triggers and clears the pending trigger list.

virtual void DtPlan::clearExecutionStack ( )
protectedvirtual

ClearExecutionStack clears the execution stack and resets the Plan.

Adds a single NULL DtStmtIndex item to its list (indicating the start of the plan).

virtual void DtPlan::emtpyExecutionStack ( )
protectedvirtual

Removes and deletes all DtStmtIndex* entries from the execution stack.

virtual void DtPlan::mapExecutionStackToRwExecutionStack ( DtRwPlanExecutionStack rwExecutionStack)
protectedvirtual

Called by putSelf().

Fills the specified rwExecutionStack with the data from myExecutionStack.

virtual void DtPlan::mapPendingTriggersToPendingTriggerDataList ( )
protectedvirtual
virtual void DtPlan::mapOldExecutionCursorStackToExecutionStack ( const DtRwIntegerList executionCursorStack)
protectedvirtual

Called by getSelf().

Fills myExecutionStack with the data from the Pre VRF 3.12 style executionCursorStack.

virtual void DtPlan::mapRwExecutionStackToExecutionStack ( const DtRwPlanExecutionStack rwExecutionStack)
protectedvirtual

Fills myExecutionStack with the data from rwExecutionStack.

virtual void DtPlan::mapPendingTriggerDataToPendingTriggers ( )
protectedvirtual
virtual int DtPlan::statementIdToCursor ( DtStmtIdType  statementId)
protectedvirtual

Maps statementId to cursor and vice-versa.

Cursor is the overall position of a statement in the plan.

virtual DtStmtIdType DtPlan::cursorToStatementId ( int  cursor)
protectedvirtual
virtual DtSimStatement* DtPlan::lookupStatementByStatementId ( DtSimBlock ,
int  ,
std::set< DtUUID > &  triggersVisited 
) const
protectedvirtual
virtual void DtPlan::createTriggersFromWhenBlocks ( )
protectedvirtual

Creates and maps new triggers to when blocks.

virtual void DtPlan::createTriggersFromWhenBlocks ( DtSimBlock )
protectedvirtual
virtual void DtPlan::createTriggersFromWhenBlocks ( DtSimBlock ,
DtSimStatement  
)
protectedvirtual
virtual void DtPlan::removeTriggerRegistrationFrom ( DtSimBlock ,
const DtUUID  
)
protectedvirtual

Removes any register/unregister trigger statement with the given trigger name.

virtual void DtPlan::removeTriggerRegistrationFrom ( DtSimBlock ,
DtSimStatement ,
const DtUUID  
)
protectedvirtual
virtual void DtPlan::mapExecutionStackToExecutingTriggers ( )
protectedvirtual

Maps the triggers in the execution stack to exectuing triggers.

Member Data Documentation

DtRwBoolean DtPlan::myTaskRequestPending
protected

The TaskRequestPending flag is set to true when an Entity requests a new task, and is cleared when a new task is sent by the Plan engine.

There may be any number of non-task statements processed between these two events. Further processing of the entity's plan is paused when this flag is cleared.

DtPlanBlock* DtPlan::myMainBlock
protected

The main Block is the top-level Block of the plan and is the only Block that is considered to be "owned" by this DtPlan object.

DtList DtPlan::myExecutionStack
protected

The top of the execution stack is the Plan's current statement (fetched with currentStmt()).

Whenever a retasking trigger fires, it pushes this stack down so that the Plan can pick up where it left off at the end of the trigger.

DtRwBoolean DtPlan::myIsComplete
protected

myIsComplete Disables awaitingTask() and causes it to emit continuous Wait tasks.

DtRwBoolean DtPlan::myLastStatementExecuted
protected

myLastStatementExecuted makes sure that nothing will get executed in the plan after triggers have been triggered

DtRwBoolean DtPlan::myAbandoned
protected

True if this plan has been abandoned.

If the plan is abandoned, it will also show as "complete", since it is not running.

DtList DtPlan::myPendingTriggers
protected

A list of all registered DtSimTriggers.

DtCallbackList<const DtPlan&> DtPlan::myStatementChangedCbs
protected

A list of all the DtCurrentStatementChangedCallbackFcn callbacks.

DtRwTriggerDataList DtPlan::myPendingTriggerDataList
protected

Reader-writer members used to hold checkpoint information about the plan.

These variables only contain valid data just before writing to file, and just after reading from file. List of DtTriggerData items, representing the list of pending triggers.

DtRwTriggersList DtPlan::myTriggers
protected

List of all possible triggers in the plan.

This will be a collection of when statements that represent all the possible triggers trigger

bool DtPlan::myExecutionIsEnabled
protected

Flag indication whether execution is enabled (can we start or advance through plan statements?).

bool DtPlan::myWantsExecutionStateEnabled
protected
bool DtPlan::myAwaitingTaskFlag
protected

Flag indicating we've received an awaiting task request.

DtRwUUID DtPlan::myPlanName
protected
bool DtPlan::myContinuePlan
protected
DtPlanExecutor* DtPlan::myPlanExecutor
protected
DtPlanStatus DtPlan::myLastSentStatus
protected

The status that was last sent out though the curretStatement callbacks.

DtRwInt DtPlan::myQuickLaunchFlags
protected

Additional data used to indicate if this is a quick launch plan and the icon associated with it.

currently only global plans can be quick launch plans

DtRwString DtPlan::myQuickLaunchIcon
protected
DtRwInt DtPlan::myOrdinal
protected
DtRwIntegerList DtPlan::myExecutingTriggers
protected
DtRwVariableBindings DtPlan::myPlanVariables
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)