MAK RTIspy API Documentation for HLA 1.3
joinMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: joinMsg.h,v $ $Revision: 1.37 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtJoinMsg_H_
13 #define DtJoinMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netRtiMsgHdr.h"
17 #include "netJoinMsg.h"
18 #include "rtiVersion.h"
19 #include <vlutil/vlString.h>
20 #include <vlutil/vlUtil.h>
21 #include <vlutil/vlInetAddr.h>
22 
23 class DtConnectionMgr;
24 class DtJoinMsg;
25 typedef void (*DtJoinCb)(const DtJoinMsg& inter, void* usr);
26 
28 {
29 public:
30 
32  DtJoinMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
33 
34  DtJoinMsg(
35  unsigned long sourceIDValue,
36  unsigned short requestIDValue,
37  MAKRti::DtString const & fedTypeValue,
38  MAKRti::DtString const & fedExNameValue,
39  MAKRti::DtString const & fedNameValue,
40  MAKRti::DtString const& federateHostNameValue,
41  const std::vector<MAKRti::DtString>& moduleNames,
42  DtHlaVersionId hlaVersion,
43  int astntCompId,
44  unsigned long flagsValue,
45  unsigned int needPartnerValue,
46  const std::vector<unsigned int>& joinModulesCrcs,
47  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48 
50  DtJoinMsg(const DtNetJoinMsg* netRepMsg,
51  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
52 
54  virtual ~DtJoinMsg();
55 
57  virtual DtRtiMsg* clone(bool copy = true) const;
58 
60  virtual void set(
61  unsigned long sourceIDValue,
62  unsigned short requestIDValue,
63  MAKRti::DtString const & fedTypeValue,
64  MAKRti::DtString const & fedExNameValue,
65  MAKRti::DtString const & fedNameValue,
66  MAKRti::DtString const& federateHostNameValue,
67  const std::vector<MAKRti::DtString>& moduleNames,
68  DtHlaVersionId hlaVersion,
69  int astntCompId,
70  unsigned long flagsValue,
71  unsigned int needPartnerValue,
72  const std::vector<unsigned int>& joinModulesCrcs);
73 
78  virtual unsigned long sourceID() const;
79  virtual void setSourceID(unsigned long sourceIDValue);
80 
82  virtual unsigned short requestID() const;
83  virtual void setRequestID(unsigned short requestIDValue);
84 
86  virtual void setFederateType(MAKRti::DtString const & type);
87  virtual MAKRti::DtString federateType() const;
88 
90  virtual void setFullFedExName(MAKRti::DtString const & name);
91  virtual MAKRti::DtString fullFedExName() const;
92 
94  virtual void setFederateName(MAKRti::DtString const & name);
95  virtual MAKRti::DtString federateName() const;
96 
98  virtual void setFederateHostName(MAKRti::DtString const& name);
99  virtual MAKRti::DtString federateHostName() const;
100 
102  virtual void setFomModuleNames( const std::vector<MAKRti::DtString> & moduleNames);
103  virtual void getFomModuleNames(std::vector<MAKRti::DtString>& modules) const;
104 
107  virtual void setIpAddress( const MAKRti::DtInetAddr& ip );
108  virtual MAKRti::DtInetAddr ipAddress() const;
109 
111  virtual MAKRti::DtInetAddr webServerAddress() const;
112  virtual void setWebServerAddress(const MAKRti::DtInetAddr& ip);
113 
115  virtual int webServerPort() const;
116  virtual void setWebServerPort(int port);
117 
119  virtual void setHlaVersion(DtHlaVersionId version);
120  virtual DtHlaVersionId hlaVersion() const;
121 
123  virtual void setAssistantCompId(int id);
124  virtual int assistantCompId() const;
125 
127  virtual void setFlags( unsigned long value );
128  virtual unsigned long flags() const;
129 
131  virtual void setNeedPartner( unsigned int value );
132  virtual unsigned int needPartner() const;
133 
135  unsigned int numOfCrcs() const;
136  void setNumOfCrcs(unsigned int value);
137 
139  virtual void setCrcsOfFedFiles(const std::vector<unsigned int> & moduleCrcs );
140  virtual void getCRCsOfFedFiles(std::vector<unsigned int>& crcOfFedFiles) const;
141 
143  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
144 
145 public:
146 
148  static DtRtiMsg* create(const DtNetMsgHeader* initial,
149  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
150 
152  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
153 
155  static void addCallback(DtConnectionMgr* conn,
156  DtJoinCb cb, void* usr);
157  static void removeCallback(DtConnectionMgr* conn,
158  DtJoinCb cb, void* usr);
159 
160 protected:
161 
163  virtual DtNetJoinMsg* netJoinMsg();
164  virtual const DtNetJoinMsg* netJoinMsg() const;
165 
168 
170  virtual int minSize() const;
171 
175  virtual int setMinSizes( MAKRti::DtString const & federateType,
176  MAKRti::DtString const & fedExName,
177  MAKRti::DtString const & federateName,
178  MAKRti::DtString const& federateHostName,
179  const std::vector<MAKRti::DtString>& fomModuleNamesVal,
180  const std::vector<unsigned int>& joinModulesCrcs);
181 
183  virtual void setFederateTypeSize( unsigned long size );
184  virtual unsigned long federateTypeSize() const;
185 
187  virtual void setFedExNameSize( unsigned long size );
188  virtual unsigned long fedExNameSize() const;
189 
191  virtual void setFederateNameSize( unsigned long size );
192  virtual unsigned long federateNameSize() const;
193 
195  virtual void setFederateHostNameSize( unsigned long size );
196  virtual unsigned long federateHostNameSize() const;
197 
199  virtual void setfomModuleNameSize( unsigned long size );
200  virtual unsigned long fomModuleNameSize() const;
201 
203  virtual const char* federateNamePtr() const;
204  virtual const char* fedExNamePtr() const;
205  virtual const char* federateTypePtr() const;
206  virtual const char* fomModuleNamesPtr() const;
207  virtual const char* federateHostNamePtr() const;
208  virtual const DtNetU32* crcsOfFomModulesPtr() const;
209 
210  //non-const versions
211  virtual char* federateNamePtr();
212  virtual char* fedExNamePtr();
213  virtual char* federateTypePtr();
214  virtual char* fomModuleNamesPtr();
215  virtual char* federateHostNamePtr();
216  virtual DtNetU32* crcsOfFomModulesPtr();
217 
219  virtual DtJoinMsg* self() const;
220 };
221 
222 
223 inline DtJoinMsg* DtJoinMsg::self() const
224 {
225  return const_cast<DtJoinMsg*>( this );
226 }
227 
228 #endif
229 

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)