MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
assistantInfoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: assistantInfoMsg.h,v $ $Revision: 1.25 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef DtAssistantInfoMsg_H_
10 #define DtAssistantInfoMsg_H_
11 
14 
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlUtil.h>
17 #include <rtiUtil.h>
18 
20 #include "assistantMsg.h"
22 
23 class DtAssistantInfoMsg;
24 class DtRtiAssistantPeer;
27 
28 typedef void (*DtAssistantInfoCb)(const DtAssistantInfoMsg& inter, void* usr);
29 
34 {
35 public:
36 
38  DtAssistantInfoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  virtual ~DtAssistantInfoMsg();
45 
47  virtual DtAssistantMsg* clone(bool copy = true) const;
48 
50  virtual void setRtiexecsAndForwarders(
51  const DtRtiConnectionAndConfiguration& rtiexecsAndForwarders );
52 
55  virtual void getRtiexecsAndForwarders(
56  DtRtiConnectionAndConfiguration& rtiexecsAndForwarders,
57  const MAKRti::DtInetAddr& interfaceReceivedOn, bool ignoreInterface=false ) const;
58 
60  virtual void setInterfaces(const DtInetAddrSet& localInterAddrs);
61 
63  virtual void getInterfaces(DtInetAddrSet& localInterAddrs) const;
64 
67  virtual bool isRemoval() const;
68  virtual void setRemoval( bool val );
69 
72  virtual bool remoteCmdsAccepted() const;
73  virtual void setRemoteCmdsAccepted( bool val );
74 
76  virtual unsigned int assistantInfoMemoryPeriod() const;
77  virtual void setAssistantInfoMemoryPeriod(unsigned int interval);
78 
80  virtual void setAssistantUuid(const DtAssistantUuid& assistantUuid);
81  virtual const DtAssistantUuid& assistantUuid() const;
82 
83  static void setSenderUuid(const DtAssistantUuid senderUuid);
84 
86  virtual void printData() const;
87 
88 public:
89 
91  static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
92  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
93 
94  static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
95 
98  static void addCallback(DtRtiAssistantPeer* conn,
99  DtAssistantInfoCb cb, void* usr);
100  static void removeCallback(DtRtiAssistantPeer* conn,
101  DtAssistantInfoCb cb, void* usr);
102 
103 protected:
104 
106  virtual DtNetAssistantInfoMsg* netAssistantInfoMsg();
107  virtual const DtNetAssistantInfoMsg* netAssistantInfoMsg() const;
108 
111 
113  virtual int minSize() const;
114 
116  virtual void setLocalIpv4InterfaceCount( unsigned long count );
117  virtual unsigned long localIpv4InterfaceCount() const;
118 
120  virtual void setLocalIpv6InterfaceCount( unsigned long count );
121  virtual unsigned long localIpv6InterfaceCount() const;
122 
124  virtual void setRtiexecForwarderCount( unsigned long count );
125  virtual unsigned long rtiexecForwarderCount() const;
126 
128  virtual const DtNetU128* localInterfaceAddressPtr() const;
129  virtual DtNetU128* localInterfaceAddressPtr();
130 
132  virtual const DtNetU128* tcpAddressPtr() const;
133  virtual DtNetU128* tcpAddressPtr();
134 
136  virtual const DtNetU128* udpAddressPtr() const;
137  virtual DtNetU128* udpAddressPtr();
138 
140  virtual const DtNetU128* udpIntferfacePtr() const;
141  virtual DtNetU128* udpIntferfacePtr();
142 
144  virtual const DtNetU32* addressFamiliesPtr() const;
145  virtual DtNetU32* addressFamiliesPtr();
146 
148  virtual const DtNetU32* rtiexecCompIdsPtr() const;
149  virtual DtNetU32* rtiexecCompIdsPtr();
150 
152  virtual const DtNetU32* forwarderCompIdsPtr() const;
153  virtual DtNetU32* forwarderCompIdsPtr();
154 
156  virtual const DtNetU16* tcpPortsPtr() const;
157  virtual DtNetU16* tcpPortsPtr();
158 
160  virtual const DtNetU16* udpPortsPtr() const;
161  virtual DtNetU16* udpPortsPtr();
162 
164  virtual const DtNetU16* forwarderPortsPtr() const;
165  virtual DtNetU16* forwarderPortsPtr();
166 
168  virtual const DtNetU8* fullCompliancePtr() const;
169  virtual DtNetU8* fullCompliancePtr();
170 
173  virtual const DtNetU8* rtiexecForwarderFlagPtr() const;
174  virtual DtNetU8* rtiexecForwarderFlagPtr();
175 
177  virtual void setRtiexecForwarderNamesSize( unsigned long size );
178  virtual unsigned long rtiexecForwarderNamesSize() const;
179 
181  virtual const char* rtiexecForwarderNamesPtr() const;
182  virtual char* rtiexecForwarderNamesPtr();
183 
185  virtual void setHostNamesSize( unsigned long size );
186  virtual unsigned long hostNamesSize() const;
187 
189  virtual const char* hostNamesPtr() const;
190  virtual char* hostNamesPtr();
191 
193  virtual void setOwnerHostSize( unsigned size );
194  virtual unsigned ownerHostSize() const;
195 
197  virtual const char* ownerHostsPtr() const;
198  virtual char* ownerHostsPtr();
199 
200  std::map<DtRtiConnectionInfo, DtRtiConnectionConfigurationInfo> myConfigurationsByConnectionMap;
201 
203  static const unsigned theRtiexecFlag;
204 
206  static const unsigned theForwarderFlag;
207 
210  static const unsigned theForwarderHasRtiexecFlag;
211 
214  static const unsigned theForwarderUsesRoutesFileFlag;
215 
218 };
219 
220 #endif // DtAssistantInfoMsg_H_
221 
static DtAssistantUuid theSenderUuid
The UUID of the sender assistant. Must be set by setSenderUuid()
Definition: assistantInfoMsg.h:217
Definition: netAssistantMsgHdr.h:26
DtUuid DtAssistantUuid
Definition: assistantUtil.h:17
Network representation for the RTI Assistant Info message.
Definition: netAssistantInfoMsg.h:21
The DtAssistantInfoMsg defines a wrapper for the RTI Assistant information message used by the Assist...
Definition: assistantInfoMsg.h:33
This file contains the declaration of DtRtiConnectionInfo.
Contains the DtRtiConnectionConfigurationInfo class declaration.
static const unsigned theForwarderUsesRoutesFileFlag
Flag indicating that, if entry is for a forwarder, the forwarder uses a routes file.
Definition: assistantInfoMsg.h:214
DtAssistantMsgKind
Definition: assistantMsg.h:54
Base class for assistant Messages.
Definition: assistantMsg.h:154
void(* DtAssistantInfoCb)(const DtAssistantInfoMsg &inter, void *usr)
Definition: assistantInfoMsg.h:28
static const unsigned theRtiexecFlag
Flag indicating that an entry is an rtiexec.
Definition: assistantInfoMsg.h:203
virtual DtAssistantMsgKind internalMsgKind()=0
#define DT_DLL_ASSISTANT
Default – Unix or Win32 static.
Definition: rtiMsConfig.h:150
DtRtiAssistantPeer manages the sharing of information between one Assistant to other Assistants using...
Definition: rtiAssistantPeer.h:82
virtual DtAssistantMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual void printData() const
static const unsigned theForwarderFlag
Flag indicating that an entry is a forwarder.
Definition: assistantInfoMsg.h:206
DT_DLL_RTIUTIL typedef std::set< MAKRti::DtInetAddr > DtInetAddrSet
Definition: rtiUtil.h:506
static const unsigned theForwarderHasRtiexecFlag
Flag indicating that, if entry is for a forwarder, the forwarder is also aware of an rtiexec in its n...
Definition: assistantInfoMsg.h:210
Stores the information on an RTI connection and possibly matching configuration known by the Assistan...
Definition: connectionAndConfiguration.h:22
std::map< DtRtiConnectionInfo, DtRtiConnectionConfigurationInfo > myConfigurationsByConnectionMap
Definition: assistantInfoMsg.h:200

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)