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
DtReflectedIffList Class Reference

Instances of this class provide a protocol independent interface to a list of reflected emitters in a DIS environment. More...

+ Inheritance diagram for DtReflectedIffList:
+ Collaboration diagram for DtReflectedIffList:

Public Member Functions

 DtReflectedIffList (DtExerciseConn *exConn, int numBucketsPrimeNumber=503)
 Constructor. More...
 
virtual ~DtReflectedIffList ()
 Destructor. More...
 
virtual DtReflectedIfflookup (const DtGlobalObjectDesignator &emittingEntity, DtU16 systemType, DtU16 systemName, DtU8 systemDesignator) const
 Lookup an emitter from its object ID. More...
 
virtual DtReflectedIfflookup (const DtGlobalObjectDesignator &emittingEntity) const
 Lookup the first emitter from it's object ID. More...
 
virtual DtReflectedIfffirst () const
 Get the first and last elements of the IFF list. More...
 
virtual DtReflectedIfflast () const
 
virtual void addIffAdditionCallback (DtIffCallbackFunction cb, void *userData)
 Emitter added callback registration/deregistration. More...
 
virtual void removeIffAdditionCallback (DtIffCallbackFunction cb, void *userData)
 
virtual void addEmitterAdditionCallback (DtIffCallbackFunction cb, void *userData)
 DEPRECATED, USE addIffAdditionCallback. More...
 
virtual void removeEmitterAdditionCallback (DtIffCallbackFunction cb, void *userData)
 DEPRECATED, USE removeIffAdditionCallbac. More...
 
virtual void addIffRemovalCallback (DtIffCallbackFunction cb, void *userData)
 Emitter removed callback registration/deregistration. More...
 
virtual void removeIffRemovalCallback (DtIffCallbackFunction cb, void *userData)
 
virtual void addEmitterRemovalCallback (DtIffCallbackFunction cb, void *userData)
 DEPRECATED, use addIffRemovalCallback. More...
 
virtual void removeEmitterRemovalCallback (DtIffCallbackFunction cb, void *userData)
 DEPRECATED, use removeIffRemovalCallback. More...
 
virtual void print ()
 Print the SRs of all objects. More...
 
virtual int acceptPdu (const DtStateMsg &) const
 Determines if a IFF PDU is a state PDUs or an interaction PDUs. More...
 
- Public Member Functions inherited from DtReflectedObjectList
 DtReflectedObjectList (DtExerciseConn *exConn, int numBucketsPrimeNumber=503)
 Constructor. More...
 
virtual ~DtReflectedObjectList ()
 destructor Warning: makes non-virtual call to removeAndDelete More...
 
virtual void initializeAttributePduKindsOfInterest (const std::set< DtPduKind > &pduKinds)
 This initializes which PDU kinds will be processed when receiving an Attribute PDU. More...
 
virtual DtReflectedObjectfirstObj () const
 Get the first/last object in the list. More...
 
virtual DtReflectedObjectlastObj () const
 
virtual int count () const
 Get number of objects. More...
 
virtual DtReflectedObjectlookupObj (const DtBaseHashKey &key) const
 Search for an object. More...
 
virtual DtExerciseConnexerciseConn () const
 Get my exerciseConn. 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 () const
 Print the SRs of all objects. More...
 
virtual void setTimeoutProcessing (bool onOff)
 Set whether or not timeout processing occurs. More...
 
virtual void setTimeoutInterval (DtTime time)
 Set/Get the remote object timeout period. More...
 
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. More...
 
virtual void clearDiscoveryCondition ()
 Unregisters the checker function set in setDiscoverCondition. More...
 
virtual void removeObject (DtReflectedObject *obj)
 This is the same as removeAndDelete, it exists to maintain equality with HLA objects. More...
 
virtual DtTime timeoutCheckInterval () const
 
virtual void setTimeoutCheckInterval (DtTime interval)
 
virtual void addWaitlistAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Callback registration for when objects are added or removed from the waitlist. More...
 
virtual void removeWaitlistAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual void addWaitlistRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Waitlist removed callback registration/deregistration. More...
 
virtual void removeWaitlistRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 

Protected Member Functions

DtReflectedIffListoperator= (const DtReflectedIffList &orig)
 Assignment operator – not implemented. More...
 
 DtReflectedIffList (const DtReflectedIffList &orig)
 Copy constructor – not implemented. More...
 
virtual DtReflectedIffnewReflectedIff (const DtGlobalObjectDesignator &emittingEntity, DtU16 systemType, DtU16 systemName, DtU8 systemDesignator)
 Create a new object from a global designator. More...
 
virtual DtReflectedObjectnewReflectedObj (const DtStateMsg &msg)
 Overrides base class's implementation. Always returns NULL. More...
 
virtual DtReflectedObjectprocessStateMessage (const DtStateMsg &msg)
 Process an incoming state message. More...
 
virtual void objectAdded (DtReflectedObject *obj)
 Called after an entity is added and before addition callbacks are processed. More...
 
virtual const DtBaseHashKeyhashKeyFromStateMessage (const DtStateMsg *msg)
 Get a hash key from a state message. More...
 
virtual void removeAndDelete (DtReflectedObject *obj, const char *msg=NULL)
 Remove the remote object from the list if found and delete it. More...
 
- Protected Member Functions inherited from DtReflectedObjectList
virtual void doTimeouts ()
 Remove any remote objects which have not been updated during the timeout period. More...
 
virtual bool shouldBeTimedOut (DtReflectedObject *object)
 Returns whether or not the object should be timed out. More...
 
void emptyLists ()
 Empty the object list and the timeout list. More...
 
void emptyCallbackLists ()
 
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 Process object addition/removal callbacks. More...
 
virtual void processObjectRemovalCallbacks (DtReflectedObject *object)
 
virtual void processWaitlistAdditionCallbacks (DtReflectedObject *object)
 Process waitlist addition/removal callbacks. More...
 
virtual void processWaitlistRemovalCallbacks (DtReflectedObject *object)
 
virtual DtBaseHashKeyhashKeyFromAttributeRecordSet (const DtAttributeRecordSet &recordSet)
 Get a hash key from an attribute record set. More...
 
virtual bool readyToAdd (DtReflectedObject *obj)
 Returns true if the obj is ready to be added to myObjectList; calls myDiscoveryCondition from within. More...
 
virtual void processAttributePduCb (DtAttributeInteraction *inter)
 
virtual void processAttributePduRecordSet (const DtAttributeRecordSet &recordSet, const DtSimulationAddress &simAddr, DtReflectedObject *obj=0)
 
virtual void processAttributePduWaitListCb (DtReflectedObject *obj)
 
virtual void deleteRecordSetBySimulationAddressMap (DtRecordSetBySimulationAddressMap &recordSetMap, const DtSimulationAddress &simAddr=DtSimulationAddress()) const
 

Static Protected Member Functions

static void emIffCb (DtIffAtcNavaidsPdu *pdu, void *usr)
 Callback for the exercise connection. More...
 
- Static Protected Member Functions inherited from DtReflectedObjectList
static void doTimeoutsPostDrainCb (void *usr)
 Calls doTimeouts. More...
 
static void processAttributePduCb (DtAttributeInteraction *inter, void *usr)
 
static void processAttributePduWaitListCb (DtReflectedObject *obj, void *userData)
 

Protected Attributes

DtIFFSystemHashKey myHashKey
 
std::map< const
DtGlobalObjectDesignator,
std::list< DtIFFSystemHashKey > > 
myIffHashMap
 
- Protected Attributes inherited from DtReflectedObjectList
DtExerciseConnmyExConn
 
DtIntrusiveList myObjectAddedCallbacks
 
DtIntrusiveList myObjectRemovedCallbacks
 
DtIntrusiveList myWaitlistAddedCallbacks
 
DtIntrusiveList myWaitlistRemovedCallbacks
 
DtIntrusiveList myObjectList
 
DtIntrusiveList myWaitList
 
DtHashlist myObjectHashlist
 
DtHashlist myWaitHashlist
 
DtAttributesByObjectIdMap myAttributeWaitHashlist
 
DtTime myTimeoutInterval
 
DtTime myNextTimeoutCheck
 
DtTime myTimeoutCheckInterval
 
bool myTimeoutProcessingFlag
 
DtDiscoveryCondition myDiscoveryCondition
 
void * myDiscoveryConditionParameter
 
std::set< DtPduKindmyPduKindSet
 

Detailed Description

Instances of this class provide a protocol independent interface to a list of reflected emitters in a DIS environment.

Constructor & Destructor Documentation

DtReflectedIffList::DtReflectedIffList ( DtExerciseConn exConn,
int  numBucketsPrimeNumber = 503 
)

Constructor.

virtual DtReflectedIffList::~DtReflectedIffList ( )
virtual

Destructor.

DtReflectedIffList::DtReflectedIffList ( const DtReflectedIffList orig)
protected

Copy constructor – not implemented.

Member Function Documentation

virtual int DtReflectedIffList::acceptPdu ( const DtStateMsg ) const
virtual

Determines if a IFF PDU is a state PDUs or an interaction PDUs.

Returns 1 for state PDUs; returns 0 for interaction PDUs

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedIffList::addEmitterAdditionCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

DEPRECATED, USE addIffAdditionCallback.

virtual void DtReflectedIffList::addEmitterRemovalCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

DEPRECATED, use addIffRemovalCallback.

virtual void DtReflectedIffList::addIffAdditionCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

Emitter added callback registration/deregistration.

virtual void DtReflectedIffList::addIffRemovalCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

Emitter removed callback registration/deregistration.

static void DtReflectedIffList::emIffCb ( DtIffAtcNavaidsPdu pdu,
void *  usr 
)
staticprotected

Callback for the exercise connection.

virtual DtReflectedIff* DtReflectedIffList::first ( ) const
virtual

Get the first and last elements of the IFF list.

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

Get a hash key from a state message.

Implements DtReflectedObjectList.

virtual DtReflectedIff* DtReflectedIffList::last ( ) const
virtual
virtual DtReflectedIff* DtReflectedIffList::lookup ( const DtGlobalObjectDesignator emittingEntity,
DtU16  systemType,
DtU16  systemName,
DtU8  systemDesignator 
) const
virtual

Lookup an emitter from its object ID.

virtual DtReflectedIff* DtReflectedIffList::lookup ( const DtGlobalObjectDesignator emittingEntity) const
virtual

Lookup the first emitter from it's object ID.

useful if you know there is only one emitter.

virtual DtReflectedIff* DtReflectedIffList::newReflectedIff ( const DtGlobalObjectDesignator emittingEntity,
DtU16  systemType,
DtU16  systemName,
DtU8  systemDesignator 
)
protectedvirtual

Create a new object from a global designator.

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

Overrides base class's implementation. Always returns NULL.

Implements DtReflectedObjectList.

virtual void DtReflectedIffList::objectAdded ( DtReflectedObject obj)
protectedvirtual

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

Right now, this function only calls DtInfo.

Reimplemented from DtReflectedObjectList.

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

Assignment operator – not implemented.

virtual void DtReflectedIffList::print ( )
virtual

Print the SRs of all objects.

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

Process an incoming state message.

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedIffList::removeAndDelete ( DtReflectedObject obj,
const char *  msg = NULL 
)
protectedvirtual

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

Prints a message on deletion if specified.

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedIffList::removeEmitterAdditionCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

DEPRECATED, USE removeIffAdditionCallbac.

virtual void DtReflectedIffList::removeEmitterRemovalCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

DEPRECATED, use removeIffRemovalCallback.

virtual void DtReflectedIffList::removeIffAdditionCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual
virtual void DtReflectedIffList::removeIffRemovalCallback ( DtIffCallbackFunction  cb,
void *  userData 
)
virtual

Member Data Documentation

DtIFFSystemHashKey DtReflectedIffList::myHashKey
protected
std::map<const DtGlobalObjectDesignator, std::list<DtIFFSystemHashKey> > DtReflectedIffList::myIffHashMap
protected

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

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)