VR-Forces 4.2 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtEchelonIdTable Class Reference

Class: DtEchelonIdTable. More...

Public Member Functions

 DtEchelonIdTable (DtVrfObjectManager *objectManager)
virtual ~DtEchelonIdTable ()
void emptyHashList ()
 Removes all data from the hash lists.
virtual bool init ()
 Registers callback for vrf object data messages.
virtual const DtEntityIdentifier & lookupEchelonId (const DtString &echelonString) const
 Returns the entity Id associated with this echelon id string.
virtual const DtStringlookupEntityId (const DtEntityIdentifier &entityId) const
 Returns the echelon string associated with this entity id.
virtual void addEntry (const DtEntityIdentifier &entityId, const DtString &echelonId)
 Creates the association between this entity Id and echelon Id in the table.
virtual bool removeEntry (const DtEntityIdentifier &entityId)
 Removes this entity Id and any echelon id associated with it from the table.
virtual void processVrfObjectAdded (DtVrfObject *vrfObject)
 Called when a new object is created, this method will add a predicate that that object to this this object know when its echelon id has changed.
virtual bool removeEntry (const DtString &echelonId)
 Removes this echelon id and any entity id associated with it from the table.

Static Public Member Functions

static void vrfObjectEchelonIdChanged (DtVrfObject *obj, DtVrfObjectPredicateEvaluator *predicateEval, void *usr)
static void vrfObjectAboutToBeRemovedCallback (DtVrfObject *vrfObject, void *usr)
static void vrfObjectAdded (DtVrfObject *vrfObject, void *usr)

Protected Member Functions

virtual void processVrfObjectEchelonIdChanged (DtVrfObject *obj)
virtual void processObjectAboutToBeRemoved (DtVrfObject *vrfObject)
virtual void localAddEntry (const DtEntityIdentifier &entityId, const DtString &echelonId)
 Actually does the addition of the association to the hash tables.

Protected Attributes

DtVrfObjectManagermyObjectManager
DtHashlist myEchelonIdHashlist
 List of entity identifiers indexed by echelon id strings.
DtHashlist myEntityIdHashlist
 List of echelon id strings indexed by entity identifiers.

Private Member Functions

 DtEchelonIdTable ()
 Not Implemented.
 DtEchelonIdTable (const DtEchelonIdTable &orig)
 Not Implemented.
DtEchelonIdTableoperator= (const DtEchelonIdTable &orig)
 Not Implemented.

Detailed Description

Class: DtEchelonIdTable.

Instances of this class maintain a table of echelon Id and the entity identifiers that are currently associated with them. It registers for VrfObjectData messages from an object manager, and uses these updates to keep itself up to date.

Constructor & Destructor Documentation

DtEchelonIdTable::DtEchelonIdTable ( )
private

Not Implemented.

DtEchelonIdTable::DtEchelonIdTable ( const DtEchelonIdTable orig)
private

Not Implemented.

DtEchelonIdTable::DtEchelonIdTable ( DtVrfObjectManager objectManager)
virtual DtEchelonIdTable::~DtEchelonIdTable ( )
virtual

Member Function Documentation

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

Not Implemented.

void DtEchelonIdTable::emptyHashList ( )

Removes all data from the hash lists.

Non virtual because it is called from the destructor.

virtual bool DtEchelonIdTable::init ( )
virtual

Registers callback for vrf object data messages.

virtual const DtEntityIdentifier& DtEchelonIdTable::lookupEchelonId ( const DtString echelonString) const
virtual

Returns the entity Id associated with this echelon id string.

virtual const DtString& DtEchelonIdTable::lookupEntityId ( const DtEntityIdentifier &  entityId) const
virtual

Returns the echelon string associated with this entity id.

virtual void DtEchelonIdTable::addEntry ( const DtEntityIdentifier &  entityId,
const DtString echelonId 
)
virtual

Creates the association between this entity Id and echelon Id in the table.

If one, or both of the two are already part of an existing association, the existing associations are first removed.

virtual bool DtEchelonIdTable::removeEntry ( const DtEntityIdentifier &  entityId)
virtual

Removes this entity Id and any echelon id associated with it from the table.

virtual void DtEchelonIdTable::processVrfObjectAdded ( DtVrfObject vrfObject)
virtual

Called when a new object is created, this method will add a predicate that that object to this this object know when its echelon id has changed.

IF this method is not called for each new object, the object's echelonId WILL NOT be added to this table, so it is imperitive that this method be called for each object that wants to have its echelonId added to this table. Called internally by callback vrfObjectAdded

virtual bool DtEchelonIdTable::removeEntry ( const DtString echelonId)
virtual

Removes this echelon id and any entity id associated with it from the table.

static void DtEchelonIdTable::vrfObjectEchelonIdChanged ( DtVrfObject obj,
DtVrfObjectPredicateEvaluator predicateEval,
void *  usr 
)
static
static void DtEchelonIdTable::vrfObjectAboutToBeRemovedCallback ( DtVrfObject vrfObject,
void *  usr 
)
static
static void DtEchelonIdTable::vrfObjectAdded ( DtVrfObject vrfObject,
void *  usr 
)
static
virtual void DtEchelonIdTable::processVrfObjectEchelonIdChanged ( DtVrfObject obj)
protectedvirtual
virtual void DtEchelonIdTable::processObjectAboutToBeRemoved ( DtVrfObject vrfObject)
protectedvirtual
virtual void DtEchelonIdTable::localAddEntry ( const DtEntityIdentifier &  entityId,
const DtString echelonId 
)
protectedvirtual

Actually does the addition of the association to the hash tables.

No checks for duplicates are performed.

Member Data Documentation

DtVrfObjectManager* DtEchelonIdTable::myObjectManager
protected
DtHashlist DtEchelonIdTable::myEchelonIdHashlist
protected

List of entity identifiers indexed by echelon id strings.

DtHashlist DtEchelonIdTable::myEntityIdHashlist
protected

List of echelon id strings indexed by entity identifiers.


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

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)