MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 void setHlaVersion(DtHlaVersionId version);
112  virtual DtHlaVersionId hlaVersion() const;
113 
115  virtual void setAssistantCompId(int id);
116  virtual int assistantCompId() const;
117 
119  virtual void setFlags( unsigned long value );
120  virtual unsigned long flags() const;
121 
123  virtual void setNeedPartner( unsigned int value );
124  virtual unsigned int needPartner() const;
125 
127  unsigned int numOfCrcs() const;
128  void setNumOfCrcs(unsigned int value);
129 
131  virtual void setCrcsOfFedFiles(const std::vector<unsigned int> & moduleCrcs );
132  virtual void getCRCsOfFedFiles(std::vector<unsigned int>& crcOfFedFiles) const;
133 
135  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
136 
137 public:
138 
140  static DtRtiMsg* create(const DtNetMsgHeader* initial,
141  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
142 
144  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
145 
147  static void addCallback(DtConnectionMgr* conn,
148  DtJoinCb cb, void* usr);
149  static void removeCallback(DtConnectionMgr* conn,
150  DtJoinCb cb, void* usr);
151 
152 protected:
153 
155  virtual DtNetJoinMsg* netJoinMsg();
156  virtual const DtNetJoinMsg* netJoinMsg() const;
157 
160 
162  virtual int minSize() const;
163 
167  virtual int setMinSizes( MAKRti::DtString const & federateType,
168  MAKRti::DtString const & fedExName,
169  MAKRti::DtString const & federateName,
170  MAKRti::DtString const& federateHostName,
171  const std::vector<MAKRti::DtString>& fomModuleNamesVal,
172  const std::vector<unsigned int>& joinModulesCrcs);
173 
175  virtual void setFederateTypeSize( unsigned long size );
176  virtual unsigned long federateTypeSize() const;
177 
179  virtual void setFedExNameSize( unsigned long size );
180  virtual unsigned long fedExNameSize() const;
181 
183  virtual void setFederateNameSize( unsigned long size );
184  virtual unsigned long federateNameSize() const;
185 
187  virtual void setFederateHostNameSize( unsigned long size );
188  virtual unsigned long federateHostNameSize() const;
189 
191  virtual void setfomModuleNameSize( unsigned long size );
192  virtual unsigned long fomModuleNameSize() const;
193 
195  virtual const char* federateNamePtr() const;
196  virtual const char* fedExNamePtr() const;
197  virtual const char* federateTypePtr() const;
198  virtual const char* fomModuleNamesPtr() const;
199  virtual const char* federateHostNamePtr() const;
200  virtual const DtNetU32* crcsOfFomModulesPtr() const;
201 
202  //non-const versions
203  virtual char* federateNamePtr();
204  virtual char* fedExNamePtr();
205  virtual char* federateTypePtr();
206  virtual char* fomModuleNamesPtr();
207  virtual char* federateHostNamePtr();
208  virtual DtNetU32* crcsOfFomModulesPtr();
209 
211  virtual DtJoinMsg* self() const;
212 };
213 
214 
215 inline DtJoinMsg* DtJoinMsg::self() const
216 {
217  return const_cast<DtJoinMsg*>( this );
218 }
219 
220 #endif
221 

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)