MAK RTIspy API Documentation for HLA 1.3
joinRespMsg.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: joinRespMsg.h,v $ $Revision: 1.39 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtJoinResponseMsg_H_
13 #define DtJoinResponseMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netRtiMsgHdr.h"
17 #include "netJoRespMsg.h"
18 #include <vlutil/vlString.h>
19 
20 class DtConnectionMgr;
21 class DtJoinResponseMsg;
23 typedef void (*DtJoinResponseCb)(const DtJoinResponseMsg& inter, void* usr);
24 
25 typedef std::map< MAKRti::DtString, DtFederateHandle > DtFederateNameAndHdlMap;
26 
28 {
29 public:
31  enum errorCodes {
32  DT_NO_ERROR = 0,
46  DT_CRC_FAILURE
47  };
48 
49 public:
50 
52  DtJoinResponseMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
53 
55  unsigned long destinationIDValue,
56  unsigned short requestIDValue,
57  DtFederateHandle federateHandleValue,
58  MAKRti::DtString federateNameValue,
59  unsigned short fedExHandleValue,
60  MAKRti::DtString const & fedExNameValue,
61  MAKRti::DtString const & timeImplNameValue,
62  unsigned int crcOfFedFileValue,
63  const MAKRti::DtString& momModule,
64  const std::vector<MAKRti::DtString >& moduleNames,
65  unsigned long flagsValue,
66  bool allowNetworkTestValue,
67  bool enableNetworkTestValue,
68  const DtFederateNameAndHdlMap* namesAndHdls,
69  errorCodes errorValue = DT_NO_ERROR,
70  const DtString& errorString = DtString::nullString(),
71  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
72 
74  DtJoinResponseMsg(const DtNetJoinResponseMsg* netRepMsg,
75  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
76 
78  virtual ~DtJoinResponseMsg();
79 
81  virtual DtRtiMsg* clone(bool copy = true) const;
82 
84  virtual void set(
85  unsigned long destinationIDValue,
86  unsigned short requestIDValue,
87  DtFederateHandle federateHandleValue,
88  MAKRti::DtString federateNameValue,
89  unsigned short fedExHandleValue,
90  MAKRti::DtString const & fedExNameValue,
91  MAKRti::DtString const & timeImplNameValue,
92  unsigned int crcOfFedFileValue,
93  const MAKRti::DtString& momModule,
94  const std::vector<MAKRti::DtString>& moduleNames,
95  unsigned long flagsValue,
96  bool allowNetworkTestValue,
97  bool enableNetworkTestValue,
98  const DtFederateNameAndHdlMap* namesAndHdls,
99  errorCodes errorValue = DT_NO_ERROR,
100  const DtString& errorString = DtString::nullString());
101 
106  virtual unsigned long destinationID() const;
107  virtual void setDestinationID(unsigned long destinationIDValue);
108 
110  virtual unsigned short requestID() const;
111  virtual void setRequestID(unsigned short requestIDValue);
112 
114  virtual MAKRti::DtString fullFedExName() const;
115  virtual void setFullFedExName(MAKRti::DtString const & name);
116 
118  virtual unsigned short fedexHandleToUse() const;
119  virtual void setFedexHandleToUse(unsigned short handle);
120 
122  virtual MAKRti::DtString federateName() const;
123  virtual void setFederateName(MAKRti::DtString const & name);
124 
126  virtual MAKRti::DtString timeImplName() const;
127  virtual void setTimeImplName(MAKRti::DtString const & name);
128 
130  virtual MAKRti::DtString momModuleName() const;
131  virtual void setMomModuleName(MAKRti::DtString const & name);
132 
134  virtual void setfomModuleNames( const std::vector<MAKRti::DtString> & moduleNames);
135  virtual void getFomModuleNames( std::vector<MAKRti::DtString>& modules ) const;
136 
138  virtual DtFederateHandle federateHandleToUse() const;
139  virtual void setFederateHandleToUse(DtFederateHandle handle);
140 
142  virtual unsigned int crcOfFedFile() const;
143  virtual void setCrcOfFedFile(unsigned int crc );
144 
146  virtual void setErrorValue( errorCodes value );
147  virtual errorCodes errorValue() const;
148 
150  virtual void setErrorString( MAKRti::DtString const & errorStr );
151  virtual MAKRti::DtString errorString() const;
152 
154  virtual void setFlags( unsigned long value );
155  virtual unsigned long flags() const;
156 
158  virtual void setAllowNetworkTest( bool value );
159  virtual bool allowNetworkTest() const;
160 
162  virtual void setNetworkTestEnabled( bool value );
163  virtual bool networkTestEnabled() const;
164 
166  virtual void setFederateNamesAndHandles( const std::map< MAKRti::DtString, DtFederateHandle >& );
167  virtual void getFederateNamesAndHandles( std::map< MAKRti::DtString, DtFederateHandle >& namesAndHdls ) const;
168 
170  virtual void setFederateNamesSize( unsigned long size );
171  virtual unsigned long federateNamesSize() const;
172 
174  virtual unsigned numFederates() const;
175  virtual void setNumFederates(unsigned num);
176 
178  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
179 
180 public:
181 
183  static DtRtiMsg* create(const DtNetMsgHeader* initial,
184  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
185 
187  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
188 
190  static void addCallback(DtConnectionMgr* conn,
191  DtJoinResponseCb cb, void* usr);
192  static void removeCallback(DtConnectionMgr* conn,
193  DtJoinResponseCb cb, void* usr);
194 
195 protected:
196 
198  virtual DtNetJoinResponseMsg* netJoinResponseMsg();
199  virtual const DtNetJoinResponseMsg* netJoinResponseMsg() const;
200 
203 
205  virtual int minSize() const;
206 
210  virtual int setMinSizes(const MAKRti::DtString& fedExNameVal,
211  const MAKRti::DtString& federateNameVal,
212  const MAKRti::DtString& timeImplNameVal,
213  const std::vector<MAKRti::DtString>& fomModuleNamesVal,
214  const DtFederateNameAndHdlMap* namesAndHdls,
215  const MAKRti::DtString& errorString);
216 
218  virtual void setFedExNameSize( unsigned long size );
219  virtual unsigned long fedExNameSize() const;
220 
222  virtual void setFederateNameSize( unsigned long size );
223  virtual unsigned long federateNameSize() const;
224 
225 
227  virtual void setErrorStringSize( unsigned long size );
228  virtual unsigned long errorStringSize() const;
229 
231  virtual void setTimeImplNameSize( unsigned long size );
232  virtual unsigned long timeImplNameSize() const;
233 
235  virtual void setMomModuleNameSize( unsigned long size );
236  virtual unsigned long momModuleNameSize() const;
237 
239  virtual void setfomModuleNameSize( unsigned long size );
240  virtual unsigned long fomModuleNameSize() const;
241 
243  virtual char* fedExNamePtr();
244  virtual char* federateNamePtr();
245  virtual char* timeImplNamePtr();
246  virtual char* momModuleNamePtr();
247  virtual char* fomModuleNamesPtr();
248  virtual char* federateNamesPtr();
249  virtual char* errorStringPtr();
250  virtual DtNetU32* federateHandlesPtr();
251 
252  //const
254  virtual const char* fedExNamePtr() const;
255  virtual const char* federateNamePtr() const;
256  virtual const char* timeImplNamePtr() const;
257  virtual const char* momModuleNamePtr() const;
258  virtual const char* fomModuleNamesPtr() const;
259  virtual const char* federateNamesPtr() const;
260  virtual const char* errorStringPtr() const;
261  virtual const DtNetU32* federateHandlesPtr() const;
262 
264  virtual DtJoinResponseMsg* self() const;
265 
268 };
269 
270 
272 {
273  return const_cast<DtJoinResponseMsg*>( this );
274 }
275 
276 #endif
277 
278 

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)