VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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
DtReflectedObjectList Class Referenceabstract

class DtReflectedObjectList More...

+ Inheritance diagram for DtReflectedObjectList:
+ Collaboration diagram for DtReflectedObjectList:

Public Member Functions

 DtReflectedObjectList (DtExerciseConn *exConn, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag=DtString(""))
 Constructor. More...
 
virtual ~DtReflectedObjectList ()
 destructor More...
 
virtual DtReflectedObjectlookupObj (RTI::ObjectHandle id)
 Look up object by identifier. More...
 
virtual DtReflectedObjectlookupObj (const DtGlobalObjectDesignator &objName)
 Look up object by global ID (which is the object name in RTI1.3.3). More...
 
virtual int count () const
 Get number of objects. More...
 
virtual DtExerciseConnexerciseConn () const
 Get my exerciseConn. More...
 
virtual void manageObjectClass (RTI::ObjectClassHandle handle)
 Register callbacks with exercise connection so that we get notified when an object of this class is discovered. More...
 
virtual bool removeObject (const DtObjectId &id)
 Have the application act as though we had never discovered the object. More...
 
virtual void addObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object added callback registration/deregistration. More...
 
virtual void removeObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual void addObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object removed callback registration/deregistration. More...
 
virtual void removeObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual void print ()
 Print the SRs of all objects. More...
 
virtual void printWaitList ()
 Print the SRs of all waiting objects (most likely will have mostly bad data). More...
 
virtual void setTimeoutProcessing (bool onOff)
 Set whether or not timeout processing occurs. More...
 
virtual bool isTimeoutProcessing () const
 Get whether or not timeout processing occurs. More...
 
virtual bool requestsEnabled () const
 Get whether or not to process requests for reflected objects that were just discovered or are waiting for updates (to meet discovery criteria). More...
 
virtual int numberObjectsWaiting () const
 Return the number of objects in the wait list. More...
 
virtual DtTime nextRequestTime () const
 Return the time when the next request will be made for entries in the wait refresh list. More...
 
virtual void setDiscoveryCondition (DtDiscoveryCondition fn, void *usr)
 Set the checker function which will determine when an object gets discovered and put into the reflected list. More...
 
virtual void clearDiscoveryCondition ()
 Unregisters the checker function set in setDiscoverCondition. More...
 
virtual const DtDDMRegionSetsubscribedRegions ()
 Returns list of regions subscribed to. More...
 
virtual DtReflectedObjectfirstObj () const
 Get the first/last object in the list. More...
 
virtual DtReflectedObjectlastObj () const
 Get the first/last object in the list. More...
 
virtual void setTimeoutInterval (DtTime time)
 Set/Get the remote object timeout period. More...
 
virtual DtTime timeoutInterval () const
 Set/Get the remote object timeout period. More...
 
virtual void setWaitListRefreshEnabled (bool on)
 Set whether or not we will resend request updates for objects which remain on wait list because they have not met discovery criteria. More...
 
virtual bool waitListRefreshEnabled () const
 Set whether or not we will resend request updates for objects which remain on wait list because they have not met discovery criteria. More...
 
virtual void setWaitListRefreshPeriod (DtTime period)
 Set/Get the wait list refresh period. More...
 
virtual DtTime waitListRefreshPeriod () const
 Set/Get the wait list refresh period. More...
 
virtual DtReflectedObjectfirstWaitingObj () const
 Get the first/last object in the wait list. More...
 
virtual DtReflectedObjectlastWaitingObj () const
 Get the first/last object in the wait list. More...
 

Static Public Member Functions

static bool requestUpdateFlags ()
 Get flag that indicates if any requests are enabled (class, object, or initialized) More...
 
static void findDiscoveredObjectsCb (void *usr)
 Post-drain callback that calls findAlreadyDiscovedObjects(). More...
 
static void setAutoSubscribeFlag (bool flag)
 Set/Get flag which determines whether to subscribe to object classes that this list manages. More...
 
static bool autoSubscribeFlag ()
 Set/Get flag which determines whether to subscribe to object classes that this list manages. More...
 
static void setRequestClassUpdateFlag (bool onOff)
 Set/Get flag that determines whether we request updates from all objects of the object classes we subscribe to. More...
 
static bool requestClassUpdateFlag ()
 Set/Get flag that determines whether we request updates from all objects of the object classes we subscribe to. More...
 
static void setRequestObjectUpdateFlag (bool onOff)
 Set/Get flag that determines whether we request updates from an object as we discover it. More...
 
static bool requestObjectUpdateFlag ()
 Set/Get flag that determines whether we request updates from an object as we discover it. More...
 
static void setRequestWhenInitializedFlag (bool onOff)
 Set/Get flag that determines whether we request updates for wait listed objects only when all known VRLStateObject instances are initialized. More...
 
static bool requestWhenInitializedFlag ()
 Set/Get flag that determines whether we request updates for wait listed objects only when all known VRLStateObject instances are initialized. More...
 
static void setDefaultWaitListRefreshFlag (bool onOff)
 Set/Get the default wait list enabled flag value. More...
 
static bool defaultWaitListRefreshFlag ()
 Set/Get the default wait list enabled flag value. More...
 
static void setDefaultWaitListRefreshPeriod (DtTime period)
 Set/Get the default wait list refresh period. More...
 
static DtTime defaultWaitListRefreshPeriod ()
 Set/Get the default wait list refresh period. More...
 

Protected Member Functions

virtual void processDiscoverObject (DtHlaObject *obj)
 Process the discovery of a remote object on the network. More...
 
virtual void processRemoveObject (DtHlaObject *obj)
 Process the removal of a remote object from the network. More...
 
virtual void processTimedOutObjectReflect (const DtStateMsg &msg, DtHlaObject *obj)
 Handle the receipt of attributes for a remote object which was timed out. More...
 
virtual void doTimeouts ()
 Remove any remote objects which have not been updated during the timeout period. More...
 
virtual void doRequestUpdates ()
 Request an update for discovered objects. More...
 
virtual DtReflectedObjectnewReflectedObject (DtHlaObject *obj) const =0
 Create a remote object object for the HLA object. More...
 
virtual void removeAndDelete (DtReflectedObject *obj, char *msg=nullptr)
 Remove the remote object from the list if found and delete it. More...
 
virtual void objectAdded (DtReflectedObject *object)
 Called from processDiscoverObject() after a remote object has been added to the list. More...
 
virtual bool shouldBeTimedOut (DtReflectedObject *object)
 Returns whether or not the object should be timed out. More...
 
virtual void timeOutObject (DtReflectedObject *object)
 Times out object by removing it from the remote object list and deleting it. More...
 
virtual void unTimeOutObject (DtHlaObject *obj)
 Manages callbacks and data used for reinstating a remote object which was timed out. More...
 
virtual void addObjectClass (RTI::ObjectClassHandle handle)
 Register interest in this FOM object class. More...
 
virtual void addObjectClassByName (const char *className)
 Register interest in this FOM object class by className. More...
 
virtual void init (const DtList *handleList)
 Register interest in a whole list of RTI::ObjectClassHandles all at once. More...
 
void emptyLists ()
 Empty the object list and the timeout list. More...
 
void emptyCallbackLists ()
 Empty the callback lists. More...
 
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 Process object addition/removal callbacks. More...
 
virtual void processObjectRemovalCallbacks (DtReflectedObject *object)
 
virtual void findAlreadyDiscoveredObjects ()
 When list is created, we call this function to go through the list of all discovered HLA objects to see if any should be managed by this list. More...
 
virtual void checkDiscoveryCondition (DtReflectedObject *refObj)
 
virtual bool readyToAdd (DtReflectedObject *obj)
 Returns true if the obj is ready to be added to myObjectList; calls myWaitListChecker from within. More...
 
virtual void addToObjectList (DtReflectedObject *refObj)
 Add refObj to myObjectList and initiates discovery callbacks. More...
 
virtual void addToWaitList (DtReflectedObject *refObj)
 Add refObj to wait list. More...
 
virtual void removeFromWaitList (DtReflectedObject *refObj)
 Remove refObj from wait list. More...
 
virtual void addToRefreshList (DtReflectedObject *refObj, DtTime timeToRefresh)
 Add refObj to refresh list. More...
 
virtual DtReflectedObjectlookupObjInWaitList (RTI::ObjectHandle id)
 Find object in waitList by identifier. More...
 
virtual DtReflectedObjectlookupObjInWaitList (const DtGlobalObjectDesignator &name)
 Find object in waitList by name. More...
 
void unsubscribeRegions ()
 

Static Protected Member Functions

static void discoverObjectCb (DtHlaObject *hlaObj, void *rel)
 Cast the void* to a DtReflectedObjectList* and calls processDiscoverObject(). More...
 
static void removeObjectCb (DtHlaObject *hlaObj, void *rel)
 Cast the void* to a DtReflectedObjectList* and calls processRemoveObject(). More...
 
static void timedOutObjectReflectCb (const DtStateMsg &msg, DtHlaObject *obj, void *usr)
 Cast the void* to a DtReflectedObjectList* and calls processTimedOutObjectReflect(). More...
 
static void doTimeoutsPostDrainCb (void *usr)
 Calls doTimeouts. More...
 
static void doRequestUpdatesPostDrainCb (void *usr)
 Calls doRequestUpdates. More...
 
static void postUpdateCb (DtReflectedObject *obj, void *usr)
 Calls checkDiscoveryCondition. More...
 

Protected Attributes

DtExerciseConnmyExConn
 
DtRefHlaObjectMap myObjectList
 
DtHashList myObjectListByName
 
DtRefHlaObjectMap myWaitList
 
DtRefHlaObjectMap myDiscoveryList
 
DtRefHlaObjectTimeMap myRefreshList
 
bool myWaitListRefreshEnabled
 
DtTime myNextRequestTime
 
DtTime myWaitListRefreshPeriod
 
DtList myTimedOutObjectList
 
DtTime myTimeoutInterval
 
bool myTimeoutProcessingFlag
 
std::vector
< RTI::ObjectClassHandle > 
myHandleList
 
DtIntrusiveList myObjectAddedCallbacks
 
DtIntrusiveList myObjectRemovedCallbacks
 
DtDiscoveryCondition myDiscoveryCondition
 
void * myDiscoveryConditionParameter
 
DtDDMRegionSet mySubscribedRegions
 
DtString myUpdateRateTag
 

Static Protected Attributes

static bool theAutoSubscribeFlag
 
static bool theRequestClassUpdateFlag
 
static bool theRequestObjectUpdateFlag
 
static bool theRequestWhenInitializedFlag
 
static bool theRequestUpdateFlags
 
static bool theDefaultWaitListRefreshFlag
 
static DtTime theDefaultWaitListRefreshPeriod
 

Private Member Functions

 DtReflectedObjectList (const DtReflectedObjectList &orig)
 copy constructor – not implemented More...
 
DtReflectedObjectListoperator= (const DtReflectedObjectList &orig)
 assignment operator – not implemented More...
 

Detailed Description

class DtReflectedObjectList

Instances of DtReflectedObjectList are list of instances of classes derived from DtReflectedObject. A DtReflectedObjectList manages the comings and goings of its reflected objects based on discoveries and removes received from the RTI.

Constructor & Destructor Documentation

DtReflectedObjectList::DtReflectedObjectList ( DtExerciseConn exConn,
const DtDDMRegionSet regionSetToUse = 0,
const DtString updateRateTag = DtString("") 
)

Constructor.

virtual DtReflectedObjectList::~DtReflectedObjectList ( )
virtual

destructor

DtReflectedObjectList::DtReflectedObjectList ( const DtReflectedObjectList orig)
private

copy constructor – not implemented

Member Function Documentation

virtual void DtReflectedObjectList::addObjectAdditionCallback ( DtReflectedObjectCallbackFunction  cb,
void *  userData 
)
virtual

Object added callback registration/deregistration.

virtual void DtReflectedObjectList::addObjectClass ( RTI::ObjectClassHandle  handle)
protectedvirtual

Register interest in this FOM object class.

Typically called by derived class constructor.

virtual void DtReflectedObjectList::addObjectClassByName ( const char *  className)
protectedvirtual

Register interest in this FOM object class by className.

Typically called by derived class constructor.

virtual void DtReflectedObjectList::addObjectRemovalCallback ( DtReflectedObjectCallbackFunction  cb,
void *  userData 
)
virtual

Object removed callback registration/deregistration.

virtual void DtReflectedObjectList::addToObjectList ( DtReflectedObject refObj)
protectedvirtual

Add refObj to myObjectList and initiates discovery callbacks.

Reimplemented in DtReflectedEntityList.

virtual void DtReflectedObjectList::addToRefreshList ( DtReflectedObject refObj,
DtTime  timeToRefresh 
)
protectedvirtual

Add refObj to refresh list.

virtual void DtReflectedObjectList::addToWaitList ( DtReflectedObject refObj)
protectedvirtual

Add refObj to wait list.

static bool DtReflectedObjectList::autoSubscribeFlag ( )
static

Set/Get flag which determines whether to subscribe to object classes that this list manages.

Defaults to true, but should be set to false if you will be managing subscriptions manually, e.g. if using DDM.

virtual void DtReflectedObjectList::checkDiscoveryCondition ( DtReflectedObject refObj)
protectedvirtual
virtual void DtReflectedObjectList::clearDiscoveryCondition ( )
virtual

Unregisters the checker function set in setDiscoverCondition.

If there is none set, this has no effect.

Reimplemented in DtReflectedUnderwaterAcousticsList, DtReflectedEmitterSystemList, and DtReflectedActiveSonarList.

virtual int DtReflectedObjectList::count ( ) const
virtual

Get number of objects.

bool DtReflectedObjectList::defaultWaitListRefreshFlag ( )
inlinestatic

Set/Get the default wait list enabled flag value.

References theDefaultWaitListRefreshFlag.

DtTime DtReflectedObjectList::defaultWaitListRefreshPeriod ( )
inlinestatic

Set/Get the default wait list refresh period.

References theDefaultWaitListRefreshPeriod.

static void DtReflectedObjectList::discoverObjectCb ( DtHlaObject hlaObj,
void *  rel 
)
staticprotected

Cast the void* to a DtReflectedObjectList* and calls processDiscoverObject().

virtual void DtReflectedObjectList::doRequestUpdates ( )
protectedvirtual

Request an update for discovered objects.

static void DtReflectedObjectList::doRequestUpdatesPostDrainCb ( void *  usr)
staticprotected

Calls doRequestUpdates.

virtual void DtReflectedObjectList::doTimeouts ( )
protectedvirtual

Remove any remote objects which have not been updated during the timeout period.

Gets called automatically by a postDrainCallback registered by the constructor. Users should not need to call this.

static void DtReflectedObjectList::doTimeoutsPostDrainCb ( void *  usr)
staticprotected

Calls doTimeouts.

void DtReflectedObjectList::emptyCallbackLists ( )
protected

Empty the callback lists.

Non-virtual since it's meant to be called from the destructor

void DtReflectedObjectList::emptyLists ( )
protected

Empty the object list and the timeout list.

Non-virtual since meant to be called from destructor.

DtExerciseConn * DtReflectedObjectList::exerciseConn ( ) const
inlinevirtual

Get my exerciseConn.

References myExConn.

virtual void DtReflectedObjectList::findAlreadyDiscoveredObjects ( )
protectedvirtual

When list is created, we call this function to go through the list of all discovered HLA objects to see if any should be managed by this list.

Otherwise, this list only hears about objects that are discovered by the app after the creation of this list.

static void DtReflectedObjectList::findDiscoveredObjectsCb ( void *  usr)
static

Post-drain callback that calls findAlreadyDiscovedObjects().

DtReflectedObject * DtReflectedObjectList::firstObj ( ) const
inlinevirtual

Get the first/last object in the list.

References myObjectList.

DtReflectedObject * DtReflectedObjectList::firstWaitingObj ( ) const
inlinevirtual

Get the first/last object in the wait list.

References myWaitList.

virtual void DtReflectedObjectList::init ( const DtList handleList)
protectedvirtual

Register interest in a whole list of RTI::ObjectClassHandles all at once.

Uses addObjectClass above.

bool DtReflectedObjectList::isTimeoutProcessing ( ) const
inlinevirtual

Get whether or not timeout processing occurs.

References myTimeoutProcessingFlag.

DtReflectedObject * DtReflectedObjectList::lastObj ( ) const
inlinevirtual

Get the first/last object in the list.

References myObjectList.

DtReflectedObject * DtReflectedObjectList::lastWaitingObj ( ) const
inlinevirtual

Get the first/last object in the wait list.

References myWaitList.

virtual DtReflectedObject* DtReflectedObjectList::lookupObj ( RTI::ObjectHandle  id)
virtual

Look up object by identifier.

virtual DtReflectedObject* DtReflectedObjectList::lookupObj ( const DtGlobalObjectDesignator objName)
virtual

Look up object by global ID (which is the object name in RTI1.3.3).

virtual DtReflectedObject* DtReflectedObjectList::lookupObjInWaitList ( RTI::ObjectHandle  id)
protectedvirtual

Find object in waitList by identifier.

virtual DtReflectedObject* DtReflectedObjectList::lookupObjInWaitList ( const DtGlobalObjectDesignator name)
protectedvirtual

Find object in waitList by name.

virtual void DtReflectedObjectList::manageObjectClass ( RTI::ObjectClassHandle  handle)
virtual

Register callbacks with exercise connection so that we get notified when an object of this class is discovered.

Automatically called for all object classes passed to the constructor, or for the default set of objects classes if the ctor without a handleList is used. But if you want to handle your own subscription and update requests, pass an empty handleSet to the constructor, use DtObjectClassDesc's registerInterest and requestUpdates, then use this function to tell the ROL to manage the objects that get discovered.

virtual DtReflectedObject* DtReflectedObjectList::newReflectedObject ( DtHlaObject obj) const
protectedpure virtual

Create a remote object object for the HLA object.

Caller is responsible for deletion.

Implemented in DtReflectedTCASDataList, DtReflectedSovietTransponderList, DtReflectedSovietInterrogatorList, DtReflectedSovietList, DtReflectedModeSTransponderList, DtReflectedModeSInterrogatorList, DtReflectedModeSList, DtReflectedModeCTransponderList, DtReflectedModeCInterrogatorList, DtReflectedModeCList, DtReflectedMode5TransponderList, DtReflectedMode5InterrogatorList, DtReflectedMode5List, DtReflectedMode4TransponderList, DtReflectedMode4InterrogatorList, DtReflectedMode4List, DtReflectedMode3ATransponderList, DtReflectedMode3AInterrogatorList, DtReflectedMode3AList, DtReflectedMode2TransponderList, DtReflectedMode2InterrogatorList, DtReflectedMode2List, DtReflectedMode1TransponderList, DtReflectedMode1InterrogatorList, DtReflectedMode1List, DtReflectedUnderwaterAcousticsList, DtReflectedIFFDataList, DtReflectedEntityList, DtReflectedEmitterSystemList, DtReflectedActiveSonarList, DtReflectedIffList, DtReflectedGenericObjectList, DtReflectedEnvironmentProcessList, DtReflectedDIGuyObjectList, DtReflectedRadioReceiverList, DtReflectedRadioTransmitterList, DtReflectedAggregateList, DtReflectedGriddedDataList, DtReflectedActiveSonarBeamList, DtReflectedLinearObjectList, DtReflectedAdditionalPassiveActivitiesList, DtReflectedPointObjectList, DtReflectedPropulsionNoiseList, DtReflectedArealObjectList, DtReflectedDesignatorList, DtReflectedVRLinkStateList, DtReflectedFederateList, DtReflectedEmitterBeamList, and ReflectedTestList.

virtual DtTime DtReflectedObjectList::nextRequestTime ( ) const
virtual

Return the time when the next request will be made for entries in the wait refresh list.

int DtReflectedObjectList::numberObjectsWaiting ( ) const
inlinevirtual

Return the number of objects in the wait list.

References myWaitList.

virtual void DtReflectedObjectList::objectAdded ( DtReflectedObject object)
protectedvirtual

Called from processDiscoverObject() after a remote object has been added to the list.

Defaults to do nothing. Subclasses can override this function to add functionality on addition.

Reimplemented in DtReflectedTCASDataList, DtReflectedSovietTransponderList, DtReflectedSovietInterrogatorList, DtReflectedSovietList, DtReflectedModeSTransponderList, DtReflectedModeSInterrogatorList, DtReflectedModeSList, DtReflectedModeCTransponderList, DtReflectedModeCInterrogatorList, DtReflectedModeCList, DtReflectedMode5TransponderList, DtReflectedMode5InterrogatorList, DtReflectedMode5List, DtReflectedMode4TransponderList, DtReflectedMode4InterrogatorList, DtReflectedMode4List, DtReflectedMode3ATransponderList, DtReflectedMode3AInterrogatorList, DtReflectedMode3AList, DtReflectedMode2TransponderList, DtReflectedMode2InterrogatorList, DtReflectedMode2List, DtReflectedMode1TransponderList, DtReflectedMode1InterrogatorList, DtReflectedMode1List, DtReflectedUnderwaterAcousticsList, DtReflectedIFFDataList, DtReflectedEntityList, DtReflectedEmitterSystemList, DtReflectedActiveSonarList, DtReflectedAggregateList, DtReflectedEnvironmentProcessList, DtReflectedRadioReceiverList, DtReflectedRadioTransmitterList, DtReflectedDIGuyObjectList, DtReflectedIffList, DtReflectedActiveSonarBeamList, DtReflectedGriddedDataList, DtReflectedLinearObjectList, DtReflectedAdditionalPassiveActivitiesList, DtReflectedPointObjectList, DtReflectedPropulsionNoiseList, DtReflectedArealObjectList, DtReflectedDesignatorList, DtReflectedVRLinkStateList, DtReflectedFederateList, and DtReflectedEmitterBeamList.

DtReflectedObjectList& DtReflectedObjectList::operator= ( const DtReflectedObjectList orig)
private

assignment operator – not implemented

static void DtReflectedObjectList::postUpdateCb ( DtReflectedObject obj,
void *  usr 
)
staticprotected

Calls checkDiscoveryCondition.

virtual void DtReflectedObjectList::print ( )
virtual

Print the SRs of all objects.

virtual void DtReflectedObjectList::printWaitList ( )
virtual

Print the SRs of all waiting objects (most likely will have mostly bad data).

virtual void DtReflectedObjectList::processDiscoverObject ( DtHlaObject obj)
protectedvirtual

Process the discovery of a remote object on the network.

Adds the remote object to this list.

Reimplemented in DtReflectedEmitterSystemList, and DtReflectedActiveSonarList.

virtual void DtReflectedObjectList::processObjectAdditionCallbacks ( DtReflectedObject object)
protectedvirtual

Process object addition/removal callbacks.

virtual void DtReflectedObjectList::processObjectRemovalCallbacks ( DtReflectedObject object)
protectedvirtual
virtual void DtReflectedObjectList::processRemoveObject ( DtHlaObject obj)
protectedvirtual

Process the removal of a remote object from the network.

Removes the remote object from this list.

Reimplemented in DtReflectedEmitterSystemList, and DtReflectedActiveSonarList.

virtual void DtReflectedObjectList::processTimedOutObjectReflect ( const DtStateMsg msg,
DtHlaObject obj 
)
protectedvirtual

Handle the receipt of attributes for a remote object which was timed out.

Reinstates the remote object in this list.

virtual bool DtReflectedObjectList::readyToAdd ( DtReflectedObject obj)
protectedvirtual

Returns true if the obj is ready to be added to myObjectList; calls myWaitListChecker from within.

virtual void DtReflectedObjectList::removeAndDelete ( DtReflectedObject obj,
char *  msg = nullptr 
)
protectedvirtual

Remove the remote object from the list if found and delete it.

Prints a message on deletion if specified.

Reimplemented in DtReflectedEntityList, DtReflectedIffList, and DtReflectedAggregateList.

virtual void DtReflectedObjectList::removeFromWaitList ( DtReflectedObject refObj)
protectedvirtual

Remove refObj from wait list.

virtual bool DtReflectedObjectList::removeObject ( const DtObjectId id)
virtual

Have the application act as though we had never discovered the object.

We call the RTI's localDelete service, and delete the DtHlaObject, which causes any DtReflectedObjects associated with id (in this list and in any others) to be removed. The object will be re-discovered (perhaps immediately), unless your subscriptions have changed so that the object is no longer relevant. Returns true if successful, false otherwise. Will be unsuccessful if you own attributes of the object in question.

virtual void DtReflectedObjectList::removeObjectAdditionCallback ( DtReflectedObjectCallbackFunction  cb,
void *  userData 
)
virtual
static void DtReflectedObjectList::removeObjectCb ( DtHlaObject hlaObj,
void *  rel 
)
staticprotected

Cast the void* to a DtReflectedObjectList* and calls processRemoveObject().

virtual void DtReflectedObjectList::removeObjectRemovalCallback ( DtReflectedObjectCallbackFunction  cb,
void *  userData 
)
virtual
bool DtReflectedObjectList::requestClassUpdateFlag ( )
inlinestatic

Set/Get flag that determines whether we request updates from all objects of the object classes we subscribe to.

Default is true.

References theRequestClassUpdateFlag.

bool DtReflectedObjectList::requestObjectUpdateFlag ( )
inlinestatic

Set/Get flag that determines whether we request updates from an object as we discover it.

Default is true.

References theRequestObjectUpdateFlag.

virtual bool DtReflectedObjectList::requestsEnabled ( ) const
virtual

Get whether or not to process requests for reflected objects that were just discovered or are waiting for updates (to meet discovery criteria).

Reimplemented in DtReflectedVRLinkStateList.

bool DtReflectedObjectList::requestUpdateFlags ( )
inlinestatic

Get flag that indicates if any requests are enabled (class, object, or initialized)

References theRequestUpdateFlags.

bool DtReflectedObjectList::requestWhenInitializedFlag ( )
inlinestatic

Set/Get flag that determines whether we request updates for wait listed objects only when all known VRLStateObject instances are initialized.

Default is true.

References theRequestWhenInitializedFlag.

static void DtReflectedObjectList::setAutoSubscribeFlag ( bool  flag)
static

Set/Get flag which determines whether to subscribe to object classes that this list manages.

Defaults to true, but should be set to false if you will be managing subscriptions manually, e.g. if using DDM.

static void DtReflectedObjectList::setDefaultWaitListRefreshFlag ( bool  onOff)
static

Set/Get the default wait list enabled flag value.

static void DtReflectedObjectList::setDefaultWaitListRefreshPeriod ( DtTime  period)
static

Set/Get the default wait list refresh period.

virtual void DtReflectedObjectList::setDiscoveryCondition ( DtDiscoveryCondition  fn,
void *  usr 
)
virtual

Set the checker function which will determine when an object gets discovered and put into the reflected list.

Reimplemented in DtReflectedUnderwaterAcousticsList, DtReflectedEmitterSystemList, and DtReflectedActiveSonarList.

static void DtReflectedObjectList::setRequestClassUpdateFlag ( bool  onOff)
static

Set/Get flag that determines whether we request updates from all objects of the object classes we subscribe to.

Default is true.

static void DtReflectedObjectList::setRequestObjectUpdateFlag ( bool  onOff)
static

Set/Get flag that determines whether we request updates from an object as we discover it.

Default is true.

static void DtReflectedObjectList::setRequestWhenInitializedFlag ( bool  onOff)
static

Set/Get flag that determines whether we request updates for wait listed objects only when all known VRLStateObject instances are initialized.

Default is true.

virtual void DtReflectedObjectList::setTimeoutInterval ( DtTime  time)
virtual

Set/Get the remote object timeout period.

virtual void DtReflectedObjectList::setTimeoutProcessing ( bool  onOff)
virtual

Set whether or not timeout processing occurs.

Defaults to off.

virtual void DtReflectedObjectList::setWaitListRefreshEnabled ( bool  on)
virtual

Set whether or not we will resend request updates for objects which remain on wait list because they have not met discovery criteria.

virtual void DtReflectedObjectList::setWaitListRefreshPeriod ( DtTime  period)
virtual

Set/Get the wait list refresh period.

virtual bool DtReflectedObjectList::shouldBeTimedOut ( DtReflectedObject object)
protectedvirtual

Returns whether or not the object should be timed out.

Assumes that timeout processing is enabled.

Reimplemented in DtReflectedUnderwaterAcousticsList, DtReflectedEmitterSystemList, and DtReflectedActiveSonarList.

virtual const DtDDMRegionSet& DtReflectedObjectList::subscribedRegions ( )
virtual

Returns list of regions subscribed to.

static void DtReflectedObjectList::timedOutObjectReflectCb ( const DtStateMsg msg,
DtHlaObject obj,
void *  usr 
)
staticprotected

Cast the void* to a DtReflectedObjectList* and calls processTimedOutObjectReflect().

DtTime DtReflectedObjectList::timeoutInterval ( ) const
inlinevirtual

Set/Get the remote object timeout period.

References myTimeoutInterval.

virtual void DtReflectedObjectList::timeOutObject ( DtReflectedObject object)
protectedvirtual

Times out object by removing it from the remote object list and deleting it.

Manages callbacks to reinstate remote object upon receiving attribute updates for the timed out object.

void DtReflectedObjectList::unsubscribeRegions ( )
protected
virtual void DtReflectedObjectList::unTimeOutObject ( DtHlaObject obj)
protectedvirtual

Manages callbacks and data used for reinstating a remote object which was timed out.

bool DtReflectedObjectList::waitListRefreshEnabled ( ) const
inlinevirtual

Set whether or not we will resend request updates for objects which remain on wait list because they have not met discovery criteria.

References myWaitListRefreshEnabled.

DtTime DtReflectedObjectList::waitListRefreshPeriod ( ) const
inlinevirtual

Set/Get the wait list refresh period.

References myWaitListRefreshPeriod.

Member Data Documentation

DtDiscoveryCondition DtReflectedObjectList::myDiscoveryCondition
protected
void* DtReflectedObjectList::myDiscoveryConditionParameter
protected
DtRefHlaObjectMap DtReflectedObjectList::myDiscoveryList
protected
DtExerciseConn* DtReflectedObjectList::myExConn
protected

Referenced by exerciseConn().

std::vector<RTI::ObjectClassHandle> DtReflectedObjectList::myHandleList
protected
DtTime DtReflectedObjectList::myNextRequestTime
protected
DtIntrusiveList DtReflectedObjectList::myObjectAddedCallbacks
protected
DtRefHlaObjectMap DtReflectedObjectList::myObjectList
protected

Referenced by firstObj(), and lastObj().

DtHashList DtReflectedObjectList::myObjectListByName
protected
DtIntrusiveList DtReflectedObjectList::myObjectRemovedCallbacks
protected
DtRefHlaObjectTimeMap DtReflectedObjectList::myRefreshList
protected
DtDDMRegionSet DtReflectedObjectList::mySubscribedRegions
protected
DtList DtReflectedObjectList::myTimedOutObjectList
protected
DtTime DtReflectedObjectList::myTimeoutInterval
protected

Referenced by timeoutInterval().

bool DtReflectedObjectList::myTimeoutProcessingFlag
protected

Referenced by isTimeoutProcessing().

DtString DtReflectedObjectList::myUpdateRateTag
protected
DtRefHlaObjectMap DtReflectedObjectList::myWaitList
protected
bool DtReflectedObjectList::myWaitListRefreshEnabled
protected

Referenced by waitListRefreshEnabled().

DtTime DtReflectedObjectList::myWaitListRefreshPeriod
protected

Referenced by waitListRefreshPeriod().

bool DtReflectedObjectList::theAutoSubscribeFlag
staticprotected
bool DtReflectedObjectList::theDefaultWaitListRefreshFlag
staticprotected
DtTime DtReflectedObjectList::theDefaultWaitListRefreshPeriod
staticprotected
bool DtReflectedObjectList::theRequestClassUpdateFlag
staticprotected

Referenced by requestClassUpdateFlag().

bool DtReflectedObjectList::theRequestObjectUpdateFlag
staticprotected

Referenced by requestObjectUpdateFlag().

bool DtReflectedObjectList::theRequestUpdateFlags
staticprotected

Referenced by requestUpdateFlags().

bool DtReflectedObjectList::theRequestWhenInitializedFlag
staticprotected

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

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)