![]() |
VR-Link API Documentation for HLA 1.3
|
00001 #ifndef hIffPub_H_ 00002 #define hIffPub_H_ 00003 00004 #if DtHLA 00005 00006 #include "hObjPub.h" 00007 #include "iffSR.h" 00008 00012 00013 class DT_DLL_VL DtIffStateRepository; 00014 00022 00023 class DT_DLL_VL DtIffPublisher : public DtObjectPublisher 00024 { 00025 public: 00026 00028 typedef DtIffStateRepository* (*DtStateRepCreator)(); 00029 00030 public: 00031 00033 DtIffPublisher( 00034 DtIffStateRepository *stateRepToUse, 00035 DtExerciseConn* conn, 00036 const char* name = 0, 00037 const DtDDMRegionSet* regionSetToUse = 0); 00038 00040 DtIffPublisher( 00041 RTI::ObjectClassHandle h, 00042 DtExerciseConn* conn, 00043 const char* name = 0, 00044 const DtDDMRegionSet* regionSetToUse = 0); 00045 00047 DtIffPublisher( 00048 DtIffAtcNavaidsSysType type, 00049 DtExerciseConn* conn, 00050 const char* name = 0, 00051 const DtDDMRegionSet* regionSetToUse = 0); 00052 00058 DtIffPublisher(DtHlaObjectWithStateRep* obj, DtExerciseConn* conn); 00059 00061 virtual ~DtIffPublisher(); 00062 00065 virtual DtIffStateRepository* iffStateRep(); 00066 00068 virtual DtIffStateRepository* isr(); 00069 00070 public: 00071 00073 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00074 00075 protected: 00076 00078 DtIffPublisher(const DtIffPublisher& orig); 00079 00081 DtIffPublisher& operator=(const DtIffPublisher& orig); 00082 00086 const char* objectClassNameFromType(DtIffAtcNavaidsSysType type); 00087 00088 protected: 00089 00090 static DtStateRepCreator theStateRepCreator; 00091 00092 }; 00093 00094 inline DtIffStateRepository* DtIffPublisher::iffStateRep() 00095 { 00096 return (DtIffStateRepository*) myStateRep; 00097 } 00098 00099 inline DtIffStateRepository* DtIffPublisher::isr() 00100 { 00101 return (DtIffStateRepository*) myStateRep; 00102 } 00103 00104 #endif 00105 #endif 00106