40 #include <vlpi/syntheticEnvironmentObjectType.h>
41 #include <vlpi/articulatedPartCollection.h>
42 #include <vlpi/attachedPartCollection.h>
43 #include <vlpi/entityIdentifier.h>
44 #include <vlpi/entityType.h>
45 #include <vlpi/patchIdentifier.h>
47 #include <matrix/vlTaitBryan.h>
48 #include <matrix/vlVector.h>
50 #include <vlutil/vlNetTypes.h>
51 #include <vlutil/vlString.h>
52 #include <vlutil/vlTime.h>
58 namespace MAKVrExchange
107 virtual void setSerialNumber(
unsigned int i )
const;
115 virtual unsigned int serialNumber()
const;
119 virtual void setSendingBrokerId(
const DtU32&
id )
const;
124 virtual DtU32 sendingBrokerId()
const;
128 virtual void setTimeSent(
const DtTime& tm )
const;
133 virtual DtTime timeSent()
const;
137 virtual void setTimeReceived(
const DtTime& tm )
const;
143 virtual DtTime timeReceived()
const;
152 virtual unsigned int netSize()
const;
157 virtual void writeSelfToBuffer(
void* buffer,
int bufferSize )
const;
162 virtual void readSelfFromBuffer(
const void* buffer,
int bufferSize );
166 virtual std::ostream& printDataToStream( std::ostream& str )
const;
173 virtual int getSize(
const DtU8& v )
const;
174 virtual char* encode(
const DtU8& val,
char* buffer,
int& bufferSize )
const;
175 virtual const char* decode( DtU8& val,
const char* buffer,
int& bufferSize )
const;
177 virtual int getSize(
const DtU16& v )
const;
178 virtual char* encode(
const DtU16& val,
char* buffer,
int& bufferSize )
const;
179 virtual const char* decode( DtU16& val,
const char* buffer,
int& bufferSize )
const;
181 virtual int getSize(
const DtU32& v )
const;
182 virtual char* encode(
const DtU32& val,
char* buffer,
int& bufferSize )
const;
183 virtual const char* decode( DtU32& val,
const char* buffer,
int& bufferSize )
const;
185 virtual int getSize(
const DtU64& v )
const;
186 virtual char* encode(
const DtU64& val,
char* buffer,
int& bufferSize )
const;
187 virtual const char* decode( DtU64& val,
const char* buffer,
int& bufferSize )
const;
189 virtual int getSize(
const DtInt8& v )
const;
190 virtual char* encode(
const DtInt8& val,
char* buffer,
int& bufferSize )
const;
191 virtual const char* decode( DtInt8& val,
const char* buffer,
int& bufferSize )
const;
193 virtual int getSize(
const DtInt16& v )
const;
194 virtual char* encode(
const DtInt16& val,
char* buffer,
int& bufferSize )
const;
195 virtual const char* decode( DtInt16& val,
const char* buffer,
int& bufferSize )
const;
197 virtual int getSize(
const DtInt32& v )
const;
198 virtual char* encode(
const DtInt32& val,
char* buffer,
int& bufferSize )
const;
199 virtual const char* decode( DtInt32& val,
const char* buffer,
int& bufferSize )
const;
201 virtual int getSize(
const DtInt64& v )
const;
202 virtual char* encode(
const DtInt64& val,
char* buffer,
int& bufferSize )
const;
203 virtual const char* decode( DtInt64& val,
const char* buffer,
int& bufferSize )
const;
205 virtual int getSize(
const DtFloat32& v )
const;
206 virtual char* encode(
const DtFloat32& val,
char* buffer,
int& bufferSize )
const;
207 virtual const char* decode( DtFloat32& val,
const char* buffer,
int& bufferSize )
const;
209 virtual int getSize(
const DtFloat64& v )
const;
210 virtual char* encode(
const DtFloat64& val,
char* buffer,
int& bufferSize )
const;
211 virtual const char* decode( DtFloat64& val,
const char* buffer,
int& bufferSize )
const;
213 virtual int getSize(
const DtVector32& v )
const;
214 virtual char* encode(
const DtVector32& val,
char* buffer,
int& bufferSize )
const;
215 virtual const char* decode( DtVector32& val,
const char* buffer,
int& bufferSize )
const;
217 virtual int getSize(
const DtVector64& v )
const;
218 virtual char* encode(
const DtVector64& val,
char* buffer,
int& bufferSize )
const;
219 virtual const char* decode( DtVector64& val,
const char* buffer,
int& bufferSize )
const;
221 virtual int getSize(
const DtTaitBryan& v )
const;
222 virtual char* encode(
const DtTaitBryan& val,
char* buffer,
int& bufferSize )
const;
223 virtual const char* decode( DtTaitBryan& val,
const char* buffer,
int& bufferSize )
const;
225 virtual int getSize(
const DtString& val )
const;
226 virtual char* encode(
const DtString& val,
char* buffer,
int& bufferSize )
const;
227 virtual const char* decode(
DtString& val,
const char* buffer,
int& bufferSize )
const;
229 virtual int getSize(
const bool& v )
const;
230 virtual char* encode(
const bool& val,
char* buffer,
int& bufferSize )
const;
231 virtual const char* decode(
bool& val,
const char* buffer,
int& bufferSize )
const;
239 virtual char* encode(
const DtSilentEntity& val,
char* buffer,
int& bufferSize )
const;
240 virtual const char* decode(
DtSilentEntity& val,
const char* buffer,
int& bufferSize )
const;
243 virtual char* encode(
const DtSilentAggregate& val,
char* buffer,
int& bufferSize )
const;
244 virtual const char* decode(
DtSilentAggregate& val,
const char* buffer,
int& bufferSize )
const;
248 virtual const char* decode(
DtVariableLengthData& val,
const char* buffer,
int& bufferSize )
const;
251 virtual char* encode(
const DtFixedLengthData& value,
char* buffer,
int& bufferSize )
const;
252 virtual const char* decode(
DtFixedLengthData& value,
const char* buffer,
int& bufferSize )
const;
259 virtual char* encode(
const DtEmitterBeamData& data,
char* buffer,
int& bufferSize )
const;
260 virtual const char* decode(
DtEmitterBeamData& data,
const char* buffer,
int& bufferSize )
const;
263 virtual char* encode(
const DtLinearSegmentData& data,
char* buffer,
int& bufferSize )
const;
264 virtual const char* decode(
DtLinearSegmentData& data,
const char* buffer,
int& bufferSize )
const;
268 virtual const char* decode(
DtActiveSonarBeamData& data,
const char* buffer,
int& bufferSize )
const;
270 virtual int getSize(
const DtEntityIdentifier& value )
const;
271 virtual char* encode(
const DtEntityIdentifier& value,
char* buffer,
int& bufferSize )
const;
272 virtual const char* decode( DtEntityIdentifier& value,
const char* buffer,
int& bufferSize )
const;
274 virtual int getSize(
const DtEntityType& value )
const;
275 virtual char* encode(
const DtEntityType& value,
char* buffer,
int& bufferSize )
const;
276 virtual const char* decode( DtEntityType& value,
const char* buffer,
int& bufferSize )
const;
278 virtual int getSize(
const DtSyntheticEnvironmentObjectType& value )
const;
279 virtual char* encode(
const DtSyntheticEnvironmentObjectType& value,
char* buffer,
int& bufferSize )
const;
280 virtual const char* decode( DtSyntheticEnvironmentObjectType& value,
const char* buffer,
int& bufferSize )
const;
282 virtual int getSize(
const DtArticulatedPartCollection& value )
const;
283 virtual char* encode(
const DtArticulatedPartCollection& value,
char* buffer,
int& bufferSize )
const;
284 virtual const char* decode( DtArticulatedPartCollection& value,
const char* buffer,
int& bufferSize )
const;
286 virtual int getSize(
const DtAttachedPartCollection& value )
const;
287 virtual char* encode(
const DtAttachedPartCollection& value,
char* buffer,
int& bufferSize )
const;
288 virtual const char* decode( DtAttachedPartCollection& value,
const char* buffer,
int& bufferSize )
const;
290 virtual int getSize(
const DtIffAtcNavaidsAltParm4& value )
const;
291 virtual char* encode(
const DtIffAtcNavaidsAltParm4& value,
char* buffer,
int& bufferSize )
const;
292 virtual const char* decode( DtIffAtcNavaidsAltParm4& value,
const char* buffer,
int& bufferSize )
const;
294 virtual int getSize(
const DtSimulationAddress& value )
const;
295 virtual char* encode(
const DtSimulationAddress& value,
char* buffer,
int& bufferSize )
const;
296 virtual const char* decode( DtSimulationAddress& value,
const char* buffer,
int& bufferSize )
const;
299 virtual char* encode(
const DtShaftRateData& value,
char* buffer,
int& bufferSize )
const;
300 virtual const char* decode(
DtShaftRateData& value,
const char* buffer,
int& bufferSize )
const;
303 virtual char* encode(
const DtRingSectorsRecord& value,
char* buffer,
int& bufferSize )
const;
304 virtual const char* decode(
DtRingSectorsRecord& value,
const char* buffer,
int& bufferSize )
const;
319 virtual char* encode(
const DtRangedPowerRecord& value,
char* buffer,
int& bufferSize )
const;
320 virtual const char* decode(
DtRangedPowerRecord& value,
const char* buffer,
int& bufferSize )
const;
328 virtual const char* decode(
DtTypedQuantityRecord& value,
const char* buffer,
int& bufferSize )
const;
335 virtual char* encode(
const DtTypedAmountRecord& value,
char* buffer,
int& bufferSize )
const;
336 virtual const char* decode(
DtTypedAmountRecord& value,
const char* buffer,
int& bufferSize )
const;
339 virtual char* encode(
const DtEWAttackRecord& value,
char* buffer,
int& bufferSize )
const;
340 virtual const char* decode(
DtEWAttackRecord& value,
const char* buffer,
int& bufferSize )
const;
347 virtual char* encode(
const DtTypedRateRecord& value,
char* buffer,
int& bufferSize )
const;
348 virtual const char* decode(
DtTypedRateRecord& value,
const char* buffer,
int& bufferSize )
const;
351 virtual char* encode(
const DtAmountRecord& value,
char* buffer,
int& bufferSize )
const;
352 virtual const char* decode(
DtAmountRecord& value,
const char* buffer,
int& bufferSize )
const;
355 virtual char* encode(
const DtSensorContactInfo& value,
char* buffer,
int& bufferSize )
const;
356 virtual const char* decode(
DtSensorContactInfo& value,
const char* buffer,
int& bufferSize )
const;
363 virtual char* encode(
const DtNozzleSystemData& value,
char* buffer,
int& bufferSize )
const;
364 virtual const char* decode(
DtNozzleSystemData& value,
const char* buffer,
int& bufferSize )
const;
367 virtual char* encode(
const DtVrxRecordSetList& value,
char* buffer,
int& bufferSize )
const;
368 virtual const char* decode(
DtVrxRecordSetList& value,
const char* buffer,
int& bufferSize )
const;
370 virtual int getSize(
const DtPatchIdentifier& value )
const;
371 virtual char* encode(
const DtPatchIdentifier& value,
char* buffer,
int& bufferSize )
const;
372 virtual const char* decode( DtPatchIdentifier& value,
const char* buffer,
int& bufferSize )
const;
379 template <
typename T1,
typename T2>
380 int getSize(
const std::pair<T1,T2>& value )
const;
382 template <
typename T1,
typename T2>
383 char* encode(
const std::pair<T1,T2>& value,
char* buffer,
int& bufferSize )
const;
385 template <
typename T1,
typename T2>
386 const char* decode( std::pair<T1,T2>& value,
const char* buffer,
int& bufferSize )
const;
393 template <
typename T>
394 int getSize(
const std::list<T>& value )
const;
396 template <
typename T>
397 char* encode(
const std::list<T>& value,
char* buffer,
int& bufferSize )
const;
399 template <
typename T>
400 const char* decode( std::list<T>& value,
const char* buffer,
int& bufferSize )
const;
407 template <
typename T>
408 int getSize(
const std::vector<T>& value )
const;
410 template <
typename T>
411 char* encode(
const std::vector<T>& value,
char* buffer,
int& bufferSize )
const;
413 template <
typename T>
414 const char* decode( std::vector<T>& value,
const char* buffer,
int& bufferSize )
const;
421 template <
typename T1,
typename T2>
422 int getSize(
const std::map<T1,T2>& value )
const;
424 template <
typename T1,
typename T2>
425 char* encode(
const std::map<T1,T2>& value,
char* buffer,
int& bufferSize )
const;
427 template <
typename T1,
typename T2>
428 const char* decode( std::map<T1,T2>& value,
const char* buffer,
int& bufferSize )
const;
457 DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const std::vector<DtString>& msg );
460 #define _pMessage_INL_
461 #include <portal/pMessage.inl>
462 #undef _pMessage_INL_
Definition: amountRecord.h:23
Represents variable length byte arrays.
Definition: variableLengthData.h:24
Contains the DtShaftRateData class declaration.
Definition: typedQuantityRecord.h:24
Contains the DtPostureTransitionRecord class declaration.
Declares classes and data types used by aggregates.
Represents SEES PDU Nozzle System Data.
Definition: nozzleSystemData.h:22
Definition: effectModifierRecord.h:24
Definition: indirectFirePowerRecord.h:24
#define DT_DLL_LIBPORTAL
Definition: include/portal/dllExport.h:20
DtU32 myMutableSerialNumber
Mutable because it can be set by the PConnection.
Definition: pMessage.h:436
Contains the DtMoppLevelTransitionRecord class declaration.
Instances of DtVrxRecordSetList are lists of RecordSets.
Definition: vrxRecordSetList.h:39
Contains the DtTypedAmountRecord class declaration.
Represents Linear Segment Parameter Objects.
Definition: linearSegmentData.h:38
Represents SEES PDU Propulsion System Data.
Definition: propulsionSystemData.h:22
#define DtDEC_ATTRIBUTE(T, N, n)
A Macro to define an attribute; as well as make an accessor and mutator for that attribute.
Definition: addAttribute.h:49
Contains the DtEmitterBeamData class declaration.
DtTime myMutableReceivedTimeStamp
Mutable because it can be set by the PConnection.
Definition: pMessage.h:448
Contains the DtTypedQuantityRecord class declaration.
Contains the DtRangedPowerRecord class declaration.
Contains the DtVariableLengthData class declaration.
Represents data of fixed length.
Definition: fixedLengthData.h:27
The base class for all messages passed through the portal.
Definition: pMessage.h:66
Definition: moppLevelTransitionRecord.h:23
Definition: ringSectorsRecord.h:22
Contains the DtLinearSegmentData class declaration.
Contains the DtActiveSonarBeamData class declaration.
Contains the DtNozzleSystemData class declaration.
A container class for the SilentAggregateType.
Definition: aggregateTypes.h:23
Definition: casualtyReportRecord.h:24
Contains the DtTypedResupplyAmountRecord class declaration.
Contains the DtCasualtyReportRecord class declaration.
Contains the DtEWAttackRecord class declaration.
DT_DLL_LIBPORTAL std::ostream & operator<<(std::ostream &stream, const DtActiveSonarBeamData &data)
Contains the DtEWAttackDefendingRecord class declaration.
Definition: ewAttackRecord.h:24
Contains the DtIndirectFirePowerRecord class declaration.
Contains the DtPropulsionSystemData class declaration.
Definition: typedRateRecord.h:24
Represents variable data transmitted as part of the Aggregate Object.
Definition: aggregateTypes.h:97
DtU32 myMutableSendingBrokerId
Mutable because it can be set by the PConnection.
Definition: pMessage.h:440
Contains the DtEffectModifierRecord class declaration.
Represents Emitter Beam Objects.
Definition: activeSonarBeamData.h:31
Contains the DtPortalMessageKind type enumerations.
Contains the DtTypedRateRecord class declaration.
Definition: typedAmountRecord.h:25
Definition: rangedPowerRecord.h:24
DtTime myMutableSentTimeStamp
Mutable because it can be set by the PConnection.
Definition: pMessage.h:444
Definition: ewAttackDefendingRecord.h:24
Contains the DtAmountRecord class declaration.
Definition: postureTransitionRecord.h:23
Contains the DtFixedLengthData class declaration.
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23
Represents Propulsion Noise Shaft Rate Data.
Definition: shaftRateData.h:25
Represents Emitter Beam Objects.
Definition: emitterBeamData.h:36
Represents entities which are not simulated, but rather only listed in the aggregate.
Definition: aggregateTypes.h:57
Contains the DtRingSectorsRecord class declaration.