![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00009 #if DtHLA 00010 00011 #ifndef hEnvProcPub_H_ 00012 #define hEnvProcPub_H_ 00013 00014 #include "hObjPub.h" 00015 00016 00017 class DT_DLL_VL DtEnvironmentProcessRepository; 00018 00027 class DT_DLL_VL DtEnvironmentProcessPublisher : public DtObjectPublisher 00028 { 00029 public: 00030 00033 typedef DtEnvironmentProcessRepository* (*DtStateRepCreator)(); 00034 00035 public: 00036 00038 DtEnvironmentProcessPublisher( 00039 DtEnvironmentProcessRepository *stateRepToUse, 00040 DtExerciseConn* conn, 00041 const char* name = 0, 00042 const DtDDMRegionSet* regionSetToUse = 0); 00043 00045 DtEnvironmentProcessPublisher( 00046 RTI::ObjectClassHandle h, 00047 DtExerciseConn* conn, 00048 const char* name = 0, 00049 const DtDDMRegionSet* regionSetToUse = 0); 00050 00052 DtEnvironmentProcessPublisher( 00053 DtExerciseConn* conn, 00054 const char* name = 0, 00055 const DtDDMRegionSet* regionSetToUse = 0); 00056 00058 virtual ~DtEnvironmentProcessPublisher(); 00059 00062 virtual DtEnvironmentProcessRepository* environmentProcessStateRep(); 00063 00065 virtual DtEnvironmentProcessRepository* epsr(); 00066 00069 virtual const char* classToUse() const; 00070 00071 public: 00072 00074 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00075 00076 protected: 00077 00079 DtEnvironmentProcessPublisher(const DtEnvironmentProcessPublisher& orig); 00080 00082 DtEnvironmentProcessPublisher& operator= 00083 (const DtEnvironmentProcessPublisher& orig); 00084 00085 protected: 00086 00087 static DtStateRepCreator theStateRepCreator; 00088 }; 00089 00090 inline DtEnvironmentProcessRepository* 00091 DtEnvironmentProcessPublisher::environmentProcessStateRep() 00092 { 00093 return (DtEnvironmentProcessRepository*) myStateRep; 00094 } 00095 00096 inline DtEnvironmentProcessRepository* DtEnvironmentProcessPublisher::epsr() 00097 { 00098 return (DtEnvironmentProcessRepository*) myStateRep; 00099 } 00100 00101 #endif //DtEnvironmentProcessPublisher_H_ 00102 #endif //DtHLA 00103