![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef tExConnInit_H_ 00007 #define tExConnInit_H_ 00008 00013 00014 #if DtTENA 00015 00016 #include "tExerciseConn.h" 00017 #include <vlutil/vlString.h> 00018 00019 #include <mtl/configVar.h> 00020 #include <mtl/appSettings.h> 00021 00022 class DT_DLL_VL DtMtlEnvironment; 00023 00024 00028 class DT_DLL_VL DtExerciseConnInitializer 00029 { 00030 public: 00032 DtExerciseConnInitializer(); 00033 00035 virtual ~DtExerciseConnInitializer(); 00036 00038 DtExerciseConnInitializer(const DtExerciseConnInitializer& orig); 00039 00041 DtExerciseConnInitializer& operator=(const DtExerciseConnInitializer& orig); 00042 00045 virtual void setOrbDefaultInitRef(const DtString& str); 00046 00048 virtual DtString orbDefaultInitRef() const; 00049 00051 virtual void setExecutionName(const DtString& str); 00052 00054 virtual DtString executionName() const; 00055 00057 virtual void setApplicationNumber(int num); 00058 00060 virtual int applicationNumber() const; 00061 00063 virtual void setSiteId(int id); 00064 00066 virtual int siteId() const; 00067 00069 virtual void setSessionName(const DtString& str); 00070 00072 virtual DtString sessionName() const; 00073 00074 virtual void setOrbListenEndpoints(const DtString& str); 00075 virtual DtString orbListenEndpoints() const; 00076 00078 virtual DtString lromMapperLibName() const; 00079 00081 virtual void setLromMapperLibName(const DtString& name); 00082 00084 virtual void* lromMapperInitData() const; 00085 00087 virtual void setLromMapperInitData(void* data); 00088 00090 virtual void setUseAmo(bool yesNo); 00091 00094 virtual bool useAmo() const; 00095 00097 virtual void setGenerateDiagnosticsLog(bool yesNo); 00098 00101 virtual bool generateDiagnosticsLog() const; 00102 00103 virtual void setMulticastTtl(int ttl); 00104 00105 virtual int multicastTtl() const; 00106 00107 virtual void setMulticastInterface(const DtString& mcInterface); 00108 00109 virtual DtString multicastInterface() const; 00110 00113 virtual void setTransportType(TENA::Middleware::CommunicationProperties transportType); 00114 00116 virtual TENA::Middleware::CommunicationProperties transportType() const; 00117 00119 virtual void setNotifyLevel(int level); 00120 00121 00122 private: 00123 00124 int mySiteId; 00125 int myApplicationNumber; 00126 DtString myExecutionName; 00127 DtString mySessionName; 00128 DtString myOrbListenEndpoints; 00129 DtString myOrbDefaultInitRef; 00130 DtString myLromMapperLibName; 00131 void* myLromMapperInitData; 00132 bool myUseAmo; 00133 bool myGenerateDiagnosticsLog; 00134 int myMulticastTtl; 00135 DtString myMulticastInterface; 00136 TENA::Middleware::CommunicationProperties myTransportType; 00137 }; 00138 00151 class DT_DLL_VL DtVrlApplicationInitializer : public DtExerciseConnInitializer 00152 { 00153 public: 00155 DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName, 00156 const DtString& version = DtExerciseConn::vrlinkVersion(), 00157 #ifdef _WIN32 00158 bool pressAnyKey = true); 00159 #else 00160 bool pressAnyKey = false); 00161 #endif 00162 00164 virtual ~DtVrlApplicationInitializer(); 00165 00166 00171 virtual void parseCmdLine(); 00172 virtual void loadFile(const DtString& fileName); 00173 virtual void saveFile(const DtString& filename); 00174 00175 00177 virtual void setOrbListenEndpoints(const DtString& str); 00178 00180 virtual DtString orbListenEndpoints() const; 00181 00183 virtual void setOrbDefaultInitRef(const DtString& str); 00184 00186 virtual DtString orbDefaultInitRef() const; 00187 00189 virtual void setApplicationNumber(int num); 00190 00192 virtual int applicationNumber() const; 00193 00195 virtual void setSiteId(int id); 00196 00198 virtual int siteId() const; 00199 00201 virtual void setExecutionName(const DtString& str); 00202 00204 virtual DtString executionName() const; 00205 00207 virtual void setSessionName(const DtString& str); 00208 00210 virtual DtString sessionName() const; 00211 00213 virtual void setLromMapperLibName(const DtString& name); 00214 00216 virtual DtString lromMapperLibName() const; 00217 00219 virtual void* lromMapperInitData() const; 00220 00222 virtual void setLromMapperInitData(void* data); 00223 00224 virtual void setMulticastTtl(int ttl); 00225 00226 virtual int multicastTtl() const; 00227 00228 virtual void setMulticastInterface(const DtString& mcInterface); 00229 00230 virtual DtString multicastInterface() const; 00231 00234 virtual void setTransportType(TENA::Middleware::CommunicationProperties transportType); 00235 00237 virtual TENA::Middleware::CommunicationProperties transportType() const; 00238 00240 virtual void setGenerateDiagnosticsLog(bool yesNo); 00241 00244 virtual bool generateDiagnosticsLog() const; 00245 00247 virtual void setUseAmo(bool yesNo); 00248 00251 virtual bool useAmo() const; 00252 00253 00255 virtual int argc() const; 00256 00258 virtual char** argv() const; 00259 00260 protected: 00264 virtual void loadMtlFile(const DtString& fileName); 00265 00268 virtual void initializeMtlParams(); 00269 00270 protected: 00271 00272 int myArgc; 00273 char** myArgv; 00274 00275 DtMtlEnvironment* myMtlEnv; 00276 00277 DtApplicationSettings mySettings; 00278 DtConfigVariable<int> myNotifyLevel; 00279 DtVariableGroup myTenaConnection; 00280 DtConfigVariable<DtString> myConfigVarOrbListenEndpoints; 00281 DtConfigVariable<DtString> myConfigVarOrbDefaultInitRef; 00282 DtConfigVariable<int> myConfigVarApplicationNumber; 00283 DtConfigVariable<int> myConfigVarSiteId; 00284 DtConfigVariable<DtString> myConfigVarExecutionName; 00285 DtConfigVariable<DtString> myConfigVarSessionName; 00286 DtConfigVariable<DtString> myConfigVarLromMapperLibName; 00287 DtConfigVariable<DtString> myConfigVarLromMapperInitData; 00288 DtConfigVariable<int> myConfigVarMulticastTtl; 00289 DtConfigVariable<DtString> myConfigVarMulticastInterface; 00290 DtConfigVariable<bool> myConfigVarUseBestEffort; 00291 DtConfigVariable<bool> myConfigVarGenerateDiagnosticsLog; // Cfg file only 00292 DtConfigVariable<bool> myNoDiagnosticsLog; // Cmd Line only 00293 DtConfigVariable<bool> myConfigVarUseAmo; // file only 00294 DtConfigVariable<bool> myNoAmo; //cmdline only 00295 00296 int myMtlUseBestEffort; 00297 int myMtlGenerateDiagnosticsLog; 00298 int myMtlUseAmo; 00299 }; 00300 00301 #endif //! #if DtTENA 00302 #endif //! #ifndef _hExConnInit_H_ 00303