![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /*************************************************************** 00002 * Copyright (c) 1997 MaK Technologies, Inc. 00003 * All rights reserved. 00004 * **************************************************************/ 00005 00006 00007 00008 #ifndef hRefIffList_H_ 00009 #define hRefIffList_H_ 00010 00011 #if DtHLA 00012 00013 #include "hRefObjList.h" 00014 #include "hReflIff.h" 00015 00020 00026 00027 class DT_DLL_VL DtReflectedIffList : public DtReflectedObjectList 00028 { 00029 public: 00030 00032 DtReflectedIffList(DtExerciseConn* exConn, const DtDDMRegionSet* regionSetToUse = 0, 00033 const DtString& updateRateTag = DtString("")); 00034 00037 DtReflectedIffList( 00038 DtExerciseConn* exConn, 00039 const DtList *handleList, 00040 const DtDDMRegionSet* regionSetToUse = 0, 00041 const DtString& updateRateTag = DtString("")); 00042 00044 virtual ~DtReflectedIffList(); 00045 00047 virtual DtReflectedIff* lookup( 00048 #if DtHLA_1516 00049 RTI::ObjectInstanceHandle id); 00050 #else 00051 RTI::ObjectHandle id); 00052 #endif 00053 00055 virtual DtReflectedIff* lookup(const DtGlobalObjectDesignator& objName); 00056 00058 virtual DtReflectedIff* first() const; 00059 virtual DtReflectedIff* last() const; 00060 00062 virtual void addIffAdditionCallback( 00063 DtIffCallbackFunction cb, void* userData); 00064 virtual void removeIffAdditionCallback( 00065 DtIffCallbackFunction cb, void* userData); 00066 00068 virtual void addIffRemovalCallback( 00069 DtIffCallbackFunction cb, void* userData); 00070 virtual void removeIffRemovalCallback( 00071 DtIffCallbackFunction cb, void* userData); 00072 00073 00074 protected: 00075 00077 DtReflectedIffList(const DtReflectedIffList& orig); 00078 00080 DtReflectedIffList& operator=(const DtReflectedIffList& orig); 00081 00083 virtual const DtList* dfltHandleList(); 00084 00087 virtual void objectAdded(DtReflectedObject* obj); 00088 00093 virtual void iffAdded(DtReflectedIff* ent); 00094 00097 virtual DtReflectedObject* newReflectedObject(DtHlaObject* obj) const; 00098 00101 virtual DtReflectedObject* newReflectedIff(DtHlaObject* obj) const; 00102 00105 virtual void removeAndDelete(DtReflectedObject* object, char* msg); 00106 00108 virtual void removeAndDelete(DtReflectedIff* entity, char* msg = NULL); 00109 }; 00110 00111 #endif 00112 #endif 00113