VR-Exchange 2.5 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pMessage.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portal/dllExport.h>
13 #include <portal/pMessageKinds.h>
15 #include <portal/aggregateTypes.h>
16 #include <portal/amountRecord.h>
19 #include <portal/emitterBeamData.h>
20 #include <portal/ewAttackRecord.h>
22 #include <portal/fixedLengthData.h>
32 #include <portal/shaftRateData.h>
35 #include <portal/typedRateRecord.h>
37 
39 #include <vlpi/syntheticEnvironmentObjectType.h>
40 #include <vlpi/articulatedPartCollection.h>
41 #include <vlpi/attachedPartCollection.h>
42 #include <vlpi/entityIdentifier.h>
43 #include <vlpi/entityType.h>
44 
45 #include <matrix/vlTaitBryan.h>
46 #include <matrix/vlVector.h>
47 
48 #include <vlutil/vlNetTypes.h>
49 #include <vlutil/vlString.h>
50 #include <vlutil/vlTime.h>
51 
52 #include <iosfwd>
53 #include <vector>
54 #include <map>
55 
56 namespace MAKVrExchange
57 {
58 
65  {
66  public:
67 
70 
72  DtPortalMessage( const DtPortalMessage& other );
73 
75  virtual ~DtPortalMessage();
76 
78  virtual DtPortalMessage& operator = ( const DtPortalMessage& other );
79 
82 
83  virtual bool operator == ( const DtPortalMessage& other ) const;
84  virtual bool operator != ( const DtPortalMessage& other ) const;
85 
87 
90 
93  DtDEC_ATTRIBUTE( DtPortalMessageKind, Kind, kind );
94 
96 
98  public:
99 
102 
105  virtual void setSerialNumber( unsigned int i ) const;
106 
113  virtual unsigned int serialNumber() const;
114 
117  virtual void setSendingBrokerId( const DtU32& id ) const;
118 
122  virtual DtU32 sendingBrokerId() const;
123 
126  virtual void setTimeSent( const DtTime& tm ) const;
127 
131  virtual DtTime timeSent() const;
132 
135  virtual void setTimeReceived( const DtTime& tm ) const;
136 
141  virtual DtTime timeReceived() const;
142 
144 
145  public:
146 
150  virtual unsigned int netSize() const;
151 
155  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
156 
160  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
161 
164  virtual std::ostream& printDataToStream( std::ostream& str ) const;
165 
166  protected:
167 
170 
171  virtual int getSize( const DtU8& v ) const;
172  virtual char* encode( const DtU8& val, char* buffer, int& bufferSize ) const;
173  virtual const char* decode( DtU8& val, const char* buffer, int& bufferSize ) const;
174 
175  virtual int getSize( const DtU16& v ) const;
176  virtual char* encode( const DtU16& val, char* buffer, int& bufferSize ) const;
177  virtual const char* decode( DtU16& val, const char* buffer, int& bufferSize ) const;
178 
179  virtual int getSize( const DtU32& v ) const;
180  virtual char* encode( const DtU32& val, char* buffer, int& bufferSize ) const;
181  virtual const char* decode( DtU32& val, const char* buffer, int& bufferSize ) const;
182 
183  virtual int getSize( const DtU64& v ) const;
184  virtual char* encode( const DtU64& val, char* buffer, int& bufferSize ) const;
185  virtual const char* decode( DtU64& val, const char* buffer, int& bufferSize ) const;
186 
187  virtual int getSize( const DtInt8& v ) const;
188  virtual char* encode( const DtInt8& val, char* buffer, int& bufferSize ) const;
189  virtual const char* decode( DtInt8& val, const char* buffer, int& bufferSize ) const;
190 
191  virtual int getSize( const DtInt16& v ) const;
192  virtual char* encode( const DtInt16& val, char* buffer, int& bufferSize ) const;
193  virtual const char* decode( DtInt16& val, const char* buffer, int& bufferSize ) const;
194 
195  virtual int getSize( const DtInt32& v ) const;
196  virtual char* encode( const DtInt32& val, char* buffer, int& bufferSize ) const;
197  virtual const char* decode( DtInt32& val, const char* buffer, int& bufferSize ) const;
198 
199  virtual int getSize( const DtInt64& v ) const;
200  virtual char* encode( const DtInt64& val, char* buffer, int& bufferSize ) const;
201  virtual const char* decode( DtInt64& val, const char* buffer, int& bufferSize ) const;
202 
203  virtual int getSize( const DtFloat32& v ) const;
204  virtual char* encode( const DtFloat32& val, char* buffer, int& bufferSize ) const;
205  virtual const char* decode( DtFloat32& val, const char* buffer, int& bufferSize ) const;
206 
207  virtual int getSize( const DtFloat64& v ) const;
208  virtual char* encode( const DtFloat64& val, char* buffer, int& bufferSize ) const;
209  virtual const char* decode( DtFloat64& val, const char* buffer, int& bufferSize ) const;
210 
211  virtual int getSize( const DtVector32& v ) const;
212  virtual char* encode( const DtVector32& val, char* buffer, int& bufferSize ) const;
213  virtual const char* decode( DtVector32& val, const char* buffer, int& bufferSize ) const;
214 
215  virtual int getSize( const DtVector64& v ) const;
216  virtual char* encode( const DtVector64& val, char* buffer, int& bufferSize ) const;
217  virtual const char* decode( DtVector64& val, const char* buffer, int& bufferSize ) const;
218 
219  virtual int getSize( const DtTaitBryan& v ) const;
220  virtual char* encode( const DtTaitBryan& val, char* buffer, int& bufferSize ) const;
221  virtual const char* decode( DtTaitBryan& val, const char* buffer, int& bufferSize ) const;
222 
223  virtual int getSize( const DtString& val ) const;
224  virtual char* encode( const DtString& val, char* buffer, int& bufferSize ) const;
225  virtual const char* decode( DtString& val, const char* buffer, int& bufferSize ) const;
226 
227  virtual int getSize( const bool& v ) const;
228  virtual char* encode( const bool& val, char* buffer, int& bufferSize ) const;
229  virtual const char* decode( bool& val, const char* buffer, int& bufferSize ) const;
230 
232 
235 
236  virtual int getSize( const DtSilentEntity& v ) const;
237  virtual char* encode( const DtSilentEntity& val, char* buffer, int& bufferSize ) const;
238  virtual const char* decode( DtSilentEntity& val, const char* buffer, int& bufferSize ) const;
239 
240  virtual int getSize( const DtSilentAggregate& v ) const;
241  virtual char* encode( const DtSilentAggregate& val, char* buffer, int& bufferSize ) const;
242  virtual const char* decode( DtSilentAggregate& val, const char* buffer, int& bufferSize ) const;
243 
244  virtual int getSize( const DtVariableLengthData& v ) const;
245  virtual char* encode( const DtVariableLengthData& val, char* buffer, int& bufferSize ) const;
246  virtual const char* decode( DtVariableLengthData& val, const char* buffer, int& bufferSize ) const;
247 
248  virtual int getSize( const DtFixedLengthData& value ) const;
249  virtual char* encode( const DtFixedLengthData& value, char* buffer, int& bufferSize ) const;
250  virtual const char* decode( DtFixedLengthData& value, const char* buffer, int& bufferSize ) const;
251 
252  virtual int getSize( const DtAggregateVariableDatum& v ) const;
253  virtual char* encode( const DtAggregateVariableDatum& val, char* buffer, int& bufferSize ) const;
254  virtual const char* decode( DtAggregateVariableDatum& val, const char* buffer, int& bufferSize ) const;
255 
256  virtual int getSize( const DtEmitterBeamData& data ) const;
257  virtual char* encode( const DtEmitterBeamData& data, char* buffer, int& bufferSize ) const;
258  virtual const char* decode( DtEmitterBeamData& data, const char* buffer, int& bufferSize ) const;
259 
260  virtual int getSize( const DtLinearSegmentData& data ) const;
261  virtual char* encode( const DtLinearSegmentData& data, char* buffer, int& bufferSize ) const;
262  virtual const char* decode( DtLinearSegmentData& data, const char* buffer, int& bufferSize ) const;
263 
264  virtual int getSize( const DtActiveSonarBeamData& data ) const;
265  virtual char* encode( const DtActiveSonarBeamData& data, char* buffer, int& bufferSize ) const;
266  virtual const char* decode( DtActiveSonarBeamData& data, const char* buffer, int& bufferSize ) const;
267 
268  virtual int getSize( const DtEntityIdentifier& value ) const;
269  virtual char* encode( const DtEntityIdentifier& value, char* buffer, int& bufferSize ) const;
270  virtual const char* decode( DtEntityIdentifier& value, const char* buffer, int& bufferSize ) const;
271 
272  virtual int getSize( const DtEntityType& value ) const;
273  virtual char* encode( const DtEntityType& value, char* buffer, int& bufferSize ) const;
274  virtual const char* decode( DtEntityType& value, const char* buffer, int& bufferSize ) const;
275 
276  virtual int getSize( const DtSyntheticEnvironmentObjectType& value ) const;
277  virtual char* encode( const DtSyntheticEnvironmentObjectType& value, char* buffer, int& bufferSize ) const;
278  virtual const char* decode( DtSyntheticEnvironmentObjectType& value, const char* buffer, int& bufferSize ) const;
279 
280  virtual int getSize( const DtArticulatedPartCollection& value ) const;
281  virtual char* encode( const DtArticulatedPartCollection& value, char* buffer, int& bufferSize ) const;
282  virtual const char* decode( DtArticulatedPartCollection& value, const char* buffer, int& bufferSize ) const;
283 
284  virtual int getSize( const DtAttachedPartCollection& value ) const;
285  virtual char* encode( const DtAttachedPartCollection& value, char* buffer, int& bufferSize ) const;
286  virtual const char* decode( DtAttachedPartCollection& value, const char* buffer, int& bufferSize ) const;
287 
288  virtual int getSize( const DtIffAtcNavaidsAltParm4& value ) const;
289  virtual char* encode( const DtIffAtcNavaidsAltParm4& value, char* buffer, int& bufferSize ) const;
290  virtual const char* decode( DtIffAtcNavaidsAltParm4& value, const char* buffer, int& bufferSize ) const;
291 
292  virtual int getSize( const DtSimulationAddress& value ) const;
293  virtual char* encode( const DtSimulationAddress& value, char* buffer, int& bufferSize ) const;
294  virtual const char* decode( DtSimulationAddress& value, const char* buffer, int& bufferSize ) const;
295 
296  virtual int getSize( const DtShaftRateData& value ) const;
297  virtual char* encode( const DtShaftRateData& value, char* buffer, int& bufferSize ) const;
298  virtual const char* decode( DtShaftRateData& value, const char* buffer, int& bufferSize ) const;
299 
300  virtual int getSize( const DtRingSectorsRecord& value ) const;
301  virtual char* encode( const DtRingSectorsRecord& value, char* buffer, int& bufferSize ) const;
302  virtual const char* decode( DtRingSectorsRecord& value, const char* buffer, int& bufferSize ) const;
303 
304  virtual int getSize( const DtPostureTransitionRecord& value ) const;
305  virtual char* encode( const DtPostureTransitionRecord& value, char* buffer, int& bufferSize ) const;
306  virtual const char* decode( DtPostureTransitionRecord& value, const char* buffer, int& bufferSize ) const;
307 
308  virtual int getSize( const DtMoppLevelTransitionRecord& value ) const;
309  virtual char* encode( const DtMoppLevelTransitionRecord& value, char* buffer, int& bufferSize ) const;
310  virtual const char* decode( DtMoppLevelTransitionRecord& value, const char* buffer, int& bufferSize ) const;
311 
312  virtual int getSize( const DtIndirectFirePowerRecord& value ) const;
313  virtual char* encode( const DtIndirectFirePowerRecord& value, char* buffer, int& bufferSize ) const;
314  virtual const char* decode( DtIndirectFirePowerRecord& value, const char* buffer, int& bufferSize ) const;
315 
316  virtual int getSize( const DtRangedPowerRecord& value ) const;
317  virtual char* encode( const DtRangedPowerRecord& value, char* buffer, int& bufferSize ) const;
318  virtual const char* decode( DtRangedPowerRecord& value, const char* buffer, int& bufferSize ) const;
319 
320  virtual int getSize( const DtEffectModifierRecord& value ) const;
321  virtual char* encode( const DtEffectModifierRecord& value, char* buffer, int& bufferSize ) const;
322  virtual const char* decode( DtEffectModifierRecord& value, const char* buffer, int& bufferSize ) const;
323 
324  virtual int getSize( const DtTypedQuantityRecord& value ) const;
325  virtual char* encode( const DtTypedQuantityRecord& value, char* buffer, int& bufferSize ) const;
326  virtual const char* decode( DtTypedQuantityRecord& value, const char* buffer, int& bufferSize ) const;
327 
328  virtual int getSize( const DtCasualtyReportRecord& value ) const;
329  virtual char* encode( const DtCasualtyReportRecord& value, char* buffer, int& bufferSize ) const;
330  virtual const char* decode( DtCasualtyReportRecord& value, const char* buffer, int& bufferSize ) const;
331 
332  virtual int getSize( const DtTypedAmountRecord& value ) const;
333  virtual char* encode( const DtTypedAmountRecord& value, char* buffer, int& bufferSize ) const;
334  virtual const char* decode( DtTypedAmountRecord& value, const char* buffer, int& bufferSize ) const;
335 
336  virtual int getSize( const DtEWAttackRecord& value ) const;
337  virtual char* encode( const DtEWAttackRecord& value, char* buffer, int& bufferSize ) const;
338  virtual const char* decode( DtEWAttackRecord& value, const char* buffer, int& bufferSize ) const;
339 
340  virtual int getSize( const DtEWAttackDefendingRecord& value ) const;
341  virtual char* encode( const DtEWAttackDefendingRecord& value, char* buffer, int& bufferSize ) const;
342  virtual const char* decode( DtEWAttackDefendingRecord& value, const char* buffer, int& bufferSize ) const;
343 
344  virtual int getSize( const DtTypedRateRecord& value ) const;
345  virtual char* encode( const DtTypedRateRecord& value, char* buffer, int& bufferSize ) const;
346  virtual const char* decode( DtTypedRateRecord& value, const char* buffer, int& bufferSize ) const;
347 
348  virtual int getSize( const DtAmountRecord& value ) const;
349  virtual char* encode( const DtAmountRecord& value, char* buffer, int& bufferSize ) const;
350  virtual const char* decode( DtAmountRecord& value, const char* buffer, int& bufferSize ) const;
351 
352  virtual int getSize( const DtSensorContactInfo& value ) const;
353  virtual char* encode( const DtSensorContactInfo& value, char* buffer, int& bufferSize ) const;
354  virtual const char* decode( DtSensorContactInfo& value, const char* buffer, int& bufferSize ) const;
355 
356  virtual int getSize( const DtPropulsionSystemData& value ) const;
357  virtual char* encode( const DtPropulsionSystemData& value, char* buffer, int& bufferSize ) const;
358  virtual const char* decode( DtPropulsionSystemData& value, const char* buffer, int& bufferSize ) const;
359 
360  virtual int getSize( const DtNozzleSystemData& value ) const;
361  virtual char* encode( const DtNozzleSystemData& value, char* buffer, int& bufferSize ) const;
362  virtual const char* decode( DtNozzleSystemData& value, const char* buffer, int& bufferSize ) const;
363 
364  virtual int getSize( const DtVrxRecordSetList& value ) const;
365  virtual char* encode( const DtVrxRecordSetList& value, char* buffer, int& bufferSize ) const;
366  virtual const char* decode( DtVrxRecordSetList& value, const char* buffer, int& bufferSize ) const;
367 
369 
372 
373  template <typename T1, typename T2>
374  int getSize( const std::pair<T1,T2>& value ) const;
375 
376  template <typename T1, typename T2>
377  char* encode( const std::pair<T1,T2>& value, char* buffer, int& bufferSize ) const;
378 
379  template <typename T1, typename T2>
380  const char* decode( std::pair<T1,T2>& value, const char* buffer, int& bufferSize ) const;
381 
383 
386 
387  template <typename T>
388  int getSize( const std::list<T>& value ) const;
389 
390  template <typename T>
391  char* encode( const std::list<T>& value, char* buffer, int& bufferSize ) const;
392 
393  template <typename T>
394  const char* decode( std::list<T>& value, const char* buffer, int& bufferSize ) const;
395 
397 
400 
401  template <typename T>
402  int getSize( const std::vector<T>& value ) const;
403 
404  template <typename T>
405  char* encode( const std::vector<T>& value, char* buffer, int& bufferSize ) const;
406 
407  template <typename T>
408  const char* decode( std::vector<T>& value, const char* buffer, int& bufferSize ) const;
409 
411 
414 
415  template <typename T1, typename T2>
416  int getSize( const std::map<T1,T2>& value ) const;
417 
418  template <typename T1, typename T2>
419  char* encode( const std::map<T1,T2>& value, char* buffer, int& bufferSize ) const;
420 
421  template <typename T1, typename T2>
422  const char* decode( std::map<T1,T2>& value, const char* buffer, int& bufferSize ) const;
423 
425 
426  protected:
427 
430  mutable DtU32 myMutableSerialNumber;
431 
435 
438  mutable DtTime myMutableSentTimeStamp;
439 
443 
444  };
445 
446 
447  DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const DtPortalMessage& msg );
448 
449 }
450 
451 DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const std::vector<DtString>& msg );
452 
453 
454 #define _pMessage_INL_
455 #include <portal/pMessage.inl>
456 #undef _pMessage_INL_

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)