![]() |
VR-Forces 4.6 Class Documentation
|

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. | |
| DtPlan (const DtUUID &planName, DtPlanExecutor *planExecutor, const DtString &name="Plan", DtReaderWriterRegistry *parentRegistry=NULL) | |
| constructor for use from within a back-end application | |
| DtPlan (const DtString &name, const DtUUID &planName, const DtPlan &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| virtual | ~DtPlan () |
| destructor | |
| virtual void | init () |
| The init function must be called after any non-copy constructor! | |
| virtual void | addVariables () |
| Adds default variables to plan. | |
| virtual DtPlan * | clone (const DtString &name, const DtUUID &planName, DtReaderWriterRegistry *parentRegistry=NULL) const |
| Returns a newly created copy of ourself. | |
| 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 | operator== (const DtPlan &orig) const |
| Equality operator. | |
| virtual const DtUUID & | planName () 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. | |
| virtual bool | isQuickLaunch () const |
| virtual void | setShowOnQuickLaunchToolbar (bool) |
| Gui element only – whether or not to show on quick launch toolbar. | |
| virtual bool | showOnQuickLaunchToolbar () const |
| virtual void | setIsLaunched (bool) |
| Only used if quick launch. | |
| virtual bool | isLaunched () const |
| virtual void | setQuickLaunchIcon (const DtString &) |
| Icon to use for display in gui. | |
| virtual const DtString & | quickLaunchIcon () const |
| virtual void | setOrdinal (int) |
| Order to display items on the quick launch toolbar. | |
| virtual int | ordinal () const |
| virtual void | setPlanExecutor (DtPlanExecutor *planExecutor) |
| Get a pointer to the sim manager. | |
| virtual DtPlanExecutor * | planExecutor () const |
| virtual void | enableExecutionState () |
| Enable/disable plan execution state. | |
| 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. | |
| virtual bool | isAwatingTask () const |
| virtual void | addTrigger (const DtTriggerStmt &) |
| Adds a new condition into the condition list. Will clone. | |
| virtual DtTriggerStmt * | triggerStatement (const DtUUID &) const |
| Returns the trigger with the given name. | |
| virtual void | removeTrigger (const DtUUID &) |
| Removes the triger with the given name. | |
| virtual void | renameTrigger (const DtUUID &, const DtString &newName) |
| Renames the trigger to the new name. | |
| 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. | |
| virtual void | setTriggers (const DtRwTriggersList &) |
| Sets the triggers to tbe the list of triggers. | |
| const DtRwTriggersList & | triggers () const |
| Returns plans triggers. | |
| virtual void | pushExecutionStack () |
| When a retasking trigger fires, it first calls pushExecutionStack on the DtPlan. | |
| 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. | |
| virtual void | popExecutionStack (bool forceStep=false) |
| When a retasking trigger completes, it calls popExecutionStack on the DtPlan. | |
| virtual void | executeTrigger (DtTriggerBlock *whenBlock) |
| When a DtSimTrigger gets executed, it calls the executeTrigger function which begins execution of the whenBlock. | |
| virtual void | executeBlock (DtSimBlock *block) |
| Begin execution of a block of tasks. | |
| virtual bool | taskRequestPending () const |
| Get the TaskRequestPending flag. | |
| virtual void | setTaskRequestPending (bool newValue=true) |
| Set or clear the TaskRequestPending flag. | |
| const DtRwVariableBindings & | variables () const |
| Returns plan variables. | |
| virtual DtReaderWriter * | variable (const DtString &) |
| virtual void | clearVariables () |
| Clears all plan variables. | |
| virtual void | addVariable (DtRwPlanVariable *) |
| Adss variable and takes ownership of memory. | |
| virtual void | setVariables (const DtRwVariableBindings &) |
| Copies variables list. | |
| virtual bool | executeTask (const DtSimTask &taskToSend) const |
| Uses the plan executor to execute the specified task in the context of this plan. | |
| virtual bool | executeSetDataRequest (const DtSetDataRequest &setToSend) const |
| Uses the plan executor to execute the specified set data request in the context of this plan. | |
| virtual bool | executeSimCommand (const DtSimCommand &command) const |
| Uses the plan executor to execute the specified simulation command in the context of this plan. | |
| virtual bool | evaluateConditional (const DtSimCondExpr *condExpr) const |
| Uses myPlanExecutor to evaluate the conditional expression. | |
| virtual DtStmtIndex | firstStmt () const |
| Get the index of the first statement in the plan. | |
| virtual DtPlanBlock * | mainBlock () const |
| Get a pointer to the Plan's main Block. | |
| virtual void | empty () |
| Empties the plan of all statements and creates a new main block. | |
| virtual bool | isEmpty () const |
| True if the Plan is considered "Empty" (containing no statements). | |
| virtual DtList * | triggerList () |
| Get a pointer to the list of pending triggers. | |
| virtual const DtList * | triggerList () const |
| virtual void | addTriggerToExecute (DtSimTrigger *trigger) |
| Add a trigger to the pending trigger list. | |
| virtual void | removeTriggerFromPendingExecution (DtSimTrigger *trigger) |
| Remove a trigger from the pending trigger list. | |
| virtual DtList * | executionStack () |
| Get a pointer to the execution stack. | |
| virtual const DtList * | executionStack () const |
| virtual bool | validatePlan () |
| Checks, and potentially fixes, the plan. | |
| virtual const DtStmtIndex & | currentStmt () const |
| Get the index of the Plan's "current" statement. | |
| virtual void | setCurrentStmt (const DtStmtIndex &nextStatement) |
| Set the Plan's "current" statement. | |
| virtual void | setCurrentStatementExecutionId (int id) |
| Sets the current task execution ID to the value specified. | |
| virtual bool | isComplete () const |
| True if the Plan is considered "Complete" and no longer active. | |
| virtual void | setIsComplete (bool completeFlag=true) |
| Set the Plan's completion flag, if true, further execution of the Plan is disabled. | |
| virtual bool | isAbandoned () const |
| virtual void | setIsAbandoned (bool v) |
| Sets whether or not the plan is abandoned. | |
| virtual bool | isExecuting () const |
| virtual DtPlanStatus | currentStatus () const |
| virtual void | reset () |
| Clear all registered triggers and reset the Plan to its initial state. | |
| 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. | |
| virtual void | restartPlan (bool sendWaitTask=true) |
| Reset sthe plan. | |
| 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. | |
| 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. | |
| virtual void | tick () |
| The Plan tick function. Presently this ticks all the Plan's triggers. | |
| 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. | |
| virtual DtRecursiveSimBlockIterator * | spawnRecursiveIterator () const |
| Spawns an iterator that iterates over the statements in the plan. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | removeStatementChangedCallback (DtCurrentStatementChangedCallbackFcn fcn, void *usrData) |
| Removes a statement changed callback. | |
| virtual void | reissueStatementIds (DtSimStatement *stmt) |
| Gives new statement ids to all statements in this statement (including sub blocks) | |
| virtual void | pushExecutingTrigger (int) |
| If in a trigger, the current statement id of the trigger being executed. | |
| virtual void | popExecutingTrigger () |
| virtual int | executingTriggerStatementId () const |
| virtual std::vector< int > | executingTriggerStatementIds () const |
| Ids in order of execution. | |
| virtual DtUUID | executingTriggerName () const |
| If in a trigger, the name of the trigger. | |
| virtual std::vector< DtUUID > | executingTriggerNames () const |
| Names in order of execution. | |
| virtual std::vector< DtUUID > | registeredTriggerNames () const |
| Triggers registered. | |
| virtual bool | triggerIsRunning (const DtUUID &) const |
| Returns true if the named trigger is currently running. | |
| virtual bool | triggerIsRegistered (const DtUUID &) const |
| Returns true if the current named trigger is registered. | |
| virtual void | removeScheduledTriggers (const DtUUID &) |
| Removes all occuranes of named trigger from the pending triggers list. | |
| virtual void | mapRegisteredTriggersToTriggerStatements () |
| Goes through and maps trigger statements to the register trigger statemnt it represents. | |
| virtual DtSimStatement * | lookupStatementByCursor (int cursor) |
| Look up statement at the given cursor location (an integer identifying the overall position of a statement in a plan. | |
| virtual DtSimStatement * | lookupStatementByStatementId (int) const |
| virtual void | setContinuePlan (bool) |
| Sets whether or not to continue plan execution. | |
| 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. | |
| 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. | |
| 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. | |
Public Member Functions inherited from DtReaderWriter | |
| DtReaderWriter () | |
| default constructor | |
| DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| real constructor Setting the readonly flag prevents object from writing itself to the stream. | |
| DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| pseudo-copy constructor | |
| DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| assignment operator | |
| bool | operator== (const DtReaderWriter &) const |
| Equivalence operator. | |
| bool | operator!= (const DtReaderWriter &rhs) |
| virtual | ~DtReaderWriter () |
| destructor | |
| virtual void | postPutSelf () |
| Called after either version of put self (file or environment). Default is no-op. | |
| virtual void | prePutSelf () |
| Called before either version of put self (file or environment). Default is no-op. | |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| Top level to read itself from an input stream. | |
| virtual void | postGetSelf () |
| Called after either version of getSelf (mtl or environment). Default is no-op. | |
| virtual void | preGetSelf () |
| Called before either version of get self (file or environment). Default is no-op. | |
| 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. | |
| virtual DtSymbolString | name () const |
| Accessor for name of this readable/writable object. | |
| virtual void | addAlias (const DtSymbolString &alias) |
| Add an alias as an alternative name for this object. | |
| virtual void | addAlias (const DtString &alias) |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| virtual const aliasContainer & | aliases () const |
| virtual void | setReadonly (bool flag) |
| Set read-only flag. | |
| bool | isReadonly () const |
| virtual int | alignment () const |
| For those items that are sent over the network via HLA, this will give the network alignment. | |
| virtual bool | variableIsBound () const |
| virtual void | unbindVariable () |
| Sets the myVariableIsBound flag to false. | |
| virtual void | setName (const DtString &) |
| Set the name of the object. | |
| virtual const char * | readerWriterType () const |
| Used to supply a string type that this reader writer type is. | |
| virtual const char * | xmlType () const |
| virtual DtString | prettyPrint () const |
| Routine to return a human readable form of the reader/writer variable. | |
| std::string | debugText () const |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| Runs a variable binding pass on this reader writer and any of its children. | |
| 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. | |
| virtual bool | hasVariableReference () const |
| Returns true if this item or any item in the registry (recursive) is a variable reference. | |
| 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. | |
| virtual void | recordUpdateTime () const |
| Can be implemented in subclasses to stamp the time when updated. | |
| virtual bool | wasUpdatedSince (DtTime t) const |
| Can be implemented in subclasses to return true if an update occurred after the specified time. | |
| virtual bool | changedSinceLastChecked () |
| Returns true if this objects value has changed since the last time this function was called. | |
| virtual bool | peekChangedSinceLastChecked () const |
| Returns the value that changedSinceLastChecked would return but does not reset the internal flag. | |
| virtual void | putData (std::string &fp, int indentLevel=0) |
| Deriving class overrides these to get/put class specific data. | |
| 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. | |
| virtual bool | valueSpecified () const |
| virtual bool | isVariableReference () const |
| Specifies whether or not this reader writer is really a variable that is specified elsewhere. | |
| virtual void | setIsVariableReference (bool value) |
| virtual void | clearAllVariableReferenceFlags () |
| Clears out all variable reference flags from all readerwriter items in registry recursively. | |
| virtual DtSymbolString | variableName () const |
| The variable name, if this object is a variable reference. | |
| virtual void | setVariableName (const DtSymbolString variableName) |
| virtual const DtReaderWriter * | defaultRWValue () const |
| The default value to use if the reader/writer object is a variable and that variable is not specified. | |
| virtual DtReaderWriter * | defaultRWValue () |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. | |
| 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. | |
| const DtReaderWriterRegistry & | registry () const |
| Collection of child DtReaderWriter nodes owned by this object. | |
| DtReaderWriterRegistry & | registry () |
| virtual DtPropertyInterface * | property () |
| virtual const DtPropertyInterface * | property () const |
| virtual DtString | toXml () const |
| virtual bool | toXml (const DtFilename &) const |
| Writes contents of xml result to the given filename. | |
| virtual bool | fromXml (const DtString &) |
| Restores object from given xml string. Returns true if valid. | |
| virtual bool | fromXmlFile (const DtFilename &) |
| Restores object from given xml file. | |
| virtual void | putSelf (DtEnvironmentSP, DtEnvValueSP parent) const |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| Override to add attributes of actual data. | |
| virtual void | putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const |
| Called when the item is a variable reference. | |
| 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. | |
| 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. | |
| virtual void | getVariableReference (DtEnvironmentSP, DtEnvValueSP value) |
| Called when the item is a variable reference. | |
Protected Member Functions | |
| virtual void | processAwaitingTask () |
| Awaiting task then (re)starts execution of plan. | |
| virtual void | createMainBlock () |
| Create the Main Block. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | stepStatement (bool forceStep=false) |
| StepStatement will step to the next statement in the Plan. | |
| virtual void | executeStatement () |
| ExecuteStatement will execute the current statement in the Plan. | |
| virtual void | clearTriggerList () |
| ClearTriggerList deletes the registered triggers and clears the pending trigger list. | |
| virtual void | clearExecutionStack () |
| ClearExecutionStack clears the execution stack and resets the Plan. | |
| virtual void | emtpyExecutionStack () |
| Removes and deletes all DtStmtIndex* entries from the execution stack. | |
| virtual int | statementIdToCursor (DtStmtIdType statementId) |
| Maps statementId to cursor and vice-versa. | |
| virtual DtStmtIdType | cursorToStatementId (int cursor) |
| virtual DtSimStatement * | lookupStatementByStatementId (DtSimBlock *, int, std::set< DtUUID > &triggersVisited) const |
| virtual void | createTriggersFromWhenBlocks () |
| Creates and maps new triggers to when blocks. | |
| 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. | |
| virtual void | removeTriggerRegistrationFrom (DtSimBlock *, DtSimStatement *, const DtUUID &) |
| virtual void | mapExecutionStackToExecutingTriggers () |
| Maps the triggers in the execution stack to exectuing triggers. | |
| virtual void | mapExecutionStackToRwExecutionStack (DtRwPlanExecutionStack &rwExecutionStack) |
| Called by putSelf(). | |
| virtual void | mapPendingTriggersToPendingTriggerDataList () |
| virtual void | mapOldExecutionCursorStackToExecutionStack (const DtRwIntegerList &executionCursorStack) |
| Called by getSelf(). | |
| virtual void | mapRwExecutionStackToExecutionStack (const DtRwPlanExecutionStack &rwExecutionStack) |
| Fills myExecutionStack with the data from rwExecutionStack. | |
| virtual void | mapPendingTriggerDataToPendingTriggers () |
Protected Member Functions inherited from DtReaderWriter | |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| Copies values from the specified DtReaderWriter. | |
Protected Member Functions inherited from DtObjectDebugger< DtReaderWriter > | |
| DtObjectDebugger () | |
| DtObjectDebugger (const DtObjectDebugger &) | |
| ~DtObjectDebugger () | |
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. | |
| DtPlanBlock * | myMainBlock |
| 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 | myExecutionStack |
| The top of the execution stack is the Plan's current statement (fetched with currentStmt()). | |
| DtRwBoolean | myIsComplete |
| myIsComplete Disables awaitingTask() and causes it to emit continuous Wait tasks. | |
| DtRwBoolean | myAbandoned |
| True if this plan has been abandoned. | |
| DtList | myPendingTriggers |
| A list of all registered DtSimTriggers. | |
| DtCallbackList< const DtPlan & > | myStatementChangedCbs |
| A list of all the DtCurrentStatementChangedCallbackFcn callbacks. | |
| DtRwTriggerDataList | myPendingTriggerDataList |
| Reader-writer members used to hold checkpoint information about the plan. | |
| DtRwTriggersList | myTriggers |
| List of all possible triggers in the plan. | |
| bool | myExecutionIsEnabled |
| Flag indication whether execution is enabled (can we start or advance through plan statements?). | |
| bool | myWantsExecutionStateEnabled |
| bool | myAwaitingTaskFlag |
| Flag indicating we've received an awaiting task request. | |
| DtRwUUID | myPlanName |
| bool | myContinuePlan |
| DtPlanExecutor * | myPlanExecutor |
| DtPlanStatus | myLastSentStatus |
| The status that was last sent out though the curretStatement callbacks. | |
| DtRwInt | myQuickLaunchFlags |
| Additional data used to indicate if this is a quick launch plan and the icon associated with it. | |
| DtRwString | myQuickLaunchIcon |
| DtRwInt | myOrdinal |
| DtRwIntegerList | myExecutingTriggers |
| DtRwVariableBindings | myPlanVariables |
Protected Attributes inherited from DtReaderWriter | |
| const DtSymbolString | myName |
| DtReaderWriterRegistry | myRegistry |
| DtReaderWriterRegistry * | myParentRegistry |
| bool | myValueSpecified |
| bool | myReadOnlyFlag |
| bool | myIsVariableReference |
| DtSymbolString | myVariableName |
| bool | myVariableIsBound |
| DtReaderWriter * | myDefaultValue |
| aliasContainer | myAliases |
| Container for the aliases which represent alternative names for the object. | |
| bool | myInvalid |
| Set to true if there is a problem reading this item. | |
| bool | myChangedFlag |
| Set to true when value changes Set to false when value checked with changedSinceLastChecked. | |
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 char * | theXmlType () |
| The type that is used when archiving to an XML stream. | |
| static const DtFilename & | appPath () |
| Gets the current working directory. | |
| static void | setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn) |
| Sets the function to create the DtReaderWriterFactory. | |
| static void | createReaderWriterFactory () |
| static void | cleanupFactory () |
| static DtReaderWriterFactory * | factory () |
| static DtReaderWriter * | createFromXmlFile (const DtFilename &, bool createAsProperty=false) |
| Given a filename, returns a newly created reader/writer object from the object found within. | |
| static DtReaderWriter * | createFromXml (const DtString &, bool createAsProperty=false) |
| Given a xml string, returns a newly created reader/writer object from the object found within. | |
| static DtReaderWriter * | createFromEnvironment (DtEnvironmentSP, bool createAsProperty=false) |
| Given a xml environment, returns a newly created reader/writer object from the object found within. | |
| static DtString | getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root) |
| Gets the named attribute from a DtEnvValueSP. | |
Static Protected Attributes inherited from DtReaderWriter | |
| static DtString | theUnspecifiedValue |
| static DtGetSelfCallbackInfo | thePostGetSelfCallback |
| static DtPutSelfCallbackInfo | thePrePutSelfCallback |
| static const DtVariableBindingsList | theEmptyVariableBindingsList |
| static bool | theCreatorFcnSet |
| static DtReaderWriterFactory * | theFactory |
| static DtReaderWriterFactoryCreatorFcn | theFactoryCreatorFcn |
| static bool | thePutIndent |
| 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 |
destructor
|
virtual |
The init function must be called after any non-copy constructor!
|
virtual |
Adds default variables to plan.
|
virtual |
Returns a newly created copy of ourself.
name is the DtReaderWriter name of the plan.
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 |
|
virtual |
|
virtual |
|
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 |
|
virtual |
Gui element only – whether or not to show on quick launch toolbar.
|
virtual |
|
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 |
|
virtual |
Icon to use for display in gui.
|
virtual |
|
virtual |
Order to display items on the quick launch toolbar.
|
virtual |
|
virtual |
Get a pointer to the sim manager.
|
virtual |
|
virtual |
Enable/disable plan execution state.
Plan will not start or advance through statements unless execution state is enabled.
|
virtual |
|
virtual |
|
virtual |
Sets our awaiting task flag (it will be handled in processAwaitingTask(), called from tick if/when plan execution state is enabled.
|
virtual |
|
virtual |
Adds a new condition into the condition list. Will clone.
|
virtual |
Returns the trigger with the given name.
|
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
Renames the trigger to the new name.
|
virtual |
Sets the trigger to have the contents of the supplied trigger. If trigger does not exist by UUID will not add.
|
virtual |
Sets the triggers to tbe the list of triggers.
|
inline |
Returns plans triggers.
|
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 |
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 |
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 |
When a DtSimTrigger gets executed, it calls the executeTrigger function which begins execution of the whenBlock.
|
virtual |
Begin execution of a block of tasks.
|
virtual |
Get the TaskRequestPending flag.
|
virtual |
Set or clear the TaskRequestPending flag.
|
inline |
Returns plan variables.
|
virtual |
|
virtual |
Clears all plan variables.
If referenced by items in the plan, those items will now have dangling references
|
virtual |
Adss variable and takes ownership of memory.
|
virtual |
Copies variables list.
Uses the plan executor to execute the specified task in the context of this plan.
|
virtual |
Uses the plan executor to execute the specified set data request in the context of this plan.
|
virtual |
Uses the plan executor to execute the specified simulation command in the context of this plan.
|
virtual |
Uses myPlanExecutor to evaluate the conditional expression.
False is returned if there is not plan executor.
|
virtual |
Get the index of the first statement in the plan.
|
virtual |
Get a pointer to the Plan's main Block.
|
virtual |
Empties the plan of all statements and creates a new main block.
|
virtual |
True if the Plan is considered "Empty" (containing no statements).
|
virtual |
Get a pointer to the list of pending triggers.
|
virtual |
|
virtual |
Add a trigger to the pending trigger list.
|
virtual |
Remove a trigger from the pending trigger list.
|
virtual |
Get a pointer to the execution stack.
|
virtual |
|
virtual |
Checks, and potentially fixes, the plan.
|
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 |
Set the Plan's "current" statement.
|
virtual |
Sets the current task execution ID to the value specified.
|
virtual |
True if the Plan is considered "Complete" and no longer active.
|
virtual |
Set the Plan's completion flag, if true, further execution of the Plan is disabled.
|
virtual |
|
virtual |
Sets whether or not the plan is abandoned.
This should not normally be called from outside this class.
|
virtual |
|
virtual |
|
virtual |
Clear all registered triggers and reset the Plan to its initial state.
Reimplemented from DtReaderWriter.
|
virtual |
Reset the plan, but then set isComplete and set the current statement to the last one in the Main Block.
| sendWaitTask | indicates 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 |
Reset sthe plan.
| sendWaitTask | indicates 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 |
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 |
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 |
The Plan tick function. Presently this ticks all the Plan's triggers.
|
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 |
Spawns an iterator that iterates over the statements in the plan.
The caller MUST DELETE the iterator when doen using it!
|
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 |
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.
|
virtual |
Adds a callback which is called whenever the current statement changes or whenever the status of the plan changes.
(abandoned, complete, executing)
|
virtual |
Removes a statement changed callback.
|
virtual |
Gives new statement ids to all statements in this statement (including sub blocks)
|
virtual |
If in a trigger, the current statement id of the trigger being executed.
|
virtual |
|
virtual |
|
virtual |
Ids in order of execution.
|
virtual |
If in a trigger, the name of the trigger.
|
virtual |
Names in order of execution.
|
virtual |
Triggers registered.
Returns true if the named trigger is currently running.
Returns true if the current named trigger is registered.
|
virtual |
Removes all occuranes of named trigger from the pending triggers list.
|
virtual |
Goes through and maps trigger statements to the register trigger statemnt it represents.
|
virtual |
Look up statement at the given cursor location (an integer identifying the overall position of a statement in a plan.
|
virtual |
|
virtual |
Sets whether or not to continue plan execution.
|
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 |
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 |
If, in the supplied reader/writer there is a matching UUID to substitute, place the resultant value in the givem UUID and return true.
|
protectedvirtual |
Awaiting task then (re)starts execution of plan.
|
protectedvirtual |
Create the Main Block.
This is only called by init(), and should only be called once.
|
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.
|
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.)
|
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.)
|
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.
|
protectedvirtual |
ContinuePlan will continue the Plan execution until either the task request pending flag is cleared, or the plan complete flag is set.
|
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
|
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().
|
protectedvirtual |
ClearTriggerList deletes the registered triggers and clears the pending trigger list.
|
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).
|
protectedvirtual |
Removes and deletes all DtStmtIndex* entries from the execution stack.
|
protectedvirtual |
Called by putSelf().
Fills the specified rwExecutionStack with the data from myExecutionStack.
|
protectedvirtual |
|
protectedvirtual |
Called by getSelf().
Fills myExecutionStack with the data from the Pre VRF 3.12 style executionCursorStack.
|
protectedvirtual |
Fills myExecutionStack with the data from rwExecutionStack.
|
protectedvirtual |
|
protectedvirtual |
Maps statementId to cursor and vice-versa.
Cursor is the overall position of a statement in the plan.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Creates and maps new triggers to when blocks.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Removes any register/unregister trigger statement with the given trigger name.
|
protectedvirtual |
|
protectedvirtual |
Maps the triggers in the execution stack to exectuing triggers.
|
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.
|
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.
|
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.
|
protected |
myIsComplete Disables awaitingTask() and causes it to emit continuous Wait tasks.
|
protected |
True if this plan has been abandoned.
If the plan is abandoned, it will also show as "complete", since it is not running.
|
protected |
A list of all registered DtSimTriggers.
|
protected |
A list of all the DtCurrentStatementChangedCallbackFcn callbacks.
|
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.
|
protected |
List of all possible triggers in the plan.
This will be a collection of when statements that represent all the possible triggers trigger
|
protected |
Flag indication whether execution is enabled (can we start or advance through plan statements?).
|
protected |
|
protected |
Flag indicating we've received an awaiting task request.
|
protected |
|
protected |
|
protected |
|
protected |
The status that was last sent out though the curretStatement callbacks.
|
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
|
protected |
|
protected |
|
protected |
|
protected |