VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtReflectedExtEntityList Class Reference

class DtReflectedExtAggregateList:

Instances of DtReflectedExtAggregateList will manage the list of remote aggregates in the exercise and process any extended VRF data that may be published for these objects.

Inheritance diagram for DtReflectedExtEntityList:
Inheritance graph
[legend]

Public Member Functions

 DtReflectedExtEntityList (DtExerciseConn *exConn, const DtRwProperties &stateProps=DtRwProperties::emptyProperties(), const DtRwProperties &paramProps=DtRwProperties::emptyProperties())
 
 DtReflectedExtEntityList (DtExerciseConn *exConn, const DtDDMRegionSet *regionSetToUse, const DtRwProperties &stateProps=DtRwProperties::emptyProperties(), const DtRwProperties &paramProps=DtRwProperties::emptyProperties())
 
 DtReflectedExtEntityList (DtExerciseConn *exConn, const DtList *handleList, const DtDDMRegionSet *regionSetToUse=0, const DtRwProperties &stateProps=DtRwProperties::emptyProperties(), const DtRwProperties &paramProps=DtRwProperties::emptyProperties())
 
virtual ~DtReflectedExtEntityList ()
 
virtual void setPropertyPrototypes (const DtRwProperties &stateProps, const DtRwProperties &paramProps)
 
virtual void setWaitForVrfExtendedData (bool)
 
virtual bool waitForVrfExtendedData () const
 
virtual DtReflectedExtEntitylookupEE (RTI::ObjectHandle id)
 
virtual DtReflectedExtEntitylookupEE (const DtGlobalObjectDesignator &objName)
 
virtual DtReflectedExtEntityfirstEE () const
 
virtual DtReflectedExtEntitylastEE () const
 
virtual void addEntityAdditionCallback (DtExtEntityCallbackFunction cb, void *userData)
 
virtual void removeEntityAdditionCallback (DtExtEntityCallbackFunction cb, void *userData)
 
virtual void addEntityRemovalCallback (DtExtEntityCallbackFunction cb, void *userData)
 
virtual void removeEntityRemovalCallback (DtExtEntityCallbackFunction cb, void *userData)
 

Static Public Member Functions

static void setTimeoutRequestTime (DtTime t)
 
static DtTime timeoutRequestTime ()
 
static void setInitializer (DtExtendedAttributesInitializerPtr init)
 
static
DtExtendedAttributesInitializerPtr 
initializer ()
 

Protected Member Functions

void initializeExtendedProperties ()
 
void processVrfObjectStateUpdateMessage (DtDataInteraction *interaction)
 
void processVrfObjectDataMessage (DtDataInteraction *interaction)
 
virtual void processDataInteraction (DtDataInteraction *i)
 
virtual DtReflectedObjectnewReflectedObject (DtHlaObject *obj) const
 
virtual void addToObjectList (DtReflectedObject *refObj)
 
virtual void cleanupObjectDataMessageHashList ()
 
virtual bool readyToAdd (DtReflectedObject *obj)
 
virtual bool setupVrfObjectData (DtReflectedObject *object)
 
virtual bool addObjectIfWaitingForVrfMessage (DtReflectedExtEntity *)
 
virtual void requestVrfObjectData (DtReflectedObject *object)
 
virtual bool timeOutVrfObjectDataRequest (DtReflectedObject *obj)
 
virtual void removeAndDelete (DtReflectedObject *obj, char *msg=NULL)
 
virtual void diguyExtensionsSetup ()
 
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 
virtual void entityAdded (DtReflectedEntity *)
 
virtual void entityUpdated (DtReflectedEntity *)
 
virtual void entityRemoved (DtReflectedEntity *)
 

Static Protected Member Functions

static void dataInteractionCallback (DtDataInteraction *i, void *usr)
 
static void entityUpdatedCallback (DtReflectedEntity *entity, void *userData)
 
static void entityRemovedCallback (DtReflectedEntity *entity, void *userData)
 

Protected Attributes

DtHashlist myObjectDataMessageHashlist
 
DtHashList myObjectDataMessageRequestList
 
DtHashList myWaitingForVrfObjectData
 
bool myWaitForVrfExtendedData
 
DtRwProperties myStatePropertiesPrototype
 
DtRwProperties myParameterPropertiesPrototype
 

Static Protected Attributes

static DtTime theTimeoutRequestTime
 
static
DtExtendedAttributesInitializerPtr 
theInitializer
 

Private Member Functions

 DtReflectedExtEntityList (const DtReflectedExtEntityList &orig)
 
DtReflectedExtEntityListoperator= (const DtReflectedExtEntityList &rhs)
 

Constructor & Destructor Documentation

DtReflectedExtEntityList::DtReflectedExtEntityList ( DtExerciseConn *  exConn,
const DtRwProperties stateProps = DtRwProperties::emptyProperties(),
const DtRwProperties paramProps = DtRwProperties::emptyProperties() 
)

Constructor - obtains the set of object classes to subscribe to from the exConn's fomMapper. If state and parameter property prototypes are specified, calls setPropertyPrototypes. If not, properties will not be decoded until setPropertyPrototypes is called.

DtReflectedExtEntityList::DtReflectedExtEntityList ( DtExerciseConn *  exConn,
const DtDDMRegionSet *  regionSetToUse,
const DtRwProperties stateProps = DtRwProperties::emptyProperties(),
const DtRwProperties paramProps = DtRwProperties::emptyProperties() 
)

Constructor - obtains the set of object classes to subscribe to from the exConn's fomMapper. If state and parameter property prototypes are specified, calls setPropertyPrototypes. If not, properties will not be decoded until setPropertyPrototypes is called.

DtReflectedExtEntityList::DtReflectedExtEntityList ( DtExerciseConn *  exConn,
const DtList *  handleList,
const DtDDMRegionSet *  regionSetToUse = 0,
const DtRwProperties stateProps = DtRwProperties::emptyProperties(),
const DtRwProperties paramProps = DtRwProperties::emptyProperties() 
)

Constructor - only subscribe to the RTI::ObjectClassHandles in handleList. If state and parameter property prototypes are specified, calls setPropertyPrototypes. If not, properties will not be decoded until setPropertyPrototypes is called.

virtual DtReflectedExtEntityList::~DtReflectedExtEntityList ( )
virtual

Destructor.

DtReflectedExtEntityList::DtReflectedExtEntityList ( const DtReflectedExtEntityList orig)
private

Not implemented.

Member Function Documentation

virtual void DtReflectedExtEntityList::setPropertyPrototypes ( const DtRwProperties stateProps,
const DtRwProperties paramProps 
)
virtual

Sets the prototypes for state and parameter properties. Each reflected object will be initialized with this prototype and will therefore decode the included properties.

virtual void DtReflectedExtEntityList::setWaitForVrfExtendedData ( bool  )
virtual

Sets whether or not to wait for VRF extended data in readyToAdd. Default is true, although there is a timeout period for this waiting set by theTimeoutRequestTime.

virtual bool DtReflectedExtEntityList::waitForVrfExtendedData ( ) const
virtual

Whether to wait for VRF extended data in readyToAdd.

virtual DtReflectedExtEntity* DtReflectedExtEntityList::lookupEE ( RTI::ObjectHandle  id)
virtual

Look up entity by handle.

virtual DtReflectedExtEntity* DtReflectedExtEntityList::lookupEE ( const DtGlobalObjectDesignator &  objName)
virtual

Look up entity by name.

virtual DtReflectedExtEntity* DtReflectedExtEntityList::firstEE ( ) const
virtual

Get the first entity in the list.

virtual DtReflectedExtEntity* DtReflectedExtEntityList::lastEE ( ) const
virtual

Get the last entity in the list.

virtual void DtReflectedExtEntityList::addEntityAdditionCallback ( DtExtEntityCallbackFunction  cb,
void *  userData 
)
virtual

Entity added callback registration.

virtual void DtReflectedExtEntityList::removeEntityAdditionCallback ( DtExtEntityCallbackFunction  cb,
void *  userData 
)
virtual

Entity added callback deregistration.

virtual void DtReflectedExtEntityList::addEntityRemovalCallback ( DtExtEntityCallbackFunction  cb,
void *  userData 
)
virtual

Entity removed callback registration.

virtual void DtReflectedExtEntityList::removeEntityRemovalCallback ( DtExtEntityCallbackFunction  cb,
void *  userData 
)
virtual

Entity removed callback deregistration.

static void DtReflectedExtEntityList::setTimeoutRequestTime ( DtTime  t)
static

Sets the time to timeout on VRF object data request. Default is 2 seconds.

static DtTime DtReflectedExtEntityList::timeoutRequestTime ( )
static
static void DtReflectedExtEntityList::setInitializer ( DtExtendedAttributesInitializerPtr  init)
static

Set the initializer used by all reflected lists of this type.

static DtExtendedAttributesInitializerPtr DtReflectedExtEntityList::initializer ( )
static

Returns the initializer used by all reflected lists of this type.

void DtReflectedExtEntityList::initializeExtendedProperties ( )
protected

Determines whether or not extended properties available. Called from constructors.

void DtReflectedExtEntityList::processVrfObjectStateUpdateMessage ( DtDataInteraction *  interaction)
protected
void DtReflectedExtEntityList::processVrfObjectDataMessage ( DtDataInteraction *  interaction)
protected
static void DtReflectedExtEntityList::dataInteractionCallback ( DtDataInteraction *  i,
void *  usr 
)
staticprotected
virtual void DtReflectedExtEntityList::processDataInteraction ( DtDataInteraction *  i)
protectedvirtual
virtual DtReflectedObject* DtReflectedExtEntityList::newReflectedObject ( DtHlaObject *  obj) const
protectedvirtual

Create a new reflected entity.

Reimplemented in makVrf::VRF_PROTOCOL_NAMESPACE::DtVrfVrvExtReflectedEntityList.

virtual void DtReflectedExtEntityList::addToObjectList ( DtReflectedObject refObj)
protectedvirtual
virtual void DtReflectedExtEntityList::cleanupObjectDataMessageHashList ( )
protectedvirtual

Called from destructor. Cleans up myObjectDataMessageHashlist and removed all memory.

virtual bool DtReflectedExtEntityList::readyToAdd ( DtReflectedObject obj)
protectedvirtual

Overridden to see if: a) This object is a VRF object b) This object has VRF object data associated with it, via extended attributes or object data message. If a) is true and b) is false, then, the object will not be added to the reflected list. Instead, a request will be sent out for the VRF object data associated with the object. Once it is received, the object will be added to the reflected list.

virtual bool DtReflectedExtEntityList::setupVrfObjectData ( DtReflectedObject object)
protectedvirtual

Sets up extended state repository from cached VRF data (if exists). If this method returns true, the object was either not an extended object or it had the data correctly set.

virtual bool DtReflectedExtEntityList::addObjectIfWaitingForVrfMessage ( DtReflectedExtEntity )
protectedvirtual

Will start the process of adding an object to the reflected list if this object is waiting for a VRF message. Returns true if this object is and was added to the list.

virtual void DtReflectedExtEntityList::requestVrfObjectData ( DtReflectedObject object)
protectedvirtual

This routine will request the VRF object data message to be sent for a VRF entity. This request will be handled by the entity publisher.

virtual bool DtReflectedExtEntityList::timeOutVrfObjectDataRequest ( DtReflectedObject obj)
protectedvirtual

Returns true if the time has been too long in receiving a VRF object data request. If this method returns true, will add the entity to the list regardless.

virtual void DtReflectedExtEntityList::removeAndDelete ( DtReflectedObject obj,
char msg = NULL 
)
protectedvirtual
virtual void DtReflectedExtEntityList::diguyExtensionsSetup ( )
protectedvirtual

Sets up the HLA decoders for DI-Guy extensions.

virtual void DtReflectedExtEntityList::processObjectAdditionCallbacks ( DtReflectedObject object)
protectedvirtual

Process object addition/removal callbacks.

virtual void DtReflectedExtEntityList::entityAdded ( DtReflectedEntity )
protectedvirtual

When an entity is added initialize any extended properties (if supported and available) as well as add update callback for object.

Reimplemented in DtReflectedVrfExtEntityList.

static void DtReflectedExtEntityList::entityUpdatedCallback ( DtReflectedEntity entity,
void *  userData 
)
staticprotected

When an entity is updated, we will update its state properties.

virtual void DtReflectedExtEntityList::entityUpdated ( DtReflectedEntity )
protectedvirtual

Reimplemented in DtReflectedVrfExtEntityList.

static void DtReflectedExtEntityList::entityRemovedCallback ( DtReflectedEntity entity,
void *  userData 
)
staticprotected

When an entity is removed we need to de-register our update callback.

virtual void DtReflectedExtEntityList::entityRemoved ( DtReflectedEntity )
protectedvirtual

Reimplemented in DtReflectedVrfExtEntityList.

DtReflectedExtEntityList& DtReflectedExtEntityList::operator= ( const DtReflectedExtEntityList rhs)
private

Not implemented.

Member Data Documentation

DtHashlist DtReflectedExtEntityList::myObjectDataMessageHashlist
protected

List to keep the VRF obj data messages that have been found but not associated with new entities yet.

DtHashList DtReflectedExtEntityList::myObjectDataMessageRequestList
protected

List to keep track of requests for VRF object message data and the time they were sent.

DtHashList DtReflectedExtEntityList::myWaitingForVrfObjectData
protected

Reflected objects that are waiting for VRF object updates.

DtTime DtReflectedExtEntityList::theTimeoutRequestTime
staticprotected
bool DtReflectedExtEntityList::myWaitForVrfExtendedData
protected
DtRwProperties DtReflectedExtEntityList::myStatePropertiesPrototype
protected
DtRwProperties DtReflectedExtEntityList::myParameterPropertiesPrototype
protected
DtExtendedAttributesInitializerPtr DtReflectedExtEntityList::theInitializer
staticprotected

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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)