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>
46 #include <matrix/vlTaitBryan.h>
47 #include <matrix/vlVector.h>
49 #include <vlutil/vlNetTypes.h>
50 #include <vlutil/vlString.h>
51 #include <vlutil/vlTime.h>
57 namespace MAKVrExchange
106 virtual void setSerialNumber(
unsigned int i )
const;
114 virtual unsigned int serialNumber()
const;
118 virtual void setSendingBrokerId(
const DtU32&
id )
const;
123 virtual DtU32 sendingBrokerId()
const;
127 virtual void setTimeSent(
const DtTime& tm )
const;
132 virtual DtTime timeSent()
const;
136 virtual void setTimeReceived(
const DtTime& tm )
const;
142 virtual DtTime timeReceived()
const;
151 virtual unsigned int netSize()
const;
156 virtual void writeSelfToBuffer(
void* buffer,
int bufferSize )
const;
161 virtual void readSelfFromBuffer(
const void* buffer,
int bufferSize );
165 virtual std::ostream& printDataToStream( std::ostream& str )
const;
172 virtual int getSize(
const DtU8& v )
const;
173 virtual char* encode(
const DtU8& val,
char* buffer,
int& bufferSize )
const;
174 virtual const char* decode( DtU8& val,
const char* buffer,
int& bufferSize )
const;
176 virtual int getSize(
const DtU16& v )
const;
177 virtual char* encode(
const DtU16& val,
char* buffer,
int& bufferSize )
const;
178 virtual const char* decode( DtU16& val,
const char* buffer,
int& bufferSize )
const;
180 virtual int getSize(
const DtU32& v )
const;
181 virtual char* encode(
const DtU32& val,
char* buffer,
int& bufferSize )
const;
182 virtual const char* decode( DtU32& val,
const char* buffer,
int& bufferSize )
const;
184 virtual int getSize(
const DtU64& v )
const;
185 virtual char* encode(
const DtU64& val,
char* buffer,
int& bufferSize )
const;
186 virtual const char* decode( DtU64& val,
const char* buffer,
int& bufferSize )
const;
188 virtual int getSize(
const DtInt8& v )
const;
189 virtual char* encode(
const DtInt8& val,
char* buffer,
int& bufferSize )
const;
190 virtual const char* decode( DtInt8& val,
const char* buffer,
int& bufferSize )
const;
192 virtual int getSize(
const DtInt16& v )
const;
193 virtual char* encode(
const DtInt16& val,
char* buffer,
int& bufferSize )
const;
194 virtual const char* decode( DtInt16& val,
const char* buffer,
int& bufferSize )
const;
196 virtual int getSize(
const DtInt32& v )
const;
197 virtual char* encode(
const DtInt32& val,
char* buffer,
int& bufferSize )
const;
198 virtual const char* decode( DtInt32& val,
const char* buffer,
int& bufferSize )
const;
200 virtual int getSize(
const DtInt64& v )
const;
201 virtual char* encode(
const DtInt64& val,
char* buffer,
int& bufferSize )
const;
202 virtual const char* decode( DtInt64& val,
const char* buffer,
int& bufferSize )
const;
204 virtual int getSize(
const DtFloat32& v )
const;
205 virtual char* encode(
const DtFloat32& val,
char* buffer,
int& bufferSize )
const;
206 virtual const char* decode( DtFloat32& val,
const char* buffer,
int& bufferSize )
const;
208 virtual int getSize(
const DtFloat64& v )
const;
209 virtual char* encode(
const DtFloat64& val,
char* buffer,
int& bufferSize )
const;
210 virtual const char* decode( DtFloat64& val,
const char* buffer,
int& bufferSize )
const;
212 virtual int getSize(
const DtVector32& v )
const;
213 virtual char* encode(
const DtVector32& val,
char* buffer,
int& bufferSize )
const;
214 virtual const char* decode( DtVector32& val,
const char* buffer,
int& bufferSize )
const;
216 virtual int getSize(
const DtVector64& v )
const;
217 virtual char* encode(
const DtVector64& val,
char* buffer,
int& bufferSize )
const;
218 virtual const char* decode( DtVector64& val,
const char* buffer,
int& bufferSize )
const;
220 virtual int getSize(
const DtTaitBryan& v )
const;
221 virtual char* encode(
const DtTaitBryan& val,
char* buffer,
int& bufferSize )
const;
222 virtual const char* decode( DtTaitBryan& val,
const char* buffer,
int& bufferSize )
const;
224 virtual int getSize(
const DtString& val )
const;
225 virtual char* encode(
const DtString& val,
char* buffer,
int& bufferSize )
const;
226 virtual const char* decode(
DtString& val,
const char* buffer,
int& bufferSize )
const;
228 virtual int getSize(
const bool& v )
const;
229 virtual char* encode(
const bool& val,
char* buffer,
int& bufferSize )
const;
230 virtual const char* decode(
bool& val,
const char* buffer,
int& bufferSize )
const;
238 virtual char* encode(
const DtSilentEntity& val,
char* buffer,
int& bufferSize )
const;
239 virtual const char* decode(
DtSilentEntity& val,
const char* buffer,
int& bufferSize )
const;
242 virtual char* encode(
const DtSilentAggregate& val,
char* buffer,
int& bufferSize )
const;
243 virtual const char* decode(
DtSilentAggregate& val,
const char* buffer,
int& bufferSize )
const;
247 virtual const char* decode(
DtVariableLengthData& val,
const char* buffer,
int& bufferSize )
const;
250 virtual char* encode(
const DtFixedLengthData& value,
char* buffer,
int& bufferSize )
const;
251 virtual const char* decode(
DtFixedLengthData& value,
const char* buffer,
int& bufferSize )
const;
258 virtual char* encode(
const DtEmitterBeamData& data,
char* buffer,
int& bufferSize )
const;
259 virtual const char* decode(
DtEmitterBeamData& data,
const char* buffer,
int& bufferSize )
const;
262 virtual char* encode(
const DtLinearSegmentData& data,
char* buffer,
int& bufferSize )
const;
263 virtual const char* decode(
DtLinearSegmentData& data,
const char* buffer,
int& bufferSize )
const;
267 virtual const char* decode(
DtActiveSonarBeamData& data,
const char* buffer,
int& bufferSize )
const;
269 virtual int getSize(
const DtEntityIdentifier& value )
const;
270 virtual char* encode(
const DtEntityIdentifier& value,
char* buffer,
int& bufferSize )
const;
271 virtual const char* decode( DtEntityIdentifier& value,
const char* buffer,
int& bufferSize )
const;
273 virtual int getSize(
const DtEntityType& value )
const;
274 virtual char* encode(
const DtEntityType& value,
char* buffer,
int& bufferSize )
const;
275 virtual const char* decode( DtEntityType& value,
const char* buffer,
int& bufferSize )
const;
277 virtual int getSize(
const DtSyntheticEnvironmentObjectType& value )
const;
278 virtual char* encode(
const DtSyntheticEnvironmentObjectType& value,
char* buffer,
int& bufferSize )
const;
279 virtual const char* decode( DtSyntheticEnvironmentObjectType& value,
const char* buffer,
int& bufferSize )
const;
281 virtual int getSize(
const DtArticulatedPartCollection& value )
const;
282 virtual char* encode(
const DtArticulatedPartCollection& value,
char* buffer,
int& bufferSize )
const;
283 virtual const char* decode( DtArticulatedPartCollection& value,
const char* buffer,
int& bufferSize )
const;
285 virtual int getSize(
const DtAttachedPartCollection& value )
const;
286 virtual char* encode(
const DtAttachedPartCollection& value,
char* buffer,
int& bufferSize )
const;
287 virtual const char* decode( DtAttachedPartCollection& value,
const char* buffer,
int& bufferSize )
const;
289 virtual int getSize(
const DtIffAtcNavaidsAltParm4& value )
const;
290 virtual char* encode(
const DtIffAtcNavaidsAltParm4& value,
char* buffer,
int& bufferSize )
const;
291 virtual const char* decode( DtIffAtcNavaidsAltParm4& value,
const char* buffer,
int& bufferSize )
const;
293 virtual int getSize(
const DtSimulationAddress& value )
const;
294 virtual char* encode(
const DtSimulationAddress& value,
char* buffer,
int& bufferSize )
const;
295 virtual const char* decode( DtSimulationAddress& value,
const char* buffer,
int& bufferSize )
const;
298 virtual char* encode(
const DtShaftRateData& value,
char* buffer,
int& bufferSize )
const;
299 virtual const char* decode(
DtShaftRateData& value,
const char* buffer,
int& bufferSize )
const;
302 virtual char* encode(
const DtRingSectorsRecord& value,
char* buffer,
int& bufferSize )
const;
303 virtual const char* decode(
DtRingSectorsRecord& value,
const char* buffer,
int& bufferSize )
const;
318 virtual char* encode(
const DtRangedPowerRecord& value,
char* buffer,
int& bufferSize )
const;
319 virtual const char* decode(
DtRangedPowerRecord& value,
const char* buffer,
int& bufferSize )
const;
327 virtual const char* decode(
DtTypedQuantityRecord& value,
const char* buffer,
int& bufferSize )
const;
334 virtual char* encode(
const DtTypedAmountRecord& value,
char* buffer,
int& bufferSize )
const;
335 virtual const char* decode(
DtTypedAmountRecord& value,
const char* buffer,
int& bufferSize )
const;
338 virtual char* encode(
const DtEWAttackRecord& value,
char* buffer,
int& bufferSize )
const;
339 virtual const char* decode(
DtEWAttackRecord& value,
const char* buffer,
int& bufferSize )
const;
346 virtual char* encode(
const DtTypedRateRecord& value,
char* buffer,
int& bufferSize )
const;
347 virtual const char* decode(
DtTypedRateRecord& value,
const char* buffer,
int& bufferSize )
const;
350 virtual char* encode(
const DtAmountRecord& value,
char* buffer,
int& bufferSize )
const;
351 virtual const char* decode(
DtAmountRecord& value,
const char* buffer,
int& bufferSize )
const;
354 virtual char* encode(
const DtSensorContactInfo& value,
char* buffer,
int& bufferSize )
const;
355 virtual const char* decode(
DtSensorContactInfo& value,
const char* buffer,
int& bufferSize )
const;
362 virtual char* encode(
const DtNozzleSystemData& value,
char* buffer,
int& bufferSize )
const;
363 virtual const char* decode(
DtNozzleSystemData& value,
const char* buffer,
int& bufferSize )
const;
366 virtual char* encode(
const DtVrxRecordSetList& value,
char* buffer,
int& bufferSize )
const;
367 virtual const char* decode(
DtVrxRecordSetList& value,
const char* buffer,
int& bufferSize )
const;
374 template <
typename T1,
typename T2>
375 int getSize(
const std::pair<T1,T2>& value )
const;
377 template <
typename T1,
typename T2>
378 char* encode(
const std::pair<T1,T2>& value,
char* buffer,
int& bufferSize )
const;
380 template <
typename T1,
typename T2>
381 const char* decode( std::pair<T1,T2>& value,
const char* buffer,
int& bufferSize )
const;
388 template <
typename T>
389 int getSize(
const std::list<T>& value )
const;
391 template <
typename T>
392 char* encode(
const std::list<T>& value,
char* buffer,
int& bufferSize )
const;
394 template <
typename T>
395 const char* decode( std::list<T>& value,
const char* buffer,
int& bufferSize )
const;
402 template <
typename T>
403 int getSize(
const std::vector<T>& value )
const;
405 template <
typename T>
406 char* encode(
const std::vector<T>& value,
char* buffer,
int& bufferSize )
const;
408 template <
typename T>
409 const char* decode( std::vector<T>& value,
const char* buffer,
int& bufferSize )
const;
416 template <
typename T1,
typename T2>
417 int getSize(
const std::map<T1,T2>& value )
const;
419 template <
typename T1,
typename T2>
420 char* encode(
const std::map<T1,T2>& value,
char* buffer,
int& bufferSize )
const;
422 template <
typename T1,
typename T2>
423 const char* decode( std::map<T1,T2>& value,
const char* buffer,
int& bufferSize )
const;
452 DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const std::vector<DtString>& msg );
455 #define _pMessage_INL_
456 #include <portal/pMessage.inl>
457 #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:431
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:443
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:65
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:435
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:439
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.