VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
DtReflectedEnvironmentProcessList Class Reference

Manages all discovered remote Environmental Process Objects. More...

+ Inheritance diagram for DtReflectedEnvironmentProcessList:
+ Collaboration diagram for DtReflectedEnvironmentProcessList:

Public Member Functions

 DtReflectedEnvironmentProcessList (DtExerciseConn *conn)
 constructor
virtual ~DtReflectedEnvironmentProcessList ()
virtual
DtReflectedEnvironmentProcess
lookup (const DtObjectId &id) const
 Lookup an entity from its object ID.
virtual
DtReflectedEnvironmentProcess
first () const
 Get the first and last elements of the env process list.
virtual
DtReflectedEnvironmentProcess
last () const
virtual void addEnvironmentProcessAdditionCallback (DtEnvironmentProcessCallbackFunction cb, void *userData)
 EnvironmentProcess added callback registration/deregistration.
virtual void removeEnvironmentProcessAdditionCallback (DtEnvironmentProcessCallbackFunction cb, void *userData)
virtual void addEnvironmentProcessRemovalCallback (DtEnvironmentProcessCallbackFunction cb, void *userData)
 EnvironmentProcess removed callback registration/deregistration.
virtual void removeEnvironmentProcessRemovalCallback (DtEnvironmentProcessCallbackFunction cb, void *userData)
virtual void print ()
 Print the SRs of all objects.
virtual
DtReflectedEnvironmentProcess
processEnvironmentProcess (const DtEnvironmentalProcessPdu &pdu)
 Process an incoming environment process pdu.
- Public Member Functions inherited from DtReflectedObjectList
 DtReflectedObjectList (DtExerciseConn *exConn)
 Constructor.
virtual ~DtReflectedObjectList ()
 destructor Warning: makes non-virtual call to removeAndDelete
virtual void initializeAttributePduKindsOfInterest (const std::set< DtPduKind > &pduKinds)
 This initializes which PDU kinds will be processed when receiving an Attribute PDU.
virtual DtReflectedObjectfirstObj () const
 Get the first/last object in the list.
virtual DtReflectedObjectlastObj () const
virtual int count () const
 Get number of objects.
virtual DtReflectedObjectlookupObj (const DtBaseHashKey &key) const
 Search for an object.
virtual DtExerciseConnexerciseConn () const
 Get my exerciseConn.
virtual void addObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object added callback registration/deregistration.
virtual void removeObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
virtual void addObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object removed callback registration/deregistration.
virtual void removeObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
virtual void print () const
 Print the SRs of all objects.
virtual void setTimeoutProcessing (bool onOff)
 Set whether or not timeout processing occurs.
virtual void setTimeoutInterval (DtTime time)
 Set/Get the remote object timeout period.
virtual DtTime timeoutInterval ()
virtual void setDiscoveryCondition (DtDiscoveryCondition fn, void *usr)
 Set the checker function which will determine when an object gets discovered and put into the ref.
virtual void clearDiscoveryCondition ()
 Unregisters the checker function set in setDiscoverCondition.
virtual void removeAndDelete (DtReflectedObject *obj, char *msg=NULL)
 Remove the remote object from the list if found and delete it.
virtual void removeObject (DtReflectedObject *obj)
 This is the same as removeAndDelete, it exists to maintain equality with HLA objects.

Protected Member Functions

DtReflectedEnvironmentProcessListoperator= (const DtReflectedEnvironmentProcessList &orig)
 Assignment operator – not implemented.
 DtReflectedEnvironmentProcessList (const DtReflectedEnvironmentProcessList &orig)
 Copy constructor – not implemented.
virtual DtReflectedObjectnewReflectedObj (const DtStateMsg &msg)
 Create a new object from a state message.
virtual DtReflectedObjectprocessStateMessage (const DtStateMsg &msg)
 Process an incoming state message. Calls processEnvironmentProcess().
virtual void objectAdded (DtReflectedObject *obj)
 Called after an env process is added and before addition callbacks are processed.
virtual void finalPduIsSetAction (DtReflectedEnvironmentProcess *envProcess)
 Called when an env process sends its final PDU.
virtual const DtBaseHashKeyhashKeyFromStateMessage (const DtStateMsg *msg)
 Get a hash key from a state message.
virtual
DtReflectedEnvironmentProcess
newReflectedEnvironmentProcess (const DtEntityIdentifier &id, const DtEntityType &type) const
 Create a new reflected env process.
virtual void environmentProcessAdded (DtReflectedEnvironmentProcess *ent)
 Called after an env process is added and before addition callbacks are processed.
- Protected Member Functions inherited from DtReflectedObjectList
virtual void doTimeouts ()
 Remove any remote objects which have not been updated during the timeout period.
virtual bool shouldBeTimedOut (DtReflectedObject *object)
 Returns whether or not the object should be timed out.
void emptyLists ()
 Empty the object list and the timeout list.
void emptyCallbackLists ()
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 Process object addition/removal callbacks.
virtual void processObjectRemovalCallbacks (DtReflectedObject *object)
virtual DtBaseHashKeyhashKeyFromAttributeRecordSet (const DtAttributeRecordSet &recordSet)
 Get a hash key from an attribute record set.
virtual int acceptPdu (const DtStateMsg &) const
 Determines if a PDU should be processed or not.
virtual bool readyToAdd (DtReflectedObject *obj)
 Returns true if the obj is ready to be added to myObjectList; calls myDiscoveryCondition from within.
virtual void processAttributePduCb (DtAttributeInteraction *inter)

Static Protected Member Functions

static void environmentProcessCb (DtEnvironmentalProcessPdu *pdu, void *usr)
 Callback for the exercise connection.
- Static Protected Member Functions inherited from DtReflectedObjectList
static void doTimeoutsPostDrainCb (void *usr)
 Calls doTimeouts.
static void processAttributePduCb (DtAttributeInteraction *inter, void *usr)

Protected Attributes

DtEntityIdentifierHashKeymyHashKey
- Protected Attributes inherited from DtReflectedObjectList
DtExerciseConnmyExConn
DtIntrusiveList myObjectAddedCallbacks
DtIntrusiveList myObjectRemovedCallbacks
DtIntrusiveList myObjectList
DtIntrusiveList myWaitList
DtHashlist myObjectHashlist
DtHashlist myWaitHashlist
DtTime myTimeoutInterval
bool myTimeoutProcessingFlag
DtDiscoveryCondition myDiscoveryCondition
void * myDiscoveryConditionParameter
std::set< DtPduKindmyPduKindSet

Detailed Description

Manages all discovered remote Environmental Process Objects.

Examples: Environmental Process Example

Constructor & Destructor Documentation

DtReflectedEnvironmentProcessList::DtReflectedEnvironmentProcessList ( DtExerciseConn conn)

constructor

virtual DtReflectedEnvironmentProcessList::~DtReflectedEnvironmentProcessList ( )
virtual
DtReflectedEnvironmentProcessList::DtReflectedEnvironmentProcessList ( const DtReflectedEnvironmentProcessList orig)
protected

Copy constructor – not implemented.

Member Function Documentation

virtual void DtReflectedEnvironmentProcessList::addEnvironmentProcessAdditionCallback ( DtEnvironmentProcessCallbackFunction  cb,
void *  userData 
)
virtual

EnvironmentProcess added callback registration/deregistration.

virtual void DtReflectedEnvironmentProcessList::addEnvironmentProcessRemovalCallback ( DtEnvironmentProcessCallbackFunction  cb,
void *  userData 
)
virtual

EnvironmentProcess removed callback registration/deregistration.

virtual void DtReflectedEnvironmentProcessList::environmentProcessAdded ( DtReflectedEnvironmentProcess ent)
protectedvirtual

Called after an env process is added and before addition callbacks are processed.

Right now, this function only calls DtInfo.

static void DtReflectedEnvironmentProcessList::environmentProcessCb ( DtEnvironmentalProcessPdu pdu,
void *  usr 
)
staticprotected

Callback for the exercise connection.

virtual void DtReflectedEnvironmentProcessList::finalPduIsSetAction ( DtReflectedEnvironmentProcess envProcess)
protectedvirtual

Called when an env process sends its final PDU.

Currently, this removes and deletes the env process.

virtual DtReflectedEnvironmentProcess* DtReflectedEnvironmentProcessList::first ( ) const
virtual

Get the first and last elements of the env process list.

virtual const DtBaseHashKey& DtReflectedEnvironmentProcessList::hashKeyFromStateMessage ( const DtStateMsg msg)
protectedvirtual

Get a hash key from a state message.

Implements DtReflectedObjectList.

virtual DtReflectedEnvironmentProcess* DtReflectedEnvironmentProcessList::last ( ) const
virtual
virtual DtReflectedEnvironmentProcess* DtReflectedEnvironmentProcessList::lookup ( const DtObjectId id) const
virtual

Lookup an entity from its object ID.

virtual DtReflectedEnvironmentProcess* DtReflectedEnvironmentProcessList::newReflectedEnvironmentProcess ( const DtEntityIdentifier id,
const DtEntityType type 
) const
protectedvirtual

Create a new reflected env process.

virtual DtReflectedObject* DtReflectedEnvironmentProcessList::newReflectedObj ( const DtStateMsg msg)
protectedvirtual

Create a new object from a state message.

Calls newReflectedEnvironmentProcess() to create a new env process

Implements DtReflectedObjectList.

virtual void DtReflectedEnvironmentProcessList::objectAdded ( DtReflectedObject obj)
protectedvirtual

Called after an env process is added and before addition callbacks are processed.

Calls environmentProcessAdded().

Reimplemented from DtReflectedObjectList.

DtReflectedEnvironmentProcessList& DtReflectedEnvironmentProcessList::operator= ( const DtReflectedEnvironmentProcessList orig)
protected

Assignment operator – not implemented.

virtual void DtReflectedEnvironmentProcessList::print ( )
virtual

Print the SRs of all objects.

virtual DtReflectedEnvironmentProcess* DtReflectedEnvironmentProcessList::processEnvironmentProcess ( const DtEnvironmentalProcessPdu pdu)
virtual

Process an incoming environment process pdu.

Then calls down to base class processStateMessage().

virtual DtReflectedObject* DtReflectedEnvironmentProcessList::processStateMessage ( const DtStateMsg msg)
protectedvirtual

Process an incoming state message. Calls processEnvironmentProcess().

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedEnvironmentProcessList::removeEnvironmentProcessAdditionCallback ( DtEnvironmentProcessCallbackFunction  cb,
void *  userData 
)
virtual
virtual void DtReflectedEnvironmentProcessList::removeEnvironmentProcessRemovalCallback ( DtEnvironmentProcessCallbackFunction  cb,
void *  userData 
)
virtual

Member Data Documentation

DtEntityIdentifierHashKey* DtReflectedEnvironmentProcessList::myHashKey
protected

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

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)