![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtReflectedEmitterSystemList_H_ 00011 #define DtReflectedEmitterSystemList_H_ 00012 00013 #if DtDIS 00014 00015 00016 #include "dRefObjList.h" 00017 #include "dReflEmitrSys.h" 00018 #include "globalObjDes.h" 00019 00020 class DT_DLL_VL DtSystemHashKey; 00021 00022 class DT_DLL_VL DtElectromagneticEmissionPdu; 00023 00027 class DT_DLL_VL DtReflectedEmitterSystemList : public DtReflectedObjectList 00028 { 00029 00030 public: 00031 00033 DtReflectedEmitterSystemList(DtExerciseConn* exConn); 00034 00036 virtual ~DtReflectedEmitterSystemList(); 00037 00039 virtual DtReflectedEmitterSystem* lookup( 00040 const DtGlobalObjectDesignator& emittingEntity, 00041 int systemId) const; 00042 00044 virtual DtReflectedEmitterSystem* first() const; 00045 virtual DtReflectedEmitterSystem* last() const; 00046 00048 virtual void addEmitterSystemAdditionCallback( 00049 DtEmitterSystemCallbackFunction cb, void* userData); 00050 virtual void removeEmitterSystemAdditionCallback( 00051 DtEmitterSystemCallbackFunction cb, void* userData); 00052 00054 virtual void addEmitterSystemRemovalCallback( 00055 DtEmitterSystemCallbackFunction cb, void* userData); 00056 virtual void removeEmitterSystemRemovalCallback( 00057 DtEmitterSystemCallbackFunction cb, void* userData); 00058 00062 virtual void addEmitterAdditionCallback( 00063 DtEmitterSystemCallbackFunction cb, void* userData); 00066 virtual void removeEmitterAdditionCallback( 00067 DtEmitterSystemCallbackFunction cb, void* userData); 00068 00072 virtual void addEmitterRemovalCallback( 00073 DtEmitterSystemCallbackFunction cb, void* userData); 00076 virtual void removeEmitterRemovalCallback( 00077 DtEmitterSystemCallbackFunction cb, void* userData); 00078 00080 virtual void print(); 00081 00082 protected: 00083 00085 DtReflectedEmitterSystemList& operator=( 00086 const DtReflectedEmitterSystemList& orig); 00087 00089 DtReflectedEmitterSystemList(const DtReflectedEmitterSystemList& orig); 00090 00091 protected: 00092 00094 virtual DtReflectedObject* newReflectedObj( 00095 const DtGlobalObjectDesignator& emittingEntity, int systemId); 00096 00098 virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg); 00099 00101 virtual DtReflectedObject* processStateMessage(const DtStateMsg& msg); 00102 00105 virtual void objectAdded(DtReflectedObject* obj); 00106 00108 virtual const DtBaseHashKey& 00109 hashKeyFromStateMessage(const DtStateMsg* msg); 00110 00111 protected: 00112 00114 static void emEmissionCb(DtElectromagneticEmissionPdu* pdu, void* usr); 00115 00116 }; 00117 00118 00119 #endif 00120 #endif 00121 00122