VR-Link API Documentation for HLA 1.3
dRefDesigList.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 
00009 
00010 #ifndef DtDisReflectedDesignatorList_H_
00011 #define DtDisReflectedDesignatorList_H_
00012 
00013 #if DtDIS
00014 
00015 
00016 #include "dRefObjList.h"
00017 #include "dReflDesigntr.h"
00018 #include "globalObjDes.h"
00019 
00020 class DT_DLL_VL DtSystemHashKey;
00021 class DT_DLL_VL DtDesignatorPdu;
00022 
00026 class DT_DLL_VL DtReflectedDesignatorList : public DtReflectedObjectList
00027 {
00028 public:
00030    DtReflectedDesignatorList( DtExerciseConn* exConn );
00032    virtual ~DtReflectedDesignatorList();
00033 
00034 public:
00037    virtual DtReflectedDesignator* lookup(
00038       const DtGlobalObjectDesignator& designatingEntity,
00039       int designtrCode ) const;
00040 
00042    virtual DtReflectedDesignator* first() const;
00043    virtual DtReflectedDesignator* last() const;
00044 
00046    virtual void addDesignatorAdditionCallback(
00047       DtDesignatorCallbackFunction cb, void* userData );
00048    virtual void removeDesignatorAdditionCallback(
00049       DtDesignatorCallbackFunction cb, void* userData );
00050 
00052    virtual void addDesignatorRemovalCallback(
00053       DtDesignatorCallbackFunction cb, void* userData );
00054    virtual void removeDesignatorRemovalCallback(
00055       DtDesignatorCallbackFunction cb, void* userData );
00056 
00058    virtual void print() const;
00059 
00061    virtual void printDataToStream(std::ostream& stream) const;
00062 
00063 protected:
00065    virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
00066 
00069    virtual DtReflectedDesignator* newReflectedDesignator(
00070       const DtEntityIdentifier& designatingEntity, int designatorCode);
00071 
00074    virtual int acceptPdu( const DtStateMsg& msg ) const;
00075 
00077    virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
00078 
00082    virtual void removeAndDelete( DtReflectedObject* obj, char* msg=0 );
00083 
00086    virtual void objectAdded( DtReflectedObject* obj );
00087 
00093    const DtBaseHashKey& hashKeyFromStateMessage( const DtStateMsg* );
00094 
00095 protected:
00097    static void designatorCb( DtDesignatorPdu* pdu, void* usr );
00098 
00099 protected:
00100    DtSystemHashKey* myHashKey;
00101 
00102 protected:
00104    DtReflectedDesignatorList( const DtReflectedDesignatorList& );
00105 
00107    DtReflectedDesignatorList& operator=( const DtReflectedDesignatorList& );
00108 };
00109 
00110 #endif   //! DtDIS
00111 
00112 #endif   //! DtDisReflectedDesignatorList_H_
00113 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)