VR-Link API Documentation for HLA Evolved
dExConnInit.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef _dExConnInit_H_
00007 #define _dExConnInit_H_
00008 
00013 
00014 #if DtDIS
00015 
00016 #include <vlutil/vlUtil.h>
00017 #include <cmdLine/cmdLine.h>
00018 #include <vlutil/vlTimeStampType.h>
00019 #include <vlutil/vlString.h>
00020 #include "dExerciseConn.h"
00021 
00022 #include <mtl/appSettings.h>
00023 
00024 #include <mtl/configVar.h>
00025 #include <mtl/multiVar.h>
00026 
00027 #include <vlutil/vlDisSocket.h>
00028 #include <vlutil/vlInetAddr.h>
00029 
00030 class DtMtlEnvironment;
00031 
00035 class DT_DLL_VL DtExerciseConnInitializer
00036 {
00037 public:
00039    DtExerciseConnInitializer();
00040 
00042    virtual ~DtExerciseConnInitializer();
00043 
00045    DtExerciseConnInitializer(const DtExerciseConnInitializer& orig);
00046 
00048    DtExerciseConnInitializer& operator=(const DtExerciseConnInitializer& orig);
00049 
00051    virtual void setPort(int port);
00052    
00054    virtual int port() const;
00055 
00057    virtual void setExerciseId(int id);
00058    
00060    virtual int exerciseId() const;
00061 
00063    virtual void setSiteId(int id);
00064    
00066    virtual int siteId() const;
00067 
00069    virtual void setApplicationNumber(int num);
00070    
00072    virtual int applicationNumber() const;
00073 
00075    virtual void setUseAsynchIO(bool on);
00076    
00078    virtual bool useAsynchIO() const;
00079 
00082    virtual void setDestinationAddress(const DtString &addr);
00083 
00086    virtual DtString destinationAddress() const;
00087    
00092    virtual void setSocket(DtDisSocket* sock);
00093    
00095    virtual DtDisSocket* socket() const;
00096    
00098    virtual void setNotifyLevel(int level);
00099 
00101    virtual void setDisVersionToSend(int version);
00102 
00106    virtual void setTimeStampType(DtTimeStampType relOrAbs);
00107    
00109    virtual DtTimeStampType timeStampType() const;
00110 
00112    virtual void setSendBufferSize(int numBytes);
00113    
00115    virtual int sendBufferSize() const;
00116 
00118    virtual void setReceiveBufferSize(int numBytes);
00119 
00121    virtual int receiveBufferSize() const;
00122 
00123    virtual void setUseIpv6(bool val);
00124    virtual bool useIpv6() const;
00125 
00131    virtual void setMulticastTtl(int ttl);
00132 
00134    virtual int multicastTtl() const;
00135 
00136    virtual void setMulticastAddresses(const std::vector<DtString>& addresses);
00137    
00138    virtual const std::vector<DtString>& multicastAddresses() const;
00139 
00142    virtual void setDeviceAddress(const DtString& devAddr);
00143 
00145    virtual DtString deviceAddress() const;
00146 
00148    virtual void setSubnetMask(const DtString& mask);
00149 
00151    virtual DtString subnetMask() const;
00152 
00154    virtual void setSuppressSelfReflect(bool yesNo);
00155 
00157    virtual bool suppressSelfReflect() const;
00158 
00159 private:
00160    int                   myPort;
00161    int                   myExerciseId;
00162    int                   mySiteId;
00163    int                   myApplicationNumber;
00164    bool                  myUseAsynchIO;
00165    DtTimeStampType       myTimeStampType;
00166    int                   mySendBufferSize;
00167    int                   myReceiveBufferSize;
00168    int                   myMulticastTtl;
00169    std::vector<DtString> myMulticastAddresses;
00170    bool                  myUseIpv6;
00171    bool                  mySuppressSelfReflect;
00172    DtString              myDeviceAddress;
00173    DtString              myDestinationAddress;
00174    DtString              mySubnetMask;
00175    DtDisSocket*          mySocket;
00176 };
00177 
00189 class DT_DLL_VL DtVrlApplicationInitializer : public DtExerciseConnInitializer
00190 {
00191 public:
00192    DtVrlApplicationInitializer(int argc, char* argv[], const DtString& appName,
00193       const DtString& version = DtExerciseConn::vrlinkVersion());
00194 
00195    virtual ~DtVrlApplicationInitializer();
00196 
00197    virtual void parseCmdLine();
00198 
00202    virtual void loadFile(const DtString& fileName);
00203 
00205    virtual void saveFile(const DtString& filename);
00206 
00207 
00209    virtual int argc() const;
00210 
00212    virtual char** argv() const;
00213 
00214    virtual void setPort(int port);
00215    virtual int port() const;
00216 
00217    virtual void setExerciseId(int id);
00218    virtual int exerciseId() const;
00219 
00220    virtual void setApplicationNumber(int num);
00221    virtual int applicationNumber() const;
00222 
00223    virtual void setSiteId(int id);
00224    virtual int siteId() const;
00225 
00226    virtual void setDestinationAddress(const DtString& address);
00227    virtual DtString destinationAddress() const;
00228 
00229    virtual void setNotifyLevel(int level);
00230 
00231    virtual void setSendBufferSize(int numBytes);
00232    virtual int sendBufferSize() const;
00233 
00234    virtual void setReceiveBufferSize(int numBytes);
00235    virtual int receiveBufferSize() const;
00236 
00238    virtual void setUseAsynchIO(bool on);
00239 
00241    virtual bool useAsynchIO() const;
00242 
00243 
00246    virtual void setMulticastTtl(int ttl);
00247 
00250    virtual int multicastTtl() const;
00251 
00254    virtual void setTimeStampType(DtTimeStampType relOrAbs);
00255 
00257    virtual DtTimeStampType timeStampType() const;
00258 
00259    virtual const std::vector<DtString>& multicastAddresses() const;
00260 
00261    virtual void setUseIpv6(bool val);
00262    virtual bool useIpv6() const;
00263 
00265    virtual void setSuppressSelfReflect(bool yesNo);
00266 
00268    virtual bool suppressSelfReflect() const;
00269 
00272    virtual void setDeviceAddress(const DtString& devAddr);
00273 
00275    virtual DtString deviceAddress() const;
00276 
00278    virtual void setSubnetMask(const DtString& mask);
00279 
00281    virtual DtString subnetMask() const;
00282 
00283 protected:
00284 
00285    int myArgc;
00286    char** myArgv;
00287    DtMtlEnvironment* myMtlEnv;
00288 
00289    virtual void initializeMtlParams();
00290    virtual void loadMtlFile(const DtString& fileName);
00291 
00292    DtApplicationSettings           mySettings;
00293    DtConfigVariable<int>           myNotifyLevel;
00294    DtVariableGroup                 myDisConnection;
00295    DtConfigVariable<int>           myConfigVarPort;
00296    DtConfigVariable<int>           myConfigVarExerciseId;
00297    DtConfigVariable<int>           myConfigVarSiteNumber;
00298    DtConfigVariable<int>           myConfigVarApplicationNumber;
00299    DtConfigVariable<int>           myConfigVarDisVersion;
00300    DtConfigVariable<DtString>      myConfigVarDestinationAddress;
00301    DtConfigVariable<int>           myConfigVarSendBufferSize;
00302    DtConfigVariable<int>           myConfigVarReceiveBufferSize;
00303    DtConfigVariable<bool>          myConfigVarUseAsyncIo;
00304    DtConfigVariable<bool>          myConfigVarUseIpv6;
00305    DtConfigVariable<bool>          myConfigVarSuppressSelfReflect;
00306    DtConfigVariable<bool>          myConfigVarUseAbsoluteTimestamps;
00307    DtConfigVariable<int>           myConfigVarMulticastTtl;
00308    DtMultiConfigVariable<DtString> myConfigVarMulticastAddresses;
00309    DtConfigVariable<DtString>      myConfigVarDeviceAddress;
00310    DtConfigVariable<DtString>      myConfigVarSubnetMask;
00311 
00312    mutable DtInetAddr myCachedDestAddr;
00313    int myMtlUseAsynchronousIO;
00314    int myMtlUseAbsoluteTimeStamps;
00315    int myMtlUseIpv6;
00316    int myMtlSuppressSelfReflect;
00317 };
00318 
00319 #endif //! DtDIS
00320 #endif //! _dExConnInit_H_
00321 

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)