![]() |
VR-Forces 5.0.2 Developer's Guide
|
The DtVrfObjectPlanAdministrator performs plan-related tasks that must be done in a centralized manner. This class reads and writes the plan file during scenario load and save. It centralizes communication between the DtVrfObjectRemoteController and a DtVrfObjectPlanManager by registering callbacks for the plan messages sent by the controller and forwarding them to the proper plan manager. This avoids callbacks from being fired off from every single plan manager. The DtVrfObjectPlanAdministrator also provides methods which allow the DtCgf to enable and disable the plan execution state for all the plans during scenario load and save.
Public Types | |
| typedef std::map< DtUUID, char * > | CachedPlanMap |
Public Member Functions | |
| DtVrfObjectPlanAdministrator (DtLocalObjectManager *vrfObjectManager) | |
| virtual | ~DtVrfObjectPlanAdministrator () |
| virtual void | cachePlan (const DtUUID &sObjName, DtlObjPtr planBlock) |
| virtual void | clearCachedPlans () |
| virtual bool | init () |
| virtual const char * | lookupCachedPlan (const DtUUID &sObjName) |
| virtual bool | readPlanFile (const DtString &filename, DtlObjPtr *retArgs=0) |
| virtual bool | readPlanFileFromZipFile (const DtString &scenarioZipFile, const DtString &filename, DtlObjPtr *retArgs=0) |
| virtual bool | readPlanFile (const std::string &buffer, DtlObjPtr *retArgs=0) |
| virtual bool | readPlanFile (DtlObjPtr &args) |
| virtual void | writePlanFile (const DtString &filename) const |
| virtual void | writePlanFile (std::string &planFile) const |
| virtual void | ignoreThisUUIDOnPlanRead (const DtUUID &) |
| virtual void | clearIgnoreUUIDsOnPleanRead () |
| const std::set< DtUUID > & | ignoreUUIDsOnPlanRead () const |
| virtual bool | planExecutionEnabled () const |
| virtual void | processSetPlan (DtSimMessage *msg) |
| virtual void | processSetMultiplePlan (DtSimMessage *msg) |
| virtual void | processRequestPlan (DtSimMessage *msg) |
| virtual void | processRequestMultiPlan (DtSimMessage *msg) |
| virtual void | processAbandonPlan (DtSimMessage *msg) |
| virtual void | processRestartPlan (DtSimMessage *msg) |
| virtual void | clearObjectManager () |
| virtual void | enablePlanExecutionState () |
| virtual void | disablePlanExecutionState () |
Static Public Member Functions | |
| static void | setPlanCallback (DtSimMessage *msg, void *usr) |
| static void | setMultiplePlanCallback (DtSimMessage *msg, void *usr) |
| static void | requestPlanCallback (DtSimMessage *msg, void *usr) |
| static void | requestMultiPlanCallback (DtSimMessage *msg, void *usr) |
| static void | abandonPlanCallback (DtSimMessage *msg, void *usr) |
| static void | restartPlanCallback (DtSimMessage *msg, void *usr) |
Protected Member Functions | |
| virtual bool | processPlanStream (DtlInputStream *, DtlObjPtr *retArgs=0) |
| DtVrfObjectPlanAdministrator () | |
| DtVrfObjectPlanAdministrator (const DtVrfObjectPlanAdministrator &orig) | |
| DtVrfObjectPlanAdministrator & | operator= (const DtVrfObjectPlanAdministrator &orig) |
Protected Attributes | |
| DtLocalObjectManager * | myObjectManager |
| CachedPlanMap | myCachedPlans |
| bool | myExecuting |
| std::set< DtUUID > | myIgnoreUUIDsOnPlanRead |
Static Protected Attributes | |
| static PlanFileVersion | planFileCurrentVersion |
| typedef std::map<DtUUID, char*> DtVrfObjectPlanAdministrator::CachedPlanMap |
| DtVrfObjectPlanAdministrator::DtVrfObjectPlanAdministrator | ( | DtLocalObjectManager * | vrfObjectManager | ) |
Constructor.
|
virtual |
Destructor. Unregisters requestPlanCallback, setPlanCallback, restartPlanCallback and abandonPlanCallback.
|
protected |
default constructor; not implemented
|
protected |
copy constructor; not implemented
|
virtual |
store the plan text in myCachedPlans Used when attaching VRF components to remote, non-VRF entities.
|
virtual |
empty myCachedPlans
|
virtual |
Registers requestPlanCallback, setPlanCallback restartPlanCallback, and abandonPlanCallback.
|
virtual |
search myCachedPlans for an entry indexed by sObjName Used when attaching VRF components to remote, non-VRF entities. Returns NULL if nothing found.
|
virtual |
Reads the plan file, assigning the plans to the appropriate DtVrfObjectPlanManagers. If retArgs is specified will set to the arguments read rom the plan file.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Saves the plans of each entity into the plan file.
|
virtual |
|
virtual |
Set the plan execution state for all objects. Plans will not start or advance through statements unless execution state is enabled.
|
virtual |
Set the plan execution state for all objects. Plans will not start or advance through statements unless execution state is enabled.
|
virtual |
Adds a UUID to ignore on the next read of the plan file. If this is called after a read, unless cleared, will be used on the next read. When the read is done the UUIDs will be cleared.
|
virtual |
|
inline |
|
virtual |
|
static |
Calls processSetPlan upon receipt of a DtIfPlan message.
|
virtual |
Forwards the DtIfPlan message to the proper DtVrfObjectPlanManager.
|
static |
Calls processSetMultiplePlan upon receipt of a DtIfMultiplePlanSet message.
|
virtual |
Forwards the DtIfMultiplePlanSet message to the proper DtVrfObjectPlanManager.
|
static |
Calls processRequestPlan upon receipt of a DtIfRequestPlan message.
|
virtual |
Forwards the DtIfRequestPlan message to the proper DtVrfObjectPlanManager.
|
static |
Calls processRequestMultiPlan upon receipt of a DtIfMultiplePlanRequest message.
|
virtual |
Handles the request by seeing what entities are local then asking them for their plans. If they have them, and they are all the same, sends a response with that plan, else sends that they have no plans. If they all have empty plans, the response will send an empty plan.
|
static |
Calls processAbandonPlan upon receipt of a DtIfAbandonPlan message.
|
virtual |
Forwards the DtIfAbandonPlan message to the proper DtVrfObjectPlanManager.
|
static |
Calls processRestartPlan upon receipt of a DtIfRestartPlan message.
|
virtual |
Forwards the DtIfRestartPlan message to the proper DtVrfObjectPlanManager.
|
virtual |
|
protectedvirtual |
|
protected |
assignment operator; not implemented
|
protected |
|
protected |
Plan scripts for non-VRF entities Used during scenario load. If a plan exists, but the intended entity does not, cache the text of the plan. Used for attaching components to remotely simulated non-VRF entities. Indexed by VRF object name.
|
protected |
|
staticprotected |
The current plan file version.
|
protected |