VR-Link API Documentation for HLA 1.3
hExConnInit.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 #ifndef hExConnInit_H_
00006 #define hExConnInit_H_
00007 
00011 
00012 #if DtHLA
00013 
00014 #include <vlutil/vlString.h>
00015 
00016 #include <mtl/appSettings.h>
00017 #include <mtl/configVar.h>
00018 #include <mtl/multiVar.h>
00019 
00020 
00021 #include <cmdLine/cmdLine.h>
00022 #include "fomMapper.h"
00023 #include "hExerciseConn.h"
00024 
00025 class DtMtlEnvironment;
00026 
00027 
00031 class DT_DLL_VL DtExerciseConnInitializer
00032 {
00033 public:
00035    DtExerciseConnInitializer();
00036 
00038    virtual ~DtExerciseConnInitializer();
00039 
00041    DtExerciseConnInitializer(const DtExerciseConnInitializer& orig);
00042 
00044    DtExerciseConnInitializer& operator=(const DtExerciseConnInitializer& orig);
00045 
00047    virtual DtString execName() const;
00048 
00050    virtual void setExecName(const DtString& name);
00051 
00052 #if DtHLA_1516_EVOLVED
00053 
00054 
00055    virtual DtString federateName() const;
00056 
00058    virtual void setFederateName(const DtString& name);
00059 #endif
00060 
00062    virtual DtString federateType() const;
00063 
00066    virtual void setFederateType(const DtString& type);
00067 
00069    virtual DtString fedFileName() const;
00070    
00072    virtual void setFedFileName(const DtString& name);
00073 
00075    virtual DtFomMapper* fomMapper() const;
00076    
00078    virtual void setFomMapper(DtFomMapper* mapper);
00079 
00082    virtual DtString fomMapperLibName() const;
00083 
00085    virtual void setFomMapperLibName(const DtString& name);
00086 
00088    virtual void* fomMapperInitData() const;
00089 
00091    virtual void setFomMapperInitData(void* data);
00092 
00099    virtual void setRprFomVersion(double version);
00100 
00102    virtual double rprFomVersion() const;
00103    
00104 
00107    virtual void setReflecting(bool onOff);
00108 
00110    virtual bool reflecting() const;
00111 
00125    virtual void setReflectRemoteUpdatesIntoPub(bool onOff);
00126 
00128    virtual bool reflectRemoteUpdatesIntoPub() const;
00129 
00136    virtual void setReflectThroughRti(bool onOff);
00137 
00139    virtual bool reflectThroughRti() const;
00140 
00148    virtual void setUseAdvisories(bool onOff);
00149 
00151    virtual bool useAdvisories() const;
00152 
00158    virtual void setReplyToSynchPoints(bool onOff);
00159 
00161    virtual bool replyToSynchPoints() const;
00162 
00168    virtual void setAutoSubscribe(bool onOff);
00169 
00171    virtual bool autoSubscribe() const;
00172 
00176    virtual void setTimeStampType(DtTimeStampType relOrAbs);
00177    
00179    virtual DtTimeStampType timeStampType() const;
00180 
00186    virtual void setDestroyFedExec(bool onOff);
00187    
00189    virtual bool destroyFedExec() const;
00190 
00195    virtual void setSendFedTime(bool onOff);
00196    
00198    virtual bool sendFedTime() const;
00199 
00201    virtual void setNotifyLevel(int level);
00202 
00204    virtual void setUseGeographicDdm(bool yesNo);
00205 
00207    virtual bool useGeographicDdm() const;
00208 
00214    virtual void setRprFomRevision(int val);
00217    virtual int rprFomRevision() const;
00218    
00219 
00220 #if DtHLA_1516_EVOLVED
00221 
00223    virtual void setMimModule(const DtString& mimFomModule);
00225    virtual DtString mimModule() const;
00226 
00228    virtual void addFomModule(const DtString& module);
00230    virtual void setFomModules(const std::vector<DtString>& fomModules);
00231 
00233    virtual void fomModules(std::vector<DtString>& fomModules) const;
00235    virtual void fomModules(std::vector<std::wstring>& fomModules) const;
00236 
00238    virtual void setLocalSettingsDesignator( const std::wstring & localSettingsDesignator );
00240    virtual void setLocalSettingsDesignator( const DtString & localSettingsDesignator );
00242    virtual std::wstring localSettingsDesignator() const;
00243 
00244 #elif DtHLA_1516
00245 
00247    virtual void setRtiArguments(const std::vector<std::wstring>& args);
00248 
00250    virtual void setRtiArguments(const std::vector<DtString>& args);
00251 
00253    virtual void rtiArguments(std::vector<std::wstring>& args) const;
00254 
00255 #endif
00256 
00259 private:
00260    DtString myExecName;
00261    DtString myFederateType;
00262 #if DtHLA_1516_EVOLVED
00263    DtString myFederateName;
00264 #endif
00265    DtFomMapper* myFomMapper;
00266    DtString myFomMapperLibName;
00267    void* myFomMapperInitData;
00268    double myRprFomVersion;
00269    bool myReflecting;
00270    bool myUseAdvisories;
00271    bool myReplyToSynchPoints;
00272    bool myAutoSubscribe;
00273    bool myReflectRemoteUpdatesIntoPub;
00274    bool myReflectThroughRti;
00275    DtTimeStampType myTimeStampType;
00276    bool myDestroyFedExec;
00277    bool mySendFedTime;
00278    bool myUseGeographicDdm;
00279    int  myRprFomRevision;
00280 
00281 #if DtHLA_1516_EVOLVED
00282    std::wstring myLocalSettingsDesignator;
00283 #elif DtHLA_1516
00284    std::vector<std::wstring> myRtiArguments;
00285 #endif
00286 
00289    DtString myFedFileName;
00290 
00293    std::vector<DtString> myFomModules;
00294 
00295    DtString myMimModule;
00296 
00297 };
00298 
00310 class DT_DLL_VL DtVrlApplicationInitializer : public DtExerciseConnInitializer
00311 {
00312 public:
00314    DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName, 
00315       const DtString& version = DtExerciseConn::vrlinkVersion(), 
00316 #ifdef _WIN32
00317       bool pressAnyKey = true);
00318 #else
00319       bool pressAnyKey = false);
00320 #endif
00321 
00323    virtual ~DtVrlApplicationInitializer();
00324    
00326    virtual int argc() const;
00327 
00329    virtual char** argv() const;
00330 
00335    virtual void parseCmdLine();
00336 
00340    virtual void loadFile(const DtString& fileName);
00341    virtual void loadMtlFile(const DtString& fileName);
00342 
00344    virtual void saveFile(const DtString& filename);
00345 
00346    //{@
00348    virtual void setExecName(const DtString& name);
00349    virtual DtString execName() const;
00351 
00352 #if DtHLA_1516_EVOLVED
00353    //{@
00356    virtual void setFederateName(const DtString& name);
00357    virtual DtString federateName() const;
00358    
00360    virtual void setLocalSettingsDesignator(const DtString& name);
00361    virtual std::wstring localSettingsDesignator() const;
00362 
00364    virtual void setMimModule(const DtString& mimFomModule);
00365    virtual DtString mimModule() const;
00367 #endif
00368 
00369    //{@
00371    virtual void setFederateType(const DtString& type);
00372    virtual DtString federateType() const;
00374 
00375    //{@
00377    void setFedFileName(const DtString& name);
00378    virtual DtString fedFileName() const;
00380 
00381    //{@
00383    virtual void setFomMapperLibName(const DtString& name);
00384    virtual DtString fomMapperLibName() const;
00386 
00387    //{@
00389    virtual void setRprFomVersion(double version);
00390    virtual double rprFomVersion() const;
00392 
00393    //{@
00395    virtual void* fomMapperInitData() const;
00396    virtual void setFomMapperInitData(void* data);
00398 
00399    virtual void setUseAdvisories(bool onOff);
00400 
00401    virtual bool useAdvisories() const;
00402 
00406    virtual void setTimeStampType(DtTimeStampType relOrAbs);
00407    
00409    virtual DtTimeStampType timeStampType() const;
00410 
00416    virtual void setDestroyFedExec(bool onOff);
00417    
00419    virtual bool destroyFedExec() const;
00420 
00425    virtual void setSendFedTime(bool onOff);
00426    
00428    virtual bool sendFedTime() const;
00429 
00430    virtual void setUseGeographicDdm(bool yesNo);
00431 
00432    virtual bool useGeographicDdm() const;
00433 
00434    virtual void setRprFomRevision(int val);
00435    virtual int rprFomRevision() const;
00436 
00437 protected:
00438    int myArgc;
00439    char** myArgv;
00440    DtMtlEnvironment* myMtlEnv;
00441 
00442    virtual void initializeMtlParams();
00443 
00444    DtApplicationSettings      mySettings;
00445    DtConfigVariable<int>      myConfigVarNotifyLevel;
00446    DtVariableGroup            myHlaConnection;
00447    DtConfigVariable<DtString> myConfigVarFederateType;
00448    DtConfigVariable<DtString> myConfigVarExecName;
00449    DtConfigVariable<DtString> myConfigVarFedFileName;
00450 #if DtHLA_1516_EVOLVED
00451    DtConfigVariable<DtString> myConfigVarFederateName;
00452    DtMultiConfigVariable<DtString> myConfigVarFomModules;
00453    DtConfigVariable<DtString> myConfigVarMimModule;
00454    DtConfigVariable<DtString> myConfigVarLocalSettingsDesignator;
00455 #endif
00456    DtConfigVariable<DtString> myConfigVarFomMapperLibName;
00457    DtConfigVariable<DtString> myConfigVarFomMapperInitData;
00458    DtConfigVariable<double>   myConfigVarRprFomVersion;
00459    DtConfigVariable<int>      myConfigVarRprFomRevision;
00460    DtConfigVariable<bool>     myConfigVarUseAdvisories;
00461    DtConfigVariable<bool>     myConfigVarIgnoreAdvisories;
00462    DtConfigVariable<bool>     myConfigVarUseGeographicDdm;
00463    DtConfigVariable<bool>     myConfigVarUseAbsoluteTimestamps;
00464    DtConfigVariable<bool>     myConfigVarDestroyFedExec;
00465    DtConfigVariable<bool>     myConfigVarSendFedTime;
00466    
00467    int                        myMtlUseAdvisories;
00468    int                        myMtlUseGeographicDdm;
00469    int                        myMtlUseAbsoluteTimeStamps;
00470    int                        myMtlDestroyFedExec;
00471    int                        myMtlSendFedTime;
00472 };
00473 
00474 #endif //! #if DtHLA
00475 #endif //! #ifndef _hExConnInit_H_
00476 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)