VR-Exchange 2.1 API Documentation
pMessage.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 /* VR-Exchange Portal header files */
13 #include <portal/pMessageKinds.h> //enum DtPortalMessageKind
14 #include <portal/pEntityTypes.h> //DtPortalEntityType
15 #include <portal/aggregateTypes.h> //
16 #include <portal/variableLengthData.h> //
17 #include <portal/fixedLengthData.h> //DtFixedLengthData
18 #include <portal/emitterBeamData.h> //DtEmitterBeamData, DtEmitterBeamList
19 #include <portal/addAttribute.h>
20 
21 #include <vlutil/vlNetTypes.h>
22 #include <matrix/vlVector.h>
23 #include <matrix/vlTaitBryan.h>
24 #include <vlutil/vlString.h>
25 #include <vlutil/vlTime.h>
26 #include <vlpi/entityIdentifier.h> //DtEntityIdentifier
27 #include <vlpi/entityType.h> //DtEntityType
28 #include <vlpi/articulatedPartCollection.h>
29 #include <vlpi/attachedPartCollection.h>
30 
31 #include <iosfwd>
32 #include <map>
33 
34 namespace MAKVrExchange
35 {
36 
43  {
44  public:
45 
48 
50  virtual ~DtPortalMessage();
51 
53  DtPortalMessage( const DtPortalMessage& other );
54 
56  DtPortalMessage& operator = ( const DtPortalMessage& other );
57 
59  virtual DtPortalMessageKind kind() const = 0 ;
60 
72  virtual unsigned int netSize() const;
73 
81  virtual void writeSelfToBuffer( void* buffer ) const;
82 
90  virtual void readSelfFromBuffer( const void* buffer );
91 
93  //
99  virtual unsigned int serialNumber() const;
100 
102  //
105  virtual DtU32 sendingBrokerId() const;
106 
108  //
111  virtual DtTime timeSent() const;
112 
114  //
118  virtual DtTime timeReceived() const;
119 
123  virtual std::ostream& printDataToStream( std::ostream& str ) const;
124 
126  //
128  virtual void setTimeSent( const DtTime& tm ) const;
129 
131  //
133  virtual void setTimeReceived( const DtTime& tm ) const;
134 
136  //
138  virtual void setSendingBrokerId( const DtU32& id ) const;
139 
141  //
143  virtual void setSerialNumber( unsigned int i ) const;
144 
145  protected:
146 
147  char* encode( const DtString& val, char* buffer ) const;
148  char* encode( const DtU8& val, char* buffer ) const;
149  char* encode( const DtU16& val, char* buffer ) const;
150  char* encode( const DtU32& val, char* buffer ) const;
151  char* encode( const DtU64& val, char* buffer ) const;
152  char* encode( const DtFloat32& val, char* buffer ) const;
153  char* encode( const DtFloat64& val, char* buffer ) const;
154  char* encode( const DtVector& val, char* buffer ) const;
155  char* encode( const DtTaitBryan& val, char* buffer ) const;
156  char* encode( const bool& val, char* buffer ) const;
157  char* encode( const std::vector<char>& val, char* buffer ) const;
158  char* encode( const std::vector<DtU16>& val, char* buffer ) const;
159  char* encode( const std::vector<DtU32>& val, char* buffer ) const;
160  char* encode( const DtAttributeValuePairList& val, char* buffer ) const;
161  char* encode( const std::vector<DtString>& val, char* buffer ) const;
162  char* encode( const DtSilentAggregateArray& val, char* buffer ) const;
163  char* encode( const DtSilentEntityArray& val, char* buffer ) const;
164  char* encode( const DtVariableLengthData& val, char* buffer ) const;
165  char* encode( const DtAttributeValuePair& val, char* buffer ) const;
166  char* encode( const DtFixedLengthData& value, char* buffer ) const;
167  char* encode( const DtFixedLengthDataArray& value, char* buffer ) const;
168  char* encode( const DtAggregateVariableDatum& val, char* buffer ) const;
169  char* encode( const DtAggregateVariableDatumArray& val, char* buffer ) const;
170  char* encode( const DtEmitterBeamData& data, char* buffer ) const;
171  char* encode( const DtEmitterBeamList& container, char* buffer ) const;
172  char* encode( const DtEntityIdentifier& value, char* buffer ) const;
173  char* encode( const DtEntityType& value, char* buffer ) const;
174  char* encode( const DtArticulatedPartCollection& value, char* buffer ) const;
175  char* encode( const DtAttachedPartCollection& value, char* buffer ) const;
176  char* encode( const DtIffAtcNavaidsAltParm4& value, char* buffer ) const;
177 
178  const char* decode( DtString& val, const char* buffer ) const;
179  const char* decode( DtU8& val, const char* buffer ) const;
180  const char* decode( DtU16& val, const char* buffer ) const;
181  const char* decode( DtU32& val, const char* buffer ) const;
182  const char* decode( DtU64& val, const char* buffer ) const;
183  const char* decode( DtFloat32& val, const char* buffer ) const;
184  const char* decode( DtFloat64& val, const char* buffer ) const;
185  const char* decode( DtVector& val, const char* buffer ) const;
186  const char* decode( DtTaitBryan& val, const char* buffer ) const;
187  const char* decode( bool &val, const char* buffer ) const;
188  const char* decode( std::vector<char>& val, const char* buffer ) const;
189  const char* decode( std::vector<DtU16>& val, const char* buffer ) const;
190  const char* decode( std::vector<DtU32>& val, const char* buffer ) const;
191  const char* decode( DtAttributeValuePairList& val, const char* buffer ) const;
192  const char* decode( std::vector<DtString>& val, const char* buffer ) const;
193  const char* decode( DtSilentAggregateArray& val, const char* buffer ) const;
194  const char* decode( DtSilentEntityArray& val, const char* buffer ) const;
195  const char* decode( DtVariableLengthData& val, const char* buffer ) const;
196  const char* decode( DtAttributeValuePair& val, const char* buffer ) const;
197  const char* decode( DtFixedLengthData& value, const char* buffer ) const;
198  const char* decode( DtFixedLengthDataArray& value, const char* buffer ) const;
199  const char* decode( DtAggregateVariableDatum& val, const char* buffer ) const;
200  const char* decode( DtAggregateVariableDatumArray& val, const char* buffer ) const;
201  const char* decode( DtEmitterBeamData& data, const char* buffer ) const;
202  const char* decode( DtEmitterBeamList& container, const char* buffer ) const;
203  const char* decode( DtEntityIdentifier& value, const char* buffer ) const;
204  const char* decode( DtEntityType& value, const char* buffer ) const;
205  const char* decode( DtArticulatedPartCollection& value, const char* buffer ) const;
206  const char* decode( DtAttachedPartCollection& value, const char* buffer ) const;
207  const char* decode( DtIffAtcNavaidsAltParm4& value, const char* buffer ) const;
208 
209  int getSize( const DtString& val ) const;
210  int getSize( const DtVector& v ) const;
211  int getSize( const DtU8& v ) const;
212  int getSize( const DtU16& v ) const;
213  int getSize( const DtU32& v ) const;
214  int getSize( const DtU64& v ) const;
215  int getSize( const DtFloat32& v ) const;
216  int getSize( const DtFloat64& v ) const;
217  int getSize( const bool& v ) const;
218  int getSize( const DtTaitBryan& v ) const;
219  int getSize( const std::vector<char>& v ) const;
220  int getSize( const std::vector<DtU16>& v ) const;
221  int getSize( const std::vector<DtU32>& v ) const;
222  int getSize( const DtAttributeValuePairList& v ) const;
223  int getSize( const std::vector<DtString>& v ) const;
224  int getSize( const DtSilentAggregateArray& v ) const;
225  int getSize( const DtSilentEntityArray& v ) const;
226  int getSize( const DtVariableLengthData& v ) const;
227  int getSize( const DtAttributeValuePair& v ) const;
228  int getSize( const DtFixedLengthData& value ) const;
229  int getSize( const DtFixedLengthDataArray& value ) const;
230  int getSize( const DtAggregateVariableDatum& v ) const;
231  int getSize( const DtAggregateVariableDatumArray& v ) const;
232  int getSize( const DtEmitterBeamData& data ) const;
233  int getSize( const DtEmitterBeamList& container ) const;
234  int getSize( const DtEntityIdentifier& value ) const;
235  int getSize( const DtEntityType& value ) const;
236  int getSize( const DtArticulatedPartCollection& value ) const;
237  int getSize( const DtAttachedPartCollection& value ) const;
238  int getSize( const DtIffAtcNavaidsAltParm4& value ) const;
239 
240  protected:
241 
244  mutable DtU32 myMutableSerialNumber;
248 
251  mutable DtTime myMutableSentTimeStamp;
255 
256  };
257 
258 
259  DT_DLL_LIBPORTAL std::ostream & operator << ( std::ostream& str, const DtPortalMessage& msg );
260 
261 }
262 
263 #define pMessage_INL_
264 #include <portal/pMessage.inl>
265 #undef pMessage_INL_

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)