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

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

+ Inheritance diagram for DtReflectedDesignatorList:
+ Collaboration diagram for DtReflectedDesignatorList:

Public Member Functions

 DtReflectedDesignatorList (DtExerciseConn *exConn)
 Constructor.
virtual ~DtReflectedDesignatorList ()
 Destructor.
virtual DtReflectedDesignatorlookup (const DtGlobalObjectDesignator &designatingEntity, int designtrCode) const
 Lookup a designator from the object ID of its designating entity and its designator code.
virtual DtReflectedDesignatorfirst () const
 Get the first and last elements of the reflected designators' list.
virtual DtReflectedDesignatorlast () const
virtual void addDesignatorAdditionCallback (DtDesignatorCallbackFunction cb, void *userData)
 "Designator Added" callback registration/deregistration.
virtual void removeDesignatorAdditionCallback (DtDesignatorCallbackFunction cb, void *userData)
virtual void addDesignatorRemovalCallback (DtDesignatorCallbackFunction cb, void *userData)
 "Designator Removed" callback registration/deregistration.
virtual void removeDesignatorRemovalCallback (DtDesignatorCallbackFunction cb, void *userData)
virtual void print () const
 Print the SRs of all reflected designators.
virtual void printDataToStream (std::ostream &stream) const
 Print the SRs to a stream.
- Public Member Functions inherited from DtReflectedObjectList
 DtReflectedObjectList (DtExerciseConn *exConn)
 Constructor.
virtual ~DtReflectedObjectList ()
 destructor Warning: makes non-virtual call to removeAndDelete
virtual void initializeAttributePduKindsOfInterest (const std::set< DtPduKind > &pduKinds)
 This initializes which PDU kinds will be processed when receiving an Attribute PDU.
virtual DtReflectedObjectfirstObj () const
 Get the first/last object in the list.
virtual DtReflectedObjectlastObj () const
virtual int count () const
 Get number of objects.
virtual DtReflectedObjectlookupObj (const DtBaseHashKey &key) const
 Search for an object.
virtual DtExerciseConnexerciseConn () const
 Get my exerciseConn.
virtual void addObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object added callback registration/deregistration.
virtual void removeObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
virtual void addObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object removed callback registration/deregistration.
virtual void removeObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
virtual void setTimeoutProcessing (bool onOff)
 Set whether or not timeout processing occurs.
virtual void setTimeoutInterval (DtTime time)
 Set/Get the remote object timeout period.
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.
virtual void clearDiscoveryCondition ()
 Unregisters the checker function set in setDiscoverCondition.

Protected Member Functions

virtual DtReflectedObjectnewReflectedObj (const DtStateMsg &msg)
 Overrides the base class implementation. Always returns NULL.
virtual DtReflectedDesignatornewReflectedDesignator (const DtEntityIdentifier &designatingEntity, int designatorCode)
 Creates a new reflected designator.
virtual int acceptPdu (const DtStateMsg &msg) const
 Overrides the base class implementation.
virtual DtReflectedObjectprocessStateMessage (const DtStateMsg &msg)
 Overrides the base class implementation. Processes a Designator Pdu.
virtual void removeAndDelete (DtReflectedObject *obj, char *msg=0)
 Print message 'msg' and execute the registered "ObjectRemoval" callbacks.
virtual void objectAdded (DtReflectedObject *obj)
 Called after a reflected designator is added to the list and before addition callbacks are processed.
const DtBaseHashKeyhashKeyFromStateMessage (const DtStateMsg *)
 Overrides the base class implementation.
 DtReflectedDesignatorList (const DtReflectedDesignatorList &)
 Copy constructor – Not Implemented.
DtReflectedDesignatorListoperator= (const DtReflectedDesignatorList &)
 Assignment operator – Not Implemented.
- Protected Member Functions inherited from DtReflectedObjectList
 DtReflectedObjectList (const DtReflectedObjectList &orig)
 copy constructor – not implemented
DtReflectedObjectListoperator= (const DtReflectedObjectList &orig)
 assignment operator – not implemented
virtual void doTimeouts ()
 Remove any remote objects which have not been updated during the timeout period.
virtual bool shouldBeTimedOut (DtReflectedObject *object)
 Returns whether or not the object should be timed out.
void emptyLists ()
 Empty the object list and the timeout list.
void emptyCallbackLists ()
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 Process object addition/removal callbacks.
virtual void processObjectRemovalCallbacks (DtReflectedObject *object)
virtual DtBaseHashKeyhashKeyFromAttributeRecordSet (const DtAttributeRecordSet &recordSet)
 Get a hash key from an attribute record set.
virtual bool readyToAdd (DtReflectedObject *obj)
 Returns true if the obj is ready to be added to myObjectList; calls myDiscoveryCondition from within.
virtual void processAttributePduCb (DtAttributeInteraction *inter)

Static Protected Member Functions

static void designatorCb (DtDesignatorPdu *pdu, void *usr)
 Callback for the exercise connection.
- Static Protected Member Functions inherited from DtReflectedObjectList
static void doTimeoutsPostDrainCb (void *usr)
 Calls doTimeouts.
static void processAttributePduCb (DtAttributeInteraction *inter, void *usr)

Protected Attributes

DtSystemHashKeymyHashKey
- Protected Attributes inherited from DtReflectedObjectList
DtExerciseConnmyExConn
DtIntrusiveList myObjectAddedCallbacks
DtIntrusiveList myObjectRemovedCallbacks
DtIntrusiveList myObjectList
DtIntrusiveList myWaitList
DtHashlist myObjectHashlist
DtHashlist myWaitHashlist
DtTime myTimeoutInterval
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 designators in a DIS environment.

Constructor & Destructor Documentation

DtReflectedDesignatorList::DtReflectedDesignatorList ( DtExerciseConn exConn)

Constructor.

virtual DtReflectedDesignatorList::~DtReflectedDesignatorList ( )
virtual

Destructor.

DtReflectedDesignatorList::DtReflectedDesignatorList ( const DtReflectedDesignatorList )
protected

Copy constructor – Not Implemented.

Member Function Documentation

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

Overrides the base class implementation.

Determines if a PDU should be processed or not. Always returns 1.

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedDesignatorList::addDesignatorAdditionCallback ( DtDesignatorCallbackFunction  cb,
void *  userData 
)
virtual

"Designator Added" callback registration/deregistration.

virtual void DtReflectedDesignatorList::addDesignatorRemovalCallback ( DtDesignatorCallbackFunction  cb,
void *  userData 
)
virtual

"Designator Removed" callback registration/deregistration.

static void DtReflectedDesignatorList::designatorCb ( DtDesignatorPdu pdu,
void *  usr 
)
staticprotected

Callback for the exercise connection.

virtual DtReflectedDesignator* DtReflectedDesignatorList::first ( ) const
virtual

Get the first and last elements of the reflected designators' list.

const DtBaseHashKey& DtReflectedDesignatorList::hashKeyFromStateMessage ( const DtStateMsg )
protectedvirtual

Overrides the base class implementation.

Generates a corresponding key from a Designator Pdu. Returns an instance of 'DtSystemHashKey'. Note: the instance of the generated key is valid only until the next call to this method, or until the class instance itself goes out of scope (whichever is shorter).

Implements DtReflectedObjectList.

virtual DtReflectedDesignator* DtReflectedDesignatorList::last ( ) const
virtual
virtual DtReflectedDesignator* DtReflectedDesignatorList::lookup ( const DtGlobalObjectDesignator designatingEntity,
int  designtrCode 
) const
virtual

Lookup a designator from the object ID of its designating entity and its designator code.

virtual DtReflectedDesignator* DtReflectedDesignatorList::newReflectedDesignator ( const DtEntityIdentifier designatingEntity,
int  designatorCode 
)
protectedvirtual

Creates a new reflected designator.

Called by processStateMessage(). Override this to change the creation of new DtReflectedDesignators.

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

Overrides the base class implementation. Always returns NULL.

Implements DtReflectedObjectList.

virtual void DtReflectedDesignatorList::objectAdded ( DtReflectedObject obj)
protectedvirtual

Called after a reflected designator is added to the list and before addition callbacks are processed.

Right now, it only calls DtInfo.

Reimplemented from DtReflectedObjectList.

DtReflectedDesignatorList& DtReflectedDesignatorList::operator= ( const DtReflectedDesignatorList )
protected

Assignment operator – Not Implemented.

virtual void DtReflectedDesignatorList::print ( ) const
virtual

Print the SRs of all reflected designators.

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedDesignatorList::printDataToStream ( std::ostream &  stream) const
virtual

Print the SRs to a stream.

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

Overrides the base class implementation. Processes a Designator Pdu.

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedDesignatorList::removeAndDelete ( DtReflectedObject obj,
char *  msg = 0 
)
protectedvirtual

Print message 'msg' and execute the registered "ObjectRemoval" callbacks.

Remove reflected object 'obj' from the "reflected designators" list. Note: Overrides the base class implementation

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedDesignatorList::removeDesignatorAdditionCallback ( DtDesignatorCallbackFunction  cb,
void *  userData 
)
virtual
virtual void DtReflectedDesignatorList::removeDesignatorRemovalCallback ( DtDesignatorCallbackFunction  cb,
void *  userData 
)
virtual

Member Data Documentation

DtSystemHashKey* DtReflectedDesignatorList::myHashKey
protected

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

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)