MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
assistantConnectionInfo.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: assistantConnectionInfo.h,v $ $Revision: 1.35 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef assistantConnectionInfo_H_
10 #define assistantConnectionInfo_H_
11 
14 
15 #include <rtiUtil.h>
16 #include <vlutil/vlString.h>
17 #include <vlutil/vlMutex.h>
18 #include "assistantUtil.h"
19 #include "assistantInfo.h"
21 #include <hostNameAddress.h>
22 
24 
26 typedef std::map<DtRtiConnectionInfo,DtRtiAssociatedConnectionData> DtRtiConnectionInfoDataMap;
27 
29 typedef std::pair<DtRtiConnectionInfo,DtRtiAssociatedConnectionData> DtRtiConnectionInfoDataPair;
30 
33  bool withOwner, bool withInterface );
34 
37 {
38 public:
39 
42 
44  DtRtiConnectionInfo(const MAKRti::DtString& hostname,
45  const MAKRti::DtInetAddr& publicAddr,
46  const MAKRti::DtInetAddr& tcpAddress, int tcpPort,
47  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
48  int forwarderPort );
50  const MAKRti::DtInetAddr& publicAddr,
51  const MAKRti::DtInetAddr& tcpAddress, int tcpPort,
52  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
53  int forwarderPort );
54 
57  const MAKRti::DtInetAddr& publicAddr, const MAKRti::DtInetAddr& udpAddress, int port,
58  const MAKRti::DtInetAddr& udpInterfaceAddr );
59 
62  const MAKRti::DtInetAddr& publicAddr, int tcpPort,
63  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
64  bool useRtiexec, int forwarderPort );
65 
67  virtual ~DtRtiConnectionInfo();
68 
76  virtual bool operator<(const DtRtiConnectionInfo& other) const;
77 
79  virtual bool operator==(const DtRtiConnectionInfo& other) const;
80 
82  virtual bool operator!=(const DtRtiConnectionInfo& other) const;
83 
86  virtual DtRtiConnectionInfo& operator=(const DtRtiConnectionInfo& other);
87 
90  virtual bool isEquivalentHost( const DtRtiConnectionInfo& other ) const;
91 
94  virtual bool isEquivalentHostAllInterfaces(const DtRtiConnectionInfo& other) const;
95 
98  virtual bool isLocalHost() const;
99 
102  virtual bool conflictsWith( const DtRtiConnectionInfo& other,
103  MAKRti::DtString& reason ) const;
104 
106  virtual MAKRti::DtString defaultName() const;
107 
109  virtual MAKRti::DtString description() const;
110 
112  virtual MAKRti::DtString hostName() const;
113 
115  virtual void setHostName( const MAKRti::DtString& host, bool skipLookup = false );
116 
118  virtual void setHostName(const MAKRti::DtString& host, const DtInetAddr& newIp);
119 
121  virtual const DtHostNameAddress& hostNameAddress() const;
122 
124  virtual const MAKRti::DtInetAddr& tcpAddress() const;
125 
127  virtual void setTcpAddress( const MAKRti::DtInetAddr& ip );
128 
130  virtual int tcpPort() const;
131 
133  virtual void setTcpPort( int port );
134 
136  virtual const MAKRti::DtInetAddr& udpAddress() const;
137 
139  virtual void setUdpAddress( const MAKRti::DtInetAddr& ip );
140 
142  virtual int udpPort() const;
143 
145  virtual void setUdpPort( int port );
146 
148  virtual const MAKRti::DtInetAddr& udpInterfaceAddr() const;
149 
151  virtual void setUdpInterfaceAddr( const MAKRti::DtInetAddr& addr );
152 
154  virtual bool useRtiexec() const;
155 
157  virtual void setUseRtiexec( bool useExec );
158 
160  virtual int forwarderPort() const;
161 
163  virtual void setForwarderPort( int port );
164 
166  virtual bool isValid() const;
167 
169  virtual MAKRti::DtString hostPort() const;
170 
172  virtual const MAKRti::DtInetAddr& localTcpInterfaceAddr() const;
173 
175  virtual void setLocalTcpInterfaceAddr( const MAKRti::DtInetAddr& addr );
176 
178  virtual const MAKRti::DtInetAddr& localUdpInterfaceAddr() const;
179 
181  virtual void setLocalUdpInterfaceAddr( const MAKRti::DtInetAddr& addr );
182 
183  virtual void setIsRoutesFileBased(bool val) { myIsRoutesFileBased = val; };
184  virtual bool isRoutesFileBased() const { return myIsRoutesFileBased; };
185 
187  virtual void print(DtOutputStream& os = DtInfo) const;
188 
190  virtual void setPublicAddress(const MAKRti::DtInetAddr& publicAddr);
191 
193  virtual const MAKRti::DtInetAddr& publicAddress() const;
194 
195 public:
196 
198  static const DtRtiConnectionInfo& invalidConn();
199 
203  static void setLocalIpAddresses( bool reset = false );
204 
206  static const DtInetAddrSet& localIpAddresses();
207 
209  static bool localSupportsIPv4(bool reset = false);
210 
212  static bool localSupportsIPv6(bool reset = false);
213 
215  static MAKRti::DtString constructConnName( const DtHostNameAddress& hostAddr, int tcpPort,
216  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
217  bool useRtiexec, int forwarderPort );
218 
220  static MAKRti::DtString constructConnDescription( const DtHostNameAddress& hostAddr, int tcpPort,
221  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
222  bool useRtiexec, int forwarderPort,
223  const MAKRti::DtInetAddr& localTcpInterfaceAddr, const MAKRti::DtInetAddr& localUdpInterfaceAddr );
224 
225 
227  static MAKRti::DtString hostPort(const MAKRti::DtString& host, int port);
228 
230 
231  static const MAKRti::DtInetAddr& defaultTcpAddress();
232  static const MAKRti::DtInetAddr& defaultUdpAddress();
233  static int defaultLightweightPort();
234  static int defaultRtiexecPort();
235  static const MAKRti::DtString& defaultHostName();
236  static const MAKRti::DtInetAddr& defaultTcpInterfaceAddr();
237  static const MAKRti::DtInetAddr& defaultUdpInterfaceAddr();
238  static int defaultForwarderPort();
240 
241 protected:
242 
249  static DtInetAddrSet& theLocalIpAddresses();
250 
251 protected:
252 
255 
258 
260  MAKRti::DtInetAddr myUdpAddress;
261 
264 
266  MAKRti::DtInetAddr myUdpInterfaceAddr;
267 
269  MAKRti::DtInetAddr myLocalTcpInterfaceAddr;
271 
273  MAKRti::DtInetAddr myLocalUdpInterfaceAddr;
275 
278 
281 
283 
285  MAKRti::DtInetAddr myPublicAddress;
286 };
287 
289 {
290  return theLocalIpAddresses();
291 }
292 
293 
294 
295 
296 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)