![]() |
VR-Link API Documentation for DIS
|
00001 #ifndef DtReflectedIff_H_ 00002 #define DtReflectedIff_H_ 00003 00004 #if DtHLA 00005 00006 #include "hReflectedObj.h" 00007 #include "iffSR.h" 00008 00013 00017 00018 class DT_DLL_VL DtReflectedIff; 00019 00020 typedef void (*DtIffCallbackFunction)(DtReflectedIff* obj, void* userData); 00021 00022 00031 00032 class DT_DLL_VL DtReflectedIff : public DtReflectedObject 00033 { 00034 public: 00035 00037 typedef DtIffStateRepository* (*DtStateRepCreator)(); 00038 00039 public: 00040 00042 DtReflectedIff(DtHlaObject* obj, DtExerciseConn* conn); 00043 00045 virtual ~DtReflectedIff(); 00046 00049 virtual DtIffStateRepository* iffStateRep() const; 00050 00052 virtual DtIffStateRepository* isr() const; 00053 00056 virtual DtReflectedIff* next() const; 00057 virtual DtReflectedIff* prev() const; 00058 virtual DtReflectedIff* wrapNext() const; 00059 virtual DtReflectedIff* wrapPrev() const; 00060 00062 virtual void addPostUpdateCallback( 00063 DtIffCallbackFunction cb, void* userData); 00064 virtual void removePostUpdateCallback( 00065 DtIffCallbackFunction cb, void* userData); 00066 00067 public: 00068 00070 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00071 00072 protected: 00073 00075 DtReflectedIff(const DtReflectedIff& orig); 00076 00078 DtReflectedIff& operator=(const DtReflectedIff& orig); 00079 00080 protected: 00081 00082 static DtStateRepCreator theStateRepCreator; 00083 }; 00084 00085 inline DtIffStateRepository* DtReflectedIff::iffStateRep() const 00086 { 00087 return (DtIffStateRepository*) myStateRep; 00088 } 00089 00090 inline DtIffStateRepository* DtReflectedIff::isr() const 00091 { 00092 return (DtIffStateRepository*) myStateRep; 00093 } 00094 00095 #endif 00096 #endif 00097