MAK RTIspy API Documentation for HLA 1516
 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 
97  virtual bool isEquivalentLightweight(const DtRtiConnectionInfo& other) const;
98 
101  virtual bool isLocalHost() const;
102 
105  virtual bool conflictsWith( const DtRtiConnectionInfo& other,
106  MAKRti::DtString& reason ) const;
107 
109  virtual MAKRti::DtString defaultName() const;
110 
112  virtual MAKRti::DtString description() const;
113 
115  virtual MAKRti::DtString hostName() const;
116 
118  virtual void setHostName( const MAKRti::DtString& host, bool skipLookup = false );
119 
121  virtual void setHostName(const MAKRti::DtString& host, const DtInetAddr& newIp);
122 
124  virtual const DtHostNameAddress& hostNameAddress() const;
125 
127  virtual const MAKRti::DtInetAddr& tcpAddress() const;
128 
130  virtual void setTcpAddress( const MAKRti::DtInetAddr& ip );
131 
133  virtual int tcpPort() const;
134 
136  virtual void setTcpPort( int port );
137 
139  virtual const MAKRti::DtInetAddr& udpAddress() const;
140 
142  virtual void setUdpAddress( const MAKRti::DtInetAddr& ip );
143 
145  virtual int udpPort() const;
146 
148  virtual void setUdpPort( int port );
149 
151  virtual const MAKRti::DtInetAddr& udpInterfaceAddr() const;
152 
154  virtual void setUdpInterfaceAddr( const MAKRti::DtInetAddr& addr );
155 
157  virtual bool useRtiexec() const;
158 
160  virtual void setUseRtiexec( bool useExec );
161 
163  virtual int forwarderPort() const;
164 
166  virtual void setForwarderPort( int port );
167 
169  virtual bool isValid() const;
170 
172  virtual MAKRti::DtString hostPort() const;
173 
175  virtual const MAKRti::DtInetAddr& localTcpInterfaceAddr() const;
176 
178  virtual void setLocalTcpInterfaceAddr( const MAKRti::DtInetAddr& addr );
179 
181  virtual const MAKRti::DtInetAddr& localUdpInterfaceAddr() const;
182 
184  virtual void setLocalUdpInterfaceAddr( const MAKRti::DtInetAddr& addr );
185 
186  virtual void setIsRoutesFileBased(bool val) { myIsRoutesFileBased = val; };
187  virtual bool isRoutesFileBased() const { return myIsRoutesFileBased; };
188 
190  virtual void print(DtOutputStream& os = DtInfo) const;
191 
193  virtual void setPublicAddress(const MAKRti::DtInetAddr& publicAddr);
194 
196  virtual const MAKRti::DtInetAddr& publicAddress() const;
197 
198 public:
199 
201  static const DtRtiConnectionInfo& invalidConn();
202 
206  static void setLocalIpAddresses( bool reset = false );
207 
209  static const DtInetAddrSet& localIpAddresses();
210 
212  static bool localSupportsIPv4(bool reset = false);
213 
215  static bool localSupportsIPv6(bool reset = false);
216 
218  static MAKRti::DtString constructConnName( const DtHostNameAddress& hostAddr, int tcpPort,
219  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
220  bool useRtiexec, int forwarderPort );
221 
223  static MAKRti::DtString constructConnDescription( const DtHostNameAddress& hostAddr, int tcpPort,
224  const MAKRti::DtInetAddr& udpAddress, int udpPort, const MAKRti::DtInetAddr& udpInterfaceAddr,
225  bool useRtiexec, int forwarderPort,
226  const MAKRti::DtInetAddr& localTcpInterfaceAddr, const MAKRti::DtInetAddr& localUdpInterfaceAddr );
227 
228 
230  static MAKRti::DtString hostPort(const MAKRti::DtString& host, int port);
231 
233  static const MAKRti::DtInetAddr& defaultTcpAddress();
235  static const MAKRti::DtInetAddr& defaultUdpAddress();
236  static int defaultLightweightPort();
237  static int defaultRtiexecPort();
238  static const MAKRti::DtString& defaultHostName();
239  static const MAKRti::DtInetAddr& defaultTcpInterfaceAddr();
240  static const MAKRti::DtInetAddr& defaultUdpInterfaceAddr();
241  static int defaultForwarderPort();
243 
244 protected:
245 
252  static DtInetAddrSet& theLocalIpAddresses();
253 
254 protected:
255 
258 
261 
263  MAKRti::DtInetAddr myUdpAddress;
264 
267 
269  MAKRti::DtInetAddr myUdpInterfaceAddr;
270 
272  MAKRti::DtInetAddr myLocalTcpInterfaceAddr;
274 
276  MAKRti::DtInetAddr myLocalUdpInterfaceAddr;
278 
281 
284 
286 
288  MAKRti::DtInetAddr myPublicAddress;
289 };
290 
292 {
293  return theLocalIpAddresses();
294 }
295 
296 
297 
298 
299 #endif
bool myUseRtiexec
Whether or not an rtiexec should be used.
Definition: assistantConnectionInfo.h:280
This file contains the declaration of DtAssistantInfo.
int myUdpPort
UDP port for the connection.
Definition: assistantConnectionInfo.h:266
MAKRti::DtInetAddr myPublicAddress
Public IP address.
Definition: assistantConnectionInfo.h:288
static const DtInetAddrSet & localIpAddresses()
Returns list of local IP addresses.
Definition: assistantConnectionInfo.h:291
virtual void setIsRoutesFileBased(bool val)
Definition: assistantConnectionInfo.h:186
std::pair< DtRtiConnectionInfo, DtRtiAssociatedConnectionData > DtRtiConnectionInfoDataPair
Pair of connection with associated data.
Definition: assistantConnectionInfo.h:29
This file contains the declaration of Assistant Utility Functions.
bool myLocalTcpInterfaceAddrIsSet
Definition: assistantConnectionInfo.h:273
DT_DLL_ASSISTANT MAKRti::DtString DtAssistantConnNameForDisplay(const DtRtiConnectionInfoDataPair &conn, bool withOwner, bool withInterface)
Returns the connection name that should be used for display purposes.
MAKRti::DtInetAddr myLocalUdpInterfaceAddr
UDP interface address to use for this connection on local machine.
Definition: assistantConnectionInfo.h:276
#define DT_DLL_ASSISTANT
_WIN32
Definition: rtiMsConfig.h:121
int myForwarderPort
The port used by the forwarder to connect to other forwarders.
Definition: assistantConnectionInfo.h:283
DtHostNameAddress myHostNameAddress
Host of the rtiexec or forwarder (TCP IP)
Definition: assistantConnectionInfo.h:257
DtHostNameAddress stores information on a host, input as either hostname, IP address, or both.
Definition: hostNameAddress.h:23
DT_DLL_RTIUTIL typedef std::set< MAKRti::DtInetAddr > DtInetAddrSet
Definition: rtiUtil.h:389
This file contains the declaration of DtRtiAssociatedConnectionData.
std::map< DtRtiConnectionInfo, DtRtiAssociatedConnectionData > DtRtiConnectionInfoDataMap
Map connections to their associated data.
Definition: assistantConnectionInfo.h:23
MAKRti::DtInetAddr myUdpInterfaceAddr
UDP interface address to use for this connection on host machine.
Definition: assistantConnectionInfo.h:269
bool myIsRoutesFileBased
Definition: assistantConnectionInfo.h:285
int myTcpPort
TCP port for the connection.
Definition: assistantConnectionInfo.h:260
virtual bool isRoutesFileBased() const
Definition: assistantConnectionInfo.h:187
bool myLocalUdpInterfaceAddrIsSet
Definition: assistantConnectionInfo.h:277
MAKRti::DtInetAddr myUdpAddress
UDP IP address for best effort transport.
Definition: assistantConnectionInfo.h:263
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
static DtInetAddrSet & theLocalIpAddresses()
Returns a reference to a static map of local IP addresses to netmasks.
MAKRti::DtInetAddr myLocalTcpInterfaceAddr
TCP interface address to use for this connection on local machine.
Definition: assistantConnectionInfo.h:272

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)