VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pMessage.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portal/dllExport.h>
13 #include <portal/pMessageKinds.h>
14 #include <portal/aggregateTypes.h>
18 #include <portal/emitterBeamData.h>
19 #include <portal/fixedLengthData.h>
20 #include <portal/shaftRateData.h>
21 
22 #include <vlpi/articulatedPartCollection.h>
23 #include <vlpi/attachedPartCollection.h>
24 #include <vlpi/entityIdentifier.h>
25 #include <vlpi/entityType.h>
26 
27 #include <matrix/vlTaitBryan.h>
28 #include <matrix/vlVector.h>
29 
30 #include <vlutil/vlNetTypes.h>
31 #include <vlutil/vlString.h>
32 #include <vlutil/vlTime.h>
33 
34 #include <iosfwd>
35 #include <vector>
36 #include <map>
37 
38 namespace MAKVrExchange
39 {
40 
47  {
48  public:
49 
52 
54  DtPortalMessage( const DtPortalMessage& other );
55 
57  virtual ~DtPortalMessage();
58 
60  virtual DtPortalMessage& operator = ( const DtPortalMessage& other );
61 
64 
65  virtual bool operator == ( const DtPortalMessage& other ) const;
66  virtual bool operator != ( const DtPortalMessage& other ) const;
67 
69 
72 
75  DtDEC_ATTRIBUTE( DtPortalMessageKind, Kind, kind );
76 
78 
80  public:
81 
84 
87  virtual void setSerialNumber( unsigned int i ) const;
88 
95  virtual unsigned int serialNumber() const;
96 
99  virtual void setSendingBrokerId( const DtU32& id ) const;
100 
104  virtual DtU32 sendingBrokerId() const;
105 
108  virtual void setTimeSent( const DtTime& tm ) const;
109 
113  virtual DtTime timeSent() const;
114 
117  virtual void setTimeReceived( const DtTime& tm ) const;
118 
123  virtual DtTime timeReceived() const;
124 
126 
127  public:
128 
132  virtual unsigned int netSize() const;
133 
137  virtual void writeSelfToBuffer( void* buffer ) const;
138 
142  virtual void readSelfFromBuffer( const void* buffer );
143 
146  virtual std::ostream& printDataToStream( std::ostream& str ) const;
147 
148  protected:
149 
150  virtual char* encode( const DtString& val, char* buffer ) const;
151  virtual char* encode( const DtU8& val, char* buffer ) const;
152  virtual char* encode( const DtU16& val, char* buffer ) const;
153  virtual char* encode( const DtU32& val, char* buffer ) const;
154  virtual char* encode( const DtU64& val, char* buffer ) const;
155  virtual char* encode( const DtInt8& val, char* buffer ) const;
156  virtual char* encode( const DtInt16& val, char* buffer ) const;
157  virtual char* encode( const DtInt32& val, char* buffer ) const;
158  virtual char* encode( const DtInt64& val, char* buffer ) const;
159  virtual char* encode( const DtFloat32& val, char* buffer ) const;
160  virtual char* encode( const DtFloat64& val, char* buffer ) const;
161  virtual char* encode( const DtVector& val, char* buffer ) const;
162  virtual char* encode( const DtTaitBryan& val, char* buffer ) const;
163  virtual char* encode( const bool& val, char* buffer ) const;
164  virtual char* encode( const std::vector<char>& val, char* buffer ) const;
165  virtual char* encode( const std::vector<DtU16>& val, char* buffer ) const;
166  virtual char* encode( const std::vector<DtU32>& val, char* buffer ) const;
167  virtual char* encode( const DtAttributeValuePairList& val, char* buffer ) const;
168  virtual char* encode( const std::vector<DtString>& val, char* buffer ) const;
169  virtual char* encode( const std::vector<DtVector>& val, char* buffer ) const;
170  virtual char* encode( const DtSilentAggregateArray& val, char* buffer ) const;
171  virtual char* encode( const DtSilentEntityArray& val, char* buffer ) const;
172  virtual char* encode( const DtVariableLengthData& val, char* buffer ) const;
173  virtual char* encode( const DtAttributeValuePair& val, char* buffer ) const;
174  virtual char* encode( const DtFixedLengthData& value, char* buffer ) const;
175  virtual char* encode( const DtFixedLengthDataArray& value, char* buffer ) const;
176  virtual char* encode( const DtAggregateVariableDatum& val, char* buffer ) const;
177  virtual char* encode( const DtAggregateVariableDatumArray& val, char* buffer ) const;
178  virtual char* encode( const DtEmitterBeamData& data, char* buffer ) const;
179  virtual char* encode( const DtEmitterBeamList& container, char* buffer ) const;
180  virtual char* encode( const DtLinearSegmentData& data, char* buffer ) const;
181  virtual char* encode( const DtLinearSegmentParameterList& container, char* buffer ) const;
182  virtual char* encode( const DtActiveSonarBeamData& data, char* buffer ) const;
183  virtual char* encode( const DtActiveSonarBeamList& container, char* buffer ) const;
184  virtual char* encode( const DtEntityIdentifier& value, char* buffer ) const;
185  virtual char* encode( const DtEntityType& value, char* buffer ) const;
186  virtual char* encode( const DtArticulatedPartCollection& value, char* buffer ) const;
187  virtual char* encode( const DtAttachedPartCollection& value, char* buffer ) const;
188  virtual char* encode( const DtIffAtcNavaidsAltParm4& value, char* buffer ) const;
189  virtual char* encode( const DtSimulationAddress& value, char* buffer ) const;
190  virtual char* encode( const DtShaftRateData& value, char* buffer ) const;
191  virtual char* encode( const DtShaftRateDataList& value, char* buffer ) const;
192 
193  virtual const char* decode( DtString& val, const char* buffer ) const;
194  virtual const char* decode( DtU8& val, const char* buffer ) const;
195  virtual const char* decode( DtU16& val, const char* buffer ) const;
196  virtual const char* decode( DtU32& val, const char* buffer ) const;
197  virtual const char* decode( DtU64& val, const char* buffer ) const;
198  virtual const char* decode( DtInt8& val, const char* buffer ) const;
199  virtual const char* decode( DtInt16& val, const char* buffer ) const;
200  virtual const char* decode( DtInt32& val, const char* buffer ) const;
201  virtual const char* decode( DtInt64& val, const char* buffer ) const;
202  virtual const char* decode( DtFloat32& val, const char* buffer ) const;
203  virtual const char* decode( DtFloat64& val, const char* buffer ) const;
204  virtual const char* decode( DtVector& val, const char* buffer ) const;
205  virtual const char* decode( DtTaitBryan& val, const char* buffer ) const;
206  virtual const char* decode( bool &val, const char* buffer ) const;
207  virtual const char* decode( std::vector<char>& val, const char* buffer ) const;
208  virtual const char* decode( std::vector<DtU16>& val, const char* buffer ) const;
209  virtual const char* decode( std::vector<DtU32>& val, const char* buffer ) const;
210  virtual const char* decode( DtAttributeValuePairList& val, const char* buffer ) const;
211  virtual const char* decode( std::vector<DtString>& val, const char* buffer ) const;
212  virtual const char* decode( std::vector<DtVector>& val, const char* buffer ) const;
213  virtual const char* decode( DtSilentAggregateArray& val, const char* buffer ) const;
214  virtual const char* decode( DtSilentEntityArray& val, const char* buffer ) const;
215  virtual const char* decode( DtVariableLengthData& val, const char* buffer ) const;
216  virtual const char* decode( DtAttributeValuePair& val, const char* buffer ) const;
217  virtual const char* decode( DtFixedLengthData& value, const char* buffer ) const;
218  virtual const char* decode( DtFixedLengthDataArray& value, const char* buffer ) const;
219  virtual const char* decode( DtAggregateVariableDatum& val, const char* buffer ) const;
220  virtual const char* decode( DtAggregateVariableDatumArray& val, const char* buffer ) const;
221  virtual const char* decode( DtEmitterBeamData& data, const char* buffer ) const;
222  virtual const char* decode( DtEmitterBeamList& container, const char* buffer ) const;
223  virtual const char* decode( DtLinearSegmentData& data, const char* buffer ) const;
224  virtual const char* decode( DtLinearSegmentParameterList& container, const char* buffer ) const;
225  virtual const char* decode( DtActiveSonarBeamData& data, const char* buffer ) const;
226  virtual const char* decode( DtActiveSonarBeamList& container, const char* buffer ) const;
227  virtual const char* decode( DtEntityIdentifier& value, const char* buffer ) const;
228  virtual const char* decode( DtEntityType& value, const char* buffer ) const;
229  virtual const char* decode( DtArticulatedPartCollection& value, const char* buffer ) const;
230  virtual const char* decode( DtAttachedPartCollection& value, const char* buffer ) const;
231  virtual const char* decode( DtIffAtcNavaidsAltParm4& value, const char* buffer ) const;
232  virtual const char* decode( DtSimulationAddress& value, const char* buffer ) const;
233  virtual const char* decode( DtShaftRateData& value, const char* buffer ) const;
234  virtual const char* decode( DtShaftRateDataList& value, const char* buffer ) const;
235 
236  // getSize methods are inlined, but try to make
237  // them virtual anyway in case the compiler supports it.
238  virtual int getSize( const DtString& val ) const;
239  virtual int getSize( const DtVector& v ) const;
240  virtual int getSize( const DtU8& v ) const;
241  virtual int getSize( const DtU16& v ) const;
242  virtual int getSize( const DtU32& v ) const;
243  virtual int getSize( const DtU64& v ) const;
244  virtual int getSize( const DtInt8& v ) const;
245  virtual int getSize( const DtInt16& v ) const;
246  virtual int getSize( const DtInt32& v ) const;
247  virtual int getSize( const DtInt64& v ) const;
248  virtual int getSize( const DtFloat32& v ) const;
249  virtual int getSize( const DtFloat64& v ) const;
250  virtual int getSize( const bool& v ) const;
251  virtual int getSize( const DtTaitBryan& v ) const;
252  virtual int getSize( const std::vector<char>& v ) const;
253  virtual int getSize( const std::vector<DtU16>& v ) const;
254  virtual int getSize( const std::vector<DtU32>& v ) const;
255  virtual int getSize( const DtAttributeValuePairList& v ) const;
256  virtual int getSize( const std::vector<DtString>& v ) const;
257  virtual int getSize( const std::vector<DtVector>& v ) const;
258  virtual int getSize( const DtSilentAggregateArray& v ) const;
259  virtual int getSize( const DtSilentEntityArray& v ) const;
260  virtual int getSize( const DtVariableLengthData& v ) const;
261  virtual int getSize( const DtAttributeValuePair& v ) const;
262  virtual int getSize( const DtFixedLengthData& value ) const;
263  virtual int getSize( const DtFixedLengthDataArray& value ) const;
264  virtual int getSize( const DtAggregateVariableDatum& v ) const;
265  virtual int getSize( const DtAggregateVariableDatumArray& v ) const;
266  virtual int getSize( const DtEmitterBeamData& data ) const;
267  virtual int getSize( const DtEmitterBeamList& container ) const;
268  virtual int getSize( const DtLinearSegmentData& data ) const;
269  virtual int getSize( const DtLinearSegmentParameterList& container ) const;
270  virtual int getSize( const DtActiveSonarBeamData& data ) const;
271  virtual int getSize( const DtActiveSonarBeamList& container ) const;
272  virtual int getSize( const DtEntityIdentifier& value ) const;
273  virtual int getSize( const DtEntityType& value ) const;
274  virtual int getSize( const DtArticulatedPartCollection& value ) const;
275  virtual int getSize( const DtAttachedPartCollection& value ) const;
276  virtual int getSize( const DtIffAtcNavaidsAltParm4& value ) const;
277  virtual int getSize( const DtSimulationAddress& value ) const;
278  virtual int getSize( const DtShaftRateData& value ) const;
279  virtual int getSize( const DtShaftRateDataList& value ) const;
280 
281  protected:
282 
285  mutable DtU32 myMutableSerialNumber;
289 
292  mutable DtTime myMutableSentTimeStamp;
296 
297  };
298 
299 
300  DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const DtPortalMessage& msg );
301 
302 }
303 
304 DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const std::vector<DtString>& msg );
305 
306 
307 #define pMessage_INL_
308 #include <portal/pMessage.inl>
309 #undef pMessage_INL_

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)