MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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,
47  DT_FEDEX_STILL_CREATING
48  };
49 
50 public:
51 
53  DtJoinResponseMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
54 
56  unsigned long destinationIDValue,
57  unsigned short requestIDValue,
58  DtFederateHandle federateHandleValue,
59  MAKRti::DtString federateNameValue,
60  unsigned short fedExHandleValue,
61  MAKRti::DtString const & fedExNameValue,
62  MAKRti::DtString const & timeImplNameValue,
63  unsigned int crcOfFedFileValue,
64  const MAKRti::DtString& momModule,
65  const std::vector<MAKRti::DtString >& moduleNames,
66  unsigned long flagsValue,
67  bool allowNetworkTestValue,
68  bool enableNetworkTestValue,
69  const DtFederateNameAndHdlMap* namesAndHdls,
70  errorCodes errorValue = DT_NO_ERROR,
71  const DtString& errorString = DtString::nullString(),
72  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
73 
75  DtJoinResponseMsg(const DtNetJoinResponseMsg* netRepMsg,
76  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
77 
79  virtual ~DtJoinResponseMsg();
80 
82  virtual DtRtiMsg* clone(bool copy = true) const;
83 
85  virtual void set(
86  unsigned long destinationIDValue,
87  unsigned short requestIDValue,
88  DtFederateHandle federateHandleValue,
89  MAKRti::DtString federateNameValue,
90  unsigned short fedExHandleValue,
91  MAKRti::DtString const & fedExNameValue,
92  MAKRti::DtString const & timeImplNameValue,
93  unsigned int crcOfFedFileValue,
94  const MAKRti::DtString& momModule,
95  const std::vector<MAKRti::DtString>& moduleNames,
96  unsigned long flagsValue,
97  bool allowNetworkTestValue,
98  bool enableNetworkTestValue,
99  const DtFederateNameAndHdlMap* namesAndHdls,
100  errorCodes errorValue = DT_NO_ERROR,
101  const DtString& errorString = DtString::nullString());
102 
107  virtual unsigned long destinationID() const;
108  virtual void setDestinationID(unsigned long destinationIDValue);
109 
111  virtual unsigned short requestID() const;
112  virtual void setRequestID(unsigned short requestIDValue);
113 
115  virtual MAKRti::DtString fullFedExName() const;
116  virtual void setFullFedExName(MAKRti::DtString const & name);
117 
119  virtual unsigned short fedexHandleToUse() const;
120  virtual void setFedexHandleToUse(unsigned short handle);
121 
123  virtual MAKRti::DtString federateName() const;
124  virtual void setFederateName(MAKRti::DtString const & name);
125 
127  virtual MAKRti::DtString timeImplName() const;
128  virtual void setTimeImplName(MAKRti::DtString const & name);
129 
131  virtual MAKRti::DtString momModuleName() const;
132  virtual void setMomModuleName(MAKRti::DtString const & name);
133 
135  virtual void setfomModuleNames( const std::vector<MAKRti::DtString> & moduleNames);
136  virtual void getFomModuleNames( std::vector<MAKRti::DtString>& modules ) const;
137 
139  virtual DtFederateHandle federateHandleToUse() const;
140  virtual void setFederateHandleToUse(DtFederateHandle handle);
141 
143  virtual unsigned int crcOfFedFile() const;
144  virtual void setCrcOfFedFile(unsigned int crc );
145 
147  virtual void setErrorValue( errorCodes value );
148  virtual errorCodes errorValue() const;
149 
151  virtual void setErrorString( MAKRti::DtString const & errorStr );
152  virtual MAKRti::DtString errorString() const;
153 
155  virtual void setFlags( unsigned long value );
156  virtual unsigned long flags() const;
157 
159  virtual void setAllowNetworkTest( bool value );
160  virtual bool allowNetworkTest() const;
161 
163  virtual void setNetworkTestEnabled( bool value );
164  virtual bool networkTestEnabled() const;
165 
167  virtual void setFederateNamesAndHandles( const std::map< MAKRti::DtString, DtFederateHandle >& );
168  virtual void getFederateNamesAndHandles( std::map< MAKRti::DtString, DtFederateHandle >& namesAndHdls ) const;
169 
171  virtual void setFederateNamesSize( unsigned long size );
172  virtual unsigned long federateNamesSize() const;
173 
175  virtual unsigned numFederates() const;
176  virtual void setNumFederates(unsigned num);
177 
179  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
180 
181 public:
182 
184  static DtRtiMsg* create(const DtNetMsgHeader* initial,
185  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
186 
188  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
189 
191  static void addCallback(DtConnectionMgr* conn,
192  DtJoinResponseCb cb, void* usr, bool isMomCallback=false);
193  static void removeCallback(DtConnectionMgr* conn,
194  DtJoinResponseCb cb, void* usr, bool isMomCallback=false);
195 
196 protected:
197 
199  virtual DtNetJoinResponseMsg* netJoinResponseMsg();
200  virtual const DtNetJoinResponseMsg* netJoinResponseMsg() const;
201 
204 
206  virtual int minSize() const;
207 
211  virtual int setMinSizes(const MAKRti::DtString& fedExNameVal,
212  const MAKRti::DtString& federateNameVal,
213  const MAKRti::DtString& timeImplNameVal,
214  const std::vector<MAKRti::DtString>& fomModuleNamesVal,
215  const DtFederateNameAndHdlMap* namesAndHdls,
216  const MAKRti::DtString& errorString);
217 
219  virtual void setFedExNameSize( unsigned long size );
220  virtual unsigned long fedExNameSize() const;
221 
223  virtual void setFederateNameSize( unsigned long size );
224  virtual unsigned long federateNameSize() const;
225 
226 
228  virtual void setErrorStringSize( unsigned long size );
229  virtual unsigned long errorStringSize() const;
230 
232  virtual void setTimeImplNameSize( unsigned long size );
233  virtual unsigned long timeImplNameSize() const;
234 
236  virtual void setMomModuleNameSize( unsigned long size );
237  virtual unsigned long momModuleNameSize() const;
238 
240  virtual void setfomModuleNameSize( unsigned long size );
241  virtual unsigned long fomModuleNameSize() const;
242 
244  virtual char* fedExNamePtr();
245  virtual char* federateNamePtr();
246  virtual char* timeImplNamePtr();
247  virtual char* momModuleNamePtr();
248  virtual char* fomModuleNamesPtr();
249  virtual char* federateNamesPtr();
250  virtual char* errorStringPtr();
251  virtual DtNetU32* federateHandlesPtr();
252 
253  //const
255  virtual const char* fedExNamePtr() const;
256  virtual const char* federateNamePtr() const;
257  virtual const char* timeImplNamePtr() const;
258  virtual const char* momModuleNamePtr() const;
259  virtual const char* fomModuleNamesPtr() const;
260  virtual const char* federateNamesPtr() const;
261  virtual const char* errorStringPtr() const;
262  virtual const DtNetU32* federateHandlesPtr() const;
263 
265  virtual DtJoinResponseMsg* self() const;
266 
269 };
270 
271 
273 {
274  return const_cast<DtJoinResponseMsg*>( this );
275 }
276 
277 #endif
278 
279 

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)