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 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: More...

Inheritance diagram for DtReflectedExtEntityList:
Inheritance graph
[legend]

Public Member Functions

 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. More...
 
 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. More...
 
 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. More...
 
virtual ~DtReflectedExtEntityList ()
 Destructor. More...
 
virtual void setPropertyPrototypes (const DtRwProperties &stateProps, const DtRwProperties &paramProps)
 Sets the prototypes for state and parameter properties. More...
 
virtual void setWaitForVrfExtendedData (bool)
 Sets whether or not to wait for VRF extended data in readyToAdd. More...
 
virtual bool waitForVrfExtendedData () const
 Whether to wait for VRF extended data in readyToAdd. More...
 
virtual DtReflectedExtEntitylookupEE (RTI::ObjectHandle id)
 Look up entity by handle. More...
 
virtual DtReflectedExtEntitylookupEE (const DtGlobalObjectDesignator &objName)
 Look up entity by name. More...
 
virtual DtReflectedExtEntityfirstEE () const
 Get the first entity in the list. More...
 
virtual DtReflectedExtEntitylastEE () const
 Get the last entity in the list. More...
 
virtual void addEntityAdditionCallback (DtExtEntityCallbackFunction cb, void *userData)
 Entity added callback registration. More...
 
virtual void removeEntityAdditionCallback (DtExtEntityCallbackFunction cb, void *userData)
 Entity added callback deregistration. More...
 
virtual void addEntityRemovalCallback (DtExtEntityCallbackFunction cb, void *userData)
 Entity removed callback registration. More...
 
virtual void removeEntityRemovalCallback (DtExtEntityCallbackFunction cb, void *userData)
 Entity removed callback deregistration. More...
 

Static Public Member Functions

static void setTimeoutRequestTime (DtTime t)
 Sets the time to timeout on VRF object data request. Default is 2 seconds. More...
 
static DtTime timeoutRequestTime ()
 
static void setInitializer (DtExtendedAttributesInitializerPtr init)
 Set the initializer used by all reflected lists of this type. More...
 
static
DtExtendedAttributesInitializerPtr 
initializer ()
 Returns the initializer used by all reflected lists of this type. More...
 

Protected Member Functions

void initializeExtendedProperties ()
 Determines whether or not extended properties available. Called from constructors. More...
 
void processVrfObjectStateUpdateMessage (DtDataInteraction *interaction)
 
void processVrfObjectDataMessage (DtDataInteraction *interaction)
 
virtual void processDataInteraction (DtDataInteraction *i)
 
virtual DtReflectedObjectnewReflectedObject (DtHlaObject *obj) const
 Create a new reflected entity. More...
 
virtual void addToObjectList (DtReflectedObject *refObj)
 
virtual void cleanupObjectDataMessageHashList ()
 Called from destructor. Cleans up myObjectDataMessageHashlist and removed all memory. More...
 
virtual bool readyToAdd (DtReflectedObject *obj)
 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. More...
 
virtual bool setupVrfObjectData (DtReflectedObject *object)
 Sets up extended state repository from cached VRF data (if exists). More...
 
virtual bool addObjectIfWaitingForVrfMessage (DtReflectedExtEntity *)
 Will start the process of adding an object to the reflected list if this object is waiting for a VRF message. More...
 
virtual void requestVrfObjectData (DtReflectedObject *object)
 This routine will request the VRF object data message to be sent for a VRF entity. More...
 
virtual bool timeOutVrfObjectDataRequest (DtReflectedObject *obj)
 Returns true if the time has been too long in receiving a VRF object data request. More...
 
virtual void removeAndDelete (DtReflectedObject *obj, char *msg=NULL)
 Override to remove objects from any waiting lists. More...
 
virtual void diguyExtensionsSetup ()
 Sets up the HLA decoders for DI-Guy extensions. More...
 
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 Process object addition/removal callbacks. More...
 
virtual void entityAdded (DtReflectedEntity *)
 When an entity is added initialize any extended properties (if supported and available) as well as add update callback for object. More...
 
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)
 When an entity is updated, we will update its state properties. More...
 
static void entityRemovedCallback (DtReflectedEntity *entity, void *userData)
 When an entity is removed we need to de-register our update callback. More...
 

Protected Attributes

DtHashlist myObjectDataMessageHashlist
 List to keep the VRF obj data messages that have been found but not associated with new entities yet. More...
 
DtHashList myObjectDataMessageRequestList
 List to keep track of requests for VRF object message data and the time they were sent. More...
 
DtHashList myWaitingForVrfObjectData
 Reflected objects that are waiting for VRF object updates. More...
 
bool myWaitForVrfExtendedData
 
DtRwProperties myStatePropertiesPrototype
 
DtRwProperties myParameterPropertiesPrototype
 

Static Protected Attributes

static DtTime theTimeoutRequestTime
 
static
DtExtendedAttributesInitializerPtr 
theInitializer
 

Private Member Functions

 DtReflectedExtEntityList (const DtReflectedExtEntityList &orig)
 Not implemented. More...
 
DtReflectedExtEntityListoperator= (const DtReflectedExtEntityList &rhs)
 Not implemented. More...
 

Detailed Description

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.

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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)