MAK RTIspy API Documentation for HLA 1.3
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(rti1516e::FederateHandleSet const & value);
168  DtMomNetParameter(rti1516e::LogicalTime const & value);
169  DtMomNetParameter(rti1516e::LogicalTimeInterval const & value);
170  DtMomNetParameter(rti1516e::ResignAction value);
172 
173 #else
174 
176 
177  DtMomNetParameter(MAKRti::DtString const & value);
178  DtMomNetParameter(DtMomAlertTypes value);
179  DtMomNetParameter(DtMomInitiatorOptions value);
180  DtMomNetParameter(RTI::AttributeHandle * value);
181  DtMomNetParameter(RTI::AttributeHandleSet const & value);
182  DtMomNetParameter(RTI::AttributeHandleSet const * value);
183  DtMomNetParameter(RTI::AttributeHandleValuePairSet const & value);
184  DtMomNetParameter(RTI::Boolean value);
185  DtMomNetParameter(RTI::EventRetractionHandle const & value);
186  DtMomNetParameter(RTI::FederateAmbassador const * value);
187  DtMomNetParameter(RTI::FederateAmbassadorPtr value);
188  DtMomNetParameter(RTI::FederateHandleSet const & value);
189  DtMomNetParameter(RTI::FedTime const & value);
190  DtMomNetParameter(RTI::ParameterHandleValuePairSet const & value);
191  DtMomNetParameter(RTI::Region const & value);
192  DtMomNetParameter(RTI::Region const * value);
193  DtMomNetParameter(RTI::Region** value);
194  DtMomNetParameter(RTI::ResignAction value);
196 #endif
197 
199 
200  DtMomNetParameter& operator=(const DtMomNetParameter& orig);
201  DtMomNetParameter& operator = (bool value);
202  DtMomNetParameter& operator = (int value);
203  DtMomNetParameter& operator = (unsigned int value);
204  DtMomNetParameter& operator = (long value);
205  DtMomNetParameter& operator = (unsigned long value);
206  DtMomNetParameter& operator = (double value);
207  DtMomNetParameter& operator = (char const * value);
208  DtMomNetParameter& operator = (wchar_t const * value);
209  DtMomNetParameter& operator = (DtAttributeHandleSet const & value);
210  DtMomNetParameter& operator = (DtFederateHandleSet const & value);
211  DtMomNetParameter& operator = (DtMomAttributeStateOptions value);
212  DtMomNetParameter& operator = (DtMomFederateStates value);
213  DtMomNetParameter& operator = (DtMomHandleList const & value);
214  DtMomNetParameter& operator = (DtMomTallyList const & value);
215  DtMomNetParameter& operator = (DtMomTimeManagerStates value);
216  DtMomNetParameter& operator = (MAKRti::DtOrderType value);
217  DtMomNetParameter& operator = (MAKRti::DtTransportType value);
219 
220 #ifdef DtIFSPEC1516
221 
223 
224  DtMomNetParameter& operator = (std::wstring const & value);
225  DtMomNetParameter& operator = (std::vector<std::wstring> const & value);
226  DtMomNetParameter& operator = (DtMomArgumentList const & value);
227  //DtMomNetParameter& operator = (DtSyncPt const & value);
228  DtMomNetParameter& operator = (rti1516::LogicalTime const & value);
229  DtMomNetParameter& operator = (rti1516::LogicalTimeInterval const & value);
230  DtMomNetParameter& operator = (rti1516::ResignAction value);
232 
233 #elif defined(DtIFSPEC1516E)
234 
235 
236  DtMomNetParameter& operator = (std::wstring const & value);
237  DtMomNetParameter& operator = (std::vector<std::wstring> const & value);
238  DtMomNetParameter& operator = (DtMomArgumentList const & value);
239  //DtMomNetParameter& operator = (DtSyncPt const & value);
240  DtMomNetParameter& operator = (rti1516e::LogicalTime const & value);
241  DtMomNetParameter& operator = (rti1516e::LogicalTimeInterval const & value);
242  DtMomNetParameter& operator = (rti1516e::ResignAction value);
244 #else
245 
247 
248  DtMomNetParameter& operator = (DtAhvps const & value);
249  DtMomNetParameter& operator = (DtMomAlertTypes value);
250  DtMomNetParameter& operator = (DtMomInitiatorOptions value);
251  DtMomNetParameter& operator = (DtPhvps const & value);
252  DtMomNetParameter& operator = (MAKRti::DtString const & value);
253  DtMomNetParameter& operator = (RTI::FedTime const & value);
254  DtMomNetParameter& operator = (RTI::FederateAmbassador const * value);
255  DtMomNetParameter& operator = (RTI::FederateAmbassadorPtr value);
256  DtMomNetParameter& operator = (RTI::EventRetractionHandle const & value);
257  DtMomNetParameter& operator = (RTI::Region const & value);
258  DtMomNetParameter& operator = (RTI::Region const * value);
259  DtMomNetParameter& operator = (RTI::Region ** value);
260  DtMomNetParameter& operator = (RTI::ResignAction value);
262 #endif
263 
264 
268 
269  virtual bool getValue(bool & value) const;
270  virtual bool getValue(int & value) const;
271  virtual bool getValue(unsigned int & value) const;
272  virtual bool getValue(long & value) const;
273  virtual bool getValue(unsigned long & value) const;
274  virtual bool getValue(double & value) const;
275  virtual bool getValue(DtAttributeHandleSet & value) const;
276  virtual bool getValue(DtMomAttributeStateOptions & value) const;
277  virtual bool getValue(DtMomFederateStates & value) const;
278  virtual bool getValue(DtMomHandleList & value) const;
279  virtual bool getValue(DtMomTallyList & value) const;
280  virtual bool getValue(DtMomTimeManagerStates & value) const;
281  virtual bool getValue(MAKRti::DtOrderType & value) const;
282  virtual bool getValue(MAKRti::DtTransportType & value) const;
284 
285 #ifdef DtIFSPEC1516
286 
288 
289  virtual bool getValue(std::wstring & value) const;
290  virtual bool getValue(std::vector<std::wstring> & value) const;
291  virtual bool getValue(DtMomArgumentList & value) const;
292 
293  virtual bool getValue(rti1516::LogicalTime & value) const;
294  virtual bool getValue(rti1516::LogicalTimeInterval & value) const;
295  virtual bool getValue(rti1516::ResignAction & value) const;
297 
298 #elif defined(DtIFSPEC1516E)
299 
300 
301  virtual bool getValue(std::wstring & value) const;
302  virtual bool getValue(std::vector<std::wstring> & value) const;
303  virtual bool getValue(DtMomArgumentList & value) const;
304 
305  virtual bool getValue(rti1516e::LogicalTime & value) const;
306  virtual bool getValue(rti1516e::LogicalTimeInterval & value) const;
307  virtual bool getValue(rti1516e::ResignAction & value) const;
309 
310 #else
311 
313 
314  virtual bool getValue(DtMomAlertTypes & value) const;
315  virtual bool getValue(DtMomInitiatorOptions & value) const;
316  virtual bool getValue(MAKRti::DtString & value) const;
317 
318  virtual bool getValue(RTI::FedTime & value) const;
319  virtual bool getValue(RTI::ResignAction & value) const;
321 
322 #endif
323 
324 protected:
325 
328  virtual void sizeChanged(int size);
329 
330 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
331 
335  virtual unsigned long encodedWideStringLength(unsigned long valueLength,
336  bool addPadding);
337 
340  virtual unsigned long encodedLength(std::wstring const & value, bool addPadding);
341 
346  virtual void* encodeWideString(void* destination, wchar_t const * source,
347  bool addPadding);
348 
355  virtual void* encodeWideString(void* destination, wchar_t const * source,
356  unsigned long sourceLength, bool addPadding);
357 
363  virtual void* encodeWideString(void* destination, std::wstring const & source,
364  bool addPadding);
365 
371  virtual void encodeWideString(wchar_t const * source,
372  unsigned long sourceLength, bool addPadding);
373 
377  virtual void encodeWideString(wchar_t const * source, bool addPadding);
378 
382  virtual void encodeWideString(std::wstring const & source, bool addPadding);
383 
392  virtual unsigned long decodeWideString(char const * source,
393  unsigned long sourceLength, std::wstring & value) const;
394 #endif
395 
398 #if ( __solaris__ )
399 public:
400 #else
401 private:
402 #endif
403 };
404 
409 class DT_DLL_LRC DtMomNetHandleParameter : public DtMomNetParameter
410 {
411 public:
412 
413  virtual ~DtMomNetHandleParameter();
414 
416  DtMomNetHandleParameter();
417 
419  DtMomNetHandleParameter(const DtMomNetHandleParameter& orig);
420 
422  DtMomNetHandleParameter(const char* netRepArg, int size,
423  MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
424 
427  DtMomNetHandleParameter(const DtPhvps& parameters, int index,
428  bool useInternalBuffer=true);
429 
431  DtMomNetHandleParameter(DtHandle value);
432 
433 
435  DtMomNetHandleParameter& operator=(const DtMomNetHandleParameter& orig);
436  DtMomNetHandleParameter& operator = (DtHandle value);
437 
439  virtual bool getValue(DtHandle & value) const;
440 
441 };
442 
443 #endif
444 #endif

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)