MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
momNetParam.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: momNetParam.h,v $ $Revision: 1.18 $ $State: Exp $
7 *********************************************************************/
10 
11 #ifndef DtMomNetParameter_H_
12 #define DtMomNetParameter_H_
13 
14 #include <vlutil/vlBaseMsg.h>
15 #ifdef DtMOM
16 #include "rtiMsConfig.h"
17 #include <vlutil/vlBaseMsg.h>
18 #include "internalTypes.h"
19 #include <vlutil/vlFedTarget.h>
20 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
21 #include "momArgument.h"
22 #endif
23 
24 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
25 #include <RTI/Typedefs.h>
26 #include <RTI/LogicalTime.h>
27 #include <RTI/LogicalTimeInterval.h>
28 #include <RTI/FederateAmbassador.h>
29 #include <string>
30 #else
31 #ifdef DtIFSPEC13DLC
32 #include "RTI13.h"
33 #define RTI rti13
34 #else
35 #include "RTI.hh"
36 #endif
37 #endif
38 #include <vlutil/vlString.h>
39 
42 class DtAhvps;
43 class DtPhvps;
44 class DtMomHandleList;
45 class DtMomTallyList;
46 class DtSyncPt;
47 
48 enum DT_DLL_LRC DtMomAttributeStateOptions
49 {
50  DT_MOM_OWNED,
51  DT_MOM_UNOWNED
52 };
53 
54 enum DT_DLL_LRC DtMomAlertTypes
55 {
56  DT_MOM_EXCEPTION,
57  DT_MOM_RTI_INTERNAL_ERROR,
58  DT_MOM_FEDERATE_INTERNAL_ERROR,
59  DT_MOM_SERVICE_EXCEPTION,
60  DT_MOM_INVALID_PARAMS
61 };
62 
63 enum DT_DLL_LRC DtMomInitiatorOptions
64 {
65  DT_MOM_FEDERATE,
66  DT_MOM_RTI
67 };
68 
69 enum DT_DLL_LRC DtMomFederateStates {
70  DT_MOM_FEDERATE_RUNNING,
71  DT_MOM_FEDERATE_SAVE_PENDING,
72  DT_MOM_FEDERATE_SAVING,
73  DT_MOM_FEDERATE_RESTORE_PENDING,
74  DT_MOM_FEDERATE_RESTORING,
77  DT_MOM_FEDERATE_INACTIVE
78 };
79 
80 enum DT_DLL_LRC DtMomTimeManagerStates {
81  DT_MOM_TIME_IDLE,
82  DT_MOM_TIME_EVENTS_PENDING
83 };
84 
85 enum DT_DLL_LRC DtMomSyncPointStatus
86 {
87  DtMomSyncNoActivity,
88  DtMomSyncAttemptingToRegister,
89  DtMomSyncMovingToSyncPoint,
90  DtMomSyncWaitingForRestOfFederation
91 };
92 
93 struct DtMomNetHandle
94 {
95  MAKRti::DtNetU32 length;
96  MAKRti::DtNetU32 value;
97 };
98 
101 class DT_DLL_LRC DtMomNetParameter : public MAKRti::DtBaseMsg
102 {
103 public:
104 
106  virtual ~DtMomNetParameter();
107 
109  DtMomNetParameter();
110 
112  DtMomNetParameter(const DtMomNetParameter& orig);
113 
115  DtMomNetParameter(const char* netRepArg, int size,
116  MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
117 
120  DtMomNetParameter(const DtPhvps& parameters, int index,
121  bool useInternalBuffer=true);
122 
124 
125  DtMomNetParameter(bool value);
126  DtMomNetParameter(long value);
127  DtMomNetParameter(unsigned long value);
128  DtMomNetParameter(unsigned int value);
129  DtMomNetParameter(int value);
130  DtMomNetParameter(double value);
131  DtMomNetParameter(char const * value);
132  DtMomNetParameter(wchar_t const * value);
133  DtMomNetParameter(DtAttributeHandleSet const & value);
134  DtMomNetParameter(DtMomAttributeStateOptions value);
135  DtMomNetParameter(DtMomFederateStates value);
136  DtMomNetParameter(DtMomHandleList const & value);
137  DtMomNetParameter(DtMomTallyList const & value);
138  DtMomNetParameter(DtMomTimeManagerStates value);
139  DtMomNetParameter(MAKRti::DtOrderType value);
140  DtMomNetParameter(MAKRti::DtTransportType value);
142 
143 #ifdef DtIFSPEC1516
144 
146 
147  DtMomNetParameter(std::wstring const & value);
148  DtMomNetParameter(std::vector<std::wstring> const & value);
149  DtMomNetParameter(DtMomArgumentList const & value);
150  //DtMomNetParameter(DtSyncPt const & value);
151  DtMomNetParameter(rti1516::AttributeHandleSet const & value);
152  DtMomNetParameter(rti1516::FederateHandleSet const & value);
153  DtMomNetParameter(rti1516::LogicalTime const & value);
154  DtMomNetParameter(rti1516::LogicalTimeInterval const & value);
155  DtMomNetParameter(rti1516::ResignAction value);
157 
158 #elif defined(DtIFSPEC1516E)
159 
161 
162  DtMomNetParameter(std::wstring const & value);
163  DtMomNetParameter(std::vector<std::wstring> const & value);
164  DtMomNetParameter(DtMomArgumentList const & value);
165  //DtMomNetParameter(DtSyncPt const & value);
166  DtMomNetParameter(rti1516e::AttributeHandleSet const & value);
167  DtMomNetParameter(DtFederationHandle fedexHandle, rti1516e::FederateHandleSet const & value);
168  DtMomNetParameter(rti1516e::LogicalTime const & value);
169  DtMomNetParameter(rti1516e::LogicalTimeInterval const & value);
170  DtMomNetParameter(rti1516e::ResignAction value);
171  DtMomNetParameter(rti1516e::CallbackModel value);
173 
174 #else
175 
177 
178  DtMomNetParameter(MAKRti::DtString const & value);
179  DtMomNetParameter(DtMomAlertTypes value);
180  DtMomNetParameter(DtMomInitiatorOptions value);
181  DtMomNetParameter(RTI::AttributeHandle * value);
182  DtMomNetParameter(RTI::AttributeHandleSet const & value);
183  DtMomNetParameter(RTI::AttributeHandleSet const * value);
184  DtMomNetParameter(RTI::AttributeHandleValuePairSet const & value);
185  DtMomNetParameter(RTI::Boolean value);
186  DtMomNetParameter(RTI::EventRetractionHandle const & value);
187  DtMomNetParameter(RTI::FederateAmbassador const * value);
188  DtMomNetParameter(RTI::FederateAmbassadorPtr value);
189  DtMomNetParameter(RTI::FederateHandleSet const & value);
190  DtMomNetParameter(RTI::FedTime const & value);
191  DtMomNetParameter(RTI::ParameterHandleValuePairSet const & value);
192  DtMomNetParameter(RTI::Region const & value);
193  DtMomNetParameter(RTI::Region const * value);
194  DtMomNetParameter(RTI::Region** value);
195  DtMomNetParameter(RTI::ResignAction value);
197 #endif
198 
200 
201  DtMomNetParameter& operator=(const DtMomNetParameter& orig);
202  DtMomNetParameter& operator = (bool value);
203  DtMomNetParameter& operator = (int value);
204  DtMomNetParameter& operator = (unsigned int value);
205  DtMomNetParameter& operator = (long value);
206  DtMomNetParameter& operator = (unsigned long value);
207  DtMomNetParameter& operator = (double value);
208  DtMomNetParameter& operator = (char const * value);
209  DtMomNetParameter& operator = (wchar_t const * value);
210  DtMomNetParameter& operator = (DtAttributeHandleSet const & value);
211  DtMomNetParameter& operator = (DtFederateHandleSet const & value);
212  DtMomNetParameter& operator = (DtMomAttributeStateOptions value);
213  DtMomNetParameter& operator = (DtMomFederateStates value);
214  DtMomNetParameter& operator = (DtMomHandleList const & value);
215  DtMomNetParameter& operator = (DtMomTallyList const & value);
216  DtMomNetParameter& operator = (DtMomTimeManagerStates value);
217  DtMomNetParameter& operator = (MAKRti::DtOrderType value);
218  DtMomNetParameter& operator = (MAKRti::DtTransportType value);
220 
221 #ifdef DtIFSPEC1516
222 
224 
225  DtMomNetParameter& operator = (std::wstring const & value);
226  DtMomNetParameter& operator = (std::vector<std::wstring> const & value);
227  DtMomNetParameter& operator = (DtMomArgumentList const & value);
228  //DtMomNetParameter& operator = (DtSyncPt const & value);
229  DtMomNetParameter& operator = (rti1516::LogicalTime const & value);
230  DtMomNetParameter& operator = (rti1516::LogicalTimeInterval const & value);
231  DtMomNetParameter& operator = (rti1516::ResignAction value);
233 
234 #elif defined(DtIFSPEC1516E)
235 
236 
237  DtMomNetParameter& operator = (std::wstring const & value);
238  DtMomNetParameter& operator = (std::vector<std::wstring> const & value);
239  DtMomNetParameter& operator = (DtMomArgumentList const & value);
240  //DtMomNetParameter& operator = (DtSyncPt const & value);
241  DtMomNetParameter& operator = (rti1516e::LogicalTime const & value);
242  DtMomNetParameter& operator = (rti1516e::LogicalTimeInterval const & value);
243  DtMomNetParameter& operator = (rti1516e::ResignAction value);
245 #else
246 
248 
249  DtMomNetParameter& operator = (DtAhvps const & value);
250  DtMomNetParameter& operator = (DtMomAlertTypes value);
251  DtMomNetParameter& operator = (DtMomInitiatorOptions value);
252  DtMomNetParameter& operator = (DtPhvps const & value);
253  DtMomNetParameter& operator = (MAKRti::DtString const & value);
254  DtMomNetParameter& operator = (RTI::FedTime const & value);
255  DtMomNetParameter& operator = (RTI::FederateAmbassador const * value);
256  DtMomNetParameter& operator = (RTI::FederateAmbassadorPtr value);
257  DtMomNetParameter& operator = (RTI::EventRetractionHandle const & value);
258  DtMomNetParameter& operator = (RTI::Region const & value);
259  DtMomNetParameter& operator = (RTI::Region const * value);
260  DtMomNetParameter& operator = (RTI::Region ** value);
261  DtMomNetParameter& operator = (RTI::ResignAction value);
263 #endif
264 
265 
269 
270  virtual bool getValue(bool & value) const;
271  virtual bool getValue(int & value) const;
272  virtual bool getValue(unsigned int & value) const;
273  virtual bool getValue(long & value) const;
274  virtual bool getValue(unsigned long & value) const;
275  virtual bool getValue(double & value) const;
276  virtual bool getValue(DtAttributeHandleSet & value) const;
277  virtual bool getValue(DtMomAttributeStateOptions & value) const;
278  virtual bool getValue(DtMomFederateStates & value) const;
279  virtual bool getValue(DtMomHandleList & value) const;
280  virtual bool getValue(DtMomTallyList & value) const;
281  virtual bool getValue(DtMomTimeManagerStates & value) const;
282  virtual bool getValue(MAKRti::DtOrderType & value) const;
283  virtual bool getValue(MAKRti::DtTransportType & value) const;
285 
286 #ifdef DtIFSPEC1516
287 
289 
290  virtual bool getValue(std::wstring & value) const;
291  virtual bool getValue(std::vector<std::wstring> & value) const;
292  virtual bool getValue(DtMomArgumentList & value) const;
293 
294  virtual bool getValue(rti1516::LogicalTime & value) const;
295  virtual bool getValue(rti1516::LogicalTimeInterval & value) const;
296  virtual bool getValue(rti1516::ResignAction & value) const;
298 
299 #elif defined(DtIFSPEC1516E)
300 
301 
302  virtual bool getValue(std::wstring & value) const;
303  virtual bool getValue(std::vector<std::wstring> & value) const;
304  virtual bool getValue(DtMomArgumentList & value) const;
305 
306  virtual bool getValue(rti1516e::LogicalTime & value) const;
307  virtual bool getValue(rti1516e::LogicalTimeInterval & value) const;
308  virtual bool getValue(rti1516e::ResignAction & value) const;
310 
311 #else
312 
314 
315  virtual bool getValue(DtMomAlertTypes & value) const;
316  virtual bool getValue(DtMomInitiatorOptions & value) const;
317  virtual bool getValue(MAKRti::DtString & value) const;
318 
319  virtual bool getValue(RTI::FedTime & value) const;
320  virtual bool getValue(RTI::ResignAction & value) const;
322 
323 #endif
324 
325 protected:
326 
329  virtual void sizeChanged(int size);
330 
331 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
332 
336  virtual unsigned long encodedWideStringLength(unsigned long valueLength,
337  bool addPadding);
338 
341  virtual unsigned long encodedLength(std::wstring const & value, bool addPadding);
342 
347  virtual void* encodeWideString(void* destination, wchar_t const * source,
348  bool addPadding);
349 
356  virtual void* encodeWideString(void* destination, wchar_t const * source,
357  unsigned long sourceLength, bool addPadding);
358 
364  virtual void* encodeWideString(void* destination, std::wstring const & source,
365  bool addPadding);
366 
372  virtual void encodeWideString(wchar_t const * source,
373  unsigned long sourceLength, bool addPadding);
374 
378  virtual void encodeWideString(wchar_t const * source, bool addPadding);
379 
383  virtual void encodeWideString(std::wstring const & source, bool addPadding);
384 
393  virtual unsigned long decodeWideString(char const * source,
394  unsigned long sourceLength, std::wstring & value) const;
395 #endif
396 
399 #if ( __solaris__ )
400 public:
401 #else
402 private:
403 #endif
404 };
405 
410 class DT_DLL_LRC DtMomNetHandleParameter : public DtMomNetParameter
411 {
412 public:
413 
414  virtual ~DtMomNetHandleParameter();
415 
417  DtMomNetHandleParameter();
418 
420  DtMomNetHandleParameter(const DtMomNetHandleParameter& orig);
421 
423  DtMomNetHandleParameter(const char* netRepArg, int size,
424  MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
425 
428  DtMomNetHandleParameter(const DtPhvps& parameters, int index,
429  bool useInternalBuffer=true);
430 
432  DtMomNetHandleParameter(DtHandle value);
433 
434 
436  DtMomNetHandleParameter& operator=(const DtMomNetHandleParameter& orig);
437  DtMomNetHandleParameter& operator = (DtHandle value);
438 
440  virtual bool getValue(DtHandle & value) const;
441 
442 };
443 
444 #endif
445 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)