VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/echIdTable.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: echIdTable.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtEchelonIdTable_H_
00016 #define DtEchelonIdTable_H_
00017 
00018 #include <vlutil/vlHashlist.h>
00019 #include <vl/hostStructs.h>
00020 #include "vrfobjcore/vrfObjPredEval.h"
00021 
00022 class DtVrfObjectManager;
00023 class DtSimMessage;
00024 class DtVrfObject;
00025 
00027 
00031 
00032 #include "vrfobjcore/vrfobjcoreDefines.h"
00033 class DT_DLL_vrfobjcore DtEchelonIdTable
00034 {
00035 private:
00037    DtEchelonIdTable();
00039    DtEchelonIdTable(const DtEchelonIdTable& orig);
00041    DtEchelonIdTable& operator=(const DtEchelonIdTable& orig);
00042 
00043 public:
00044    DtEchelonIdTable(DtVrfObjectManager* objectManager);
00045    virtual ~DtEchelonIdTable();
00046 
00049    void emptyHashList();
00050 
00052    virtual bool init();
00053 
00055    virtual const DtEntityIdentifier& lookupEchelonId(const DtString& echelonString) const; 
00056 
00058    virtual const DtString& lookupEntityId(const DtEntityIdentifier& entityId) const;
00059 
00063    virtual void addEntry(const DtEntityIdentifier& entityId, const DtString& echelonId);
00064 
00066    virtual bool removeEntry(const DtEntityIdentifier& entityId);
00067 
00073    virtual void processVrfObjectAdded(DtVrfObject* vrfObject);
00074 
00076    virtual bool removeEntry(const DtString& echelonId);
00077 
00078    static void vrfObjectEchelonIdChanged(DtVrfObject * obj, DtVrfObjectPredicateEvaluator* predicateEval,
00079       void * usr);
00080 
00081    static void vrfObjectAboutToBeRemovedCallback(DtVrfObject *vrfObject, void* usr);
00082 
00083    static void vrfObjectAdded(DtVrfObject* vrfObject, void* usr);
00084 
00085 protected:
00087    virtual void processVrfObjectEchelonIdChanged(DtVrfObject * obj);
00088 
00089    virtual void processObjectAboutToBeRemoved(DtVrfObject *vrfObject);
00090 
00093    virtual void localAddEntry(const DtEntityIdentifier& entityId, const DtString& echelonId);
00094 
00095 protected:
00096    DtVrfObjectManager* myObjectManager;
00097 
00099    DtHashlist myEchelonIdHashlist;
00101    DtHashlist myEntityIdHashlist;
00102 };
00103 
00104 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)