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 | Private Member Functions
DtReflectedAerodromeList Class Reference

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

+ Inheritance diagram for DtReflectedAerodromeList:
+ Collaboration diagram for DtReflectedAerodromeList:

Public Member Functions

 DtReflectedAerodromeList (DtExerciseConn *exConn)
 Constructor. More...
 
virtual ~DtReflectedAerodromeList ()
 Destructor. More...
 
virtual DtReflectedAerodromefirst () const
 
virtual DtReflectedAerodromelast () const
 
virtual void addAerodromeAdditionCallback (DtAerodromeStateCallbackFunction cb, void *userData)
 MAK_TroposphereLayer added callback registration/deregistration. More...
 
virtual void removeAerodromeAdditionCallback (DtAerodromeStateCallbackFunction cb, void *userData)
 
virtual void addAerodromeRemovalCallback (DtAerodromeStateCallbackFunction cb, void *userData)
 MAK_TroposphereLayer removed callback registration/deregistration. More...
 
virtual void removeAerodromeRemovalCallback (DtAerodromeStateCallbackFunction cb, void *userData)
 
virtual void print ()
 Print the SRs of all objects. More...
 
virtual DtReflectedAerodromeprocessAerodromeState (const DtAerodromePdu &pdu)
 Process an incoming Aerodrome state pdu. More...
 
virtual DtReflectedAerodromelookupByUuid (const DtVrlUuid &aerodromeUuid)
 Look up a DtReflectedAerodrome by UUID. More...
 
virtual const
DtReflectedRunwayList
runwayList () const
 
- 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 removeAndDelete (DtReflectedObject *obj, char *msg=NULL)
 Remove the remote object from the list if found and delete it. 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

virtual DtReflectedObjectnewReflectedObj (const DtStateMsg &msg)
 Create a new object from a state message. More...
 
virtual DtReflectedObjectprocessStateMessage (const DtStateMsg &msg)
 Process an incoming state message. More...
 
virtual void objectAdded (DtReflectedObject *obj)
 Called after an MAK_TroposphereLayer is added and before additional callbacks are processed. More...
 
virtual int acceptPdu (const DtStateMsg &msg) const
 Determines if a PDU should be processed or not. More...
 
virtual const DtBaseHashKeyhashKeyFromStateMessage (const DtStateMsg *msg)
 Get a hash key from a state message. More...
 
virtual DtReflectedAerodromenewReflectedAerodrome () const
 Create a new reflected Aerodrome. More...
 
virtual void aerodromeAdded (DtReflectedAerodrome *agg)
 Called after a reflected Aerodrome object is added and before additional callbacks are processed. More...
 
virtual void processRunwayAddition (DtReflectedRunway *refRunway)
 
virtual void processRunwayUpdate (DtReflectedRunway *refRunway)
 
virtual void processRunwayRemoval (DtReflectedRunway *refRunway)
 
void resolveOrphans ()
 Goes through new reflected runways and looks for a valid reflected aerodrome to associate with. 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 runwayAdditionCb (DtReflectedRunway *runway, void *usr)
 Callback functions registered with myRunwayList on runway additions, updates, and removals. More...
 
static void runwayUpdateCb (DtReflectedRunway *runway, void *usr)
 
static void runwayRemovalCb (DtReflectedRunway *runway, void *usr)
 
static void resolveOrphansPostDrainCb (void *usr)
 Callback that calls resolveOrphans. More...
 
static void aerodromeStateCb (DtAerodromePdu *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

std::vector< DtReflectedRunway * > myOrphanRunways
 
DtReflectedRunwayList myRunwayList
 
DtEntityIdentifierHashKey myHashKey
 
- 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
 

Private Member Functions

DtReflectedAerodromeListoperator= (const DtReflectedAerodromeList &orig)
 Assignment operator – not implemented. More...
 
 DtReflectedAerodromeList (const DtReflectedAerodromeList &orig)
 Copy constructor – not implemented. More...
 

Detailed Description

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

Constructor & Destructor Documentation

DtReflectedAerodromeList::DtReflectedAerodromeList ( DtExerciseConn exConn)

Constructor.

virtual DtReflectedAerodromeList::~DtReflectedAerodromeList ( )
virtual

Destructor.

DtReflectedAerodromeList::DtReflectedAerodromeList ( const DtReflectedAerodromeList orig)
private

Copy constructor – not implemented.

Member Function Documentation

virtual int DtReflectedAerodromeList::acceptPdu ( const DtStateMsg msg) const
protectedvirtual

Determines if a PDU should be processed or not.

Looks at the METOC Layer Record Type in the PDU for a TroposphereLayerRecord

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedAerodromeList::addAerodromeAdditionCallback ( DtAerodromeStateCallbackFunction  cb,
void *  userData 
)
virtual

MAK_TroposphereLayer added callback registration/deregistration.

virtual void DtReflectedAerodromeList::addAerodromeRemovalCallback ( DtAerodromeStateCallbackFunction  cb,
void *  userData 
)
virtual

MAK_TroposphereLayer removed callback registration/deregistration.

virtual void DtReflectedAerodromeList::aerodromeAdded ( DtReflectedAerodrome agg)
protectedvirtual

Called after a reflected Aerodrome object is added and before additional callbacks are processed.

Right now, this function only calls DtInfo.

static void DtReflectedAerodromeList::aerodromeStateCb ( DtAerodromePdu pdu,
void *  usr 
)
staticprotected

Callback for the exercise connection.

virtual DtReflectedAerodrome* DtReflectedAerodromeList::first ( ) const
virtual
virtual const DtBaseHashKey& DtReflectedAerodromeList::hashKeyFromStateMessage ( const DtStateMsg msg)
protectedvirtual

Get a hash key from a state message.

Implements DtReflectedObjectList.

virtual DtReflectedAerodrome* DtReflectedAerodromeList::last ( ) const
virtual
virtual DtReflectedAerodrome* DtReflectedAerodromeList::lookupByUuid ( const DtVrlUuid aerodromeUuid)
virtual

Look up a DtReflectedAerodrome by UUID.

virtual DtReflectedAerodrome* DtReflectedAerodromeList::newReflectedAerodrome ( ) const
protectedvirtual

Create a new reflected Aerodrome.

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

Create a new object from a state message.

Implements DtReflectedObjectList.

virtual void DtReflectedAerodromeList::objectAdded ( DtReflectedObject obj)
protectedvirtual

Called after an MAK_TroposphereLayer is added and before additional callbacks are processed.

Right now, this function only calls DtInfo.

Reimplemented from DtReflectedObjectList.

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

Assignment operator – not implemented.

virtual void DtReflectedAerodromeList::print ( )
virtual

Print the SRs of all objects.

virtual DtReflectedAerodrome* DtReflectedAerodromeList::processAerodromeState ( const DtAerodromePdu pdu)
virtual

Process an incoming Aerodrome state pdu.

Then calls down to base class processStateMessage().

virtual void DtReflectedAerodromeList::processRunwayAddition ( DtReflectedRunway refRunway)
protectedvirtual
virtual void DtReflectedAerodromeList::processRunwayRemoval ( DtReflectedRunway refRunway)
protectedvirtual
virtual void DtReflectedAerodromeList::processRunwayUpdate ( DtReflectedRunway refRunway)
protectedvirtual
virtual DtReflectedObject* DtReflectedAerodromeList::processStateMessage ( const DtStateMsg msg)
protectedvirtual

Process an incoming state message.

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedAerodromeList::removeAerodromeAdditionCallback ( DtAerodromeStateCallbackFunction  cb,
void *  userData 
)
virtual
virtual void DtReflectedAerodromeList::removeAerodromeRemovalCallback ( DtAerodromeStateCallbackFunction  cb,
void *  userData 
)
virtual
void DtReflectedAerodromeList::resolveOrphans ( )
protected

Goes through new reflected runways and looks for a valid reflected aerodrome to associate with.

static void DtReflectedAerodromeList::resolveOrphansPostDrainCb ( void *  usr)
staticprotected

Callback that calls resolveOrphans.

static void DtReflectedAerodromeList::runwayAdditionCb ( DtReflectedRunway runway,
void *  usr 
)
staticprotected

Callback functions registered with myRunwayList on runway additions, updates, and removals.

Calls procerssRunwayAddition/Update/Removal.

virtual const DtReflectedRunwayList& DtReflectedAerodromeList::runwayList ( ) const
inlinevirtual
static void DtReflectedAerodromeList::runwayRemovalCb ( DtReflectedRunway runway,
void *  usr 
)
staticprotected
static void DtReflectedAerodromeList::runwayUpdateCb ( DtReflectedRunway runway,
void *  usr 
)
staticprotected

Member Data Documentation

DtEntityIdentifierHashKey DtReflectedAerodromeList::myHashKey
protected
std::vector<DtReflectedRunway*> DtReflectedAerodromeList::myOrphanRunways
protected
DtReflectedRunwayList DtReflectedAerodromeList::myRunwayList
protected

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

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)