![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef hActiveSonarPub_H_ 00007 #define hActiveSonarPub_H_ 00008 00009 #if DtHLA 00010 00014 00015 #include "hObjPub.h" 00016 00017 class DtActiveSonarStateRepository; 00018 00023 class DT_DLL_VL DtActiveSonarPublisher : public DtObjectPublisher 00024 { 00025 public: 00027 typedef DtActiveSonarStateRepository* (*DtStateRepCreator)(); 00028 00029 public: 00031 DtActiveSonarPublisher( 00032 DtActiveSonarStateRepository* stateRepToUse, 00033 DtExerciseConn* conn, 00034 const char* name = 0, 00035 const DtDDMRegionSet* regionSetToUse = 0); 00036 00038 DtActiveSonarPublisher( 00039 RTI::ObjectClassHandle h, 00040 DtExerciseConn* conn, 00041 const char* name = 0, 00042 const DtDDMRegionSet* regionSetToUse = 0); 00043 00045 DtActiveSonarPublisher( 00046 DtExerciseConn* conn, 00047 const char* name = 0, 00048 const DtDDMRegionSet* regionSetToUse = 0); 00049 00055 DtActiveSonarPublisher( DtHlaObjectWithStateRep* obj, DtExerciseConn* conn); 00056 00058 virtual ~DtActiveSonarPublisher(); 00059 00062 virtual DtActiveSonarStateRepository* activeSonarStateRep(); 00063 00065 virtual DtActiveSonarStateRepository* asr(); 00066 00069 virtual const char* classToUse() const; 00070 00071 public: 00073 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00074 00075 protected: 00077 DtActiveSonarPublisher(const DtActiveSonarPublisher& orig); 00078 00080 DtActiveSonarPublisher& operator=( 00081 const DtActiveSonarPublisher& orig); 00082 00083 protected: 00084 static DtStateRepCreator theStateRepCreator; 00085 }; 00086 00087 inline DtActiveSonarStateRepository* DtActiveSonarPublisher::activeSonarStateRep() 00088 { 00089 return (DtActiveSonarStateRepository*) myStateRep; 00090 } 00091 00092 inline DtActiveSonarStateRepository* DtActiveSonarPublisher::asr() 00093 { 00094 return (DtActiveSonarStateRepository*) myStateRep; 00095 } 00096 00097 00098 #endif //! DtHLA 00099 #endif