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>
53 #include <vlutil/vlUuid.h>
59 namespace MAKVrExchange
108 virtual void setSerialNumber(
unsigned int i )
const;
116 virtual unsigned int serialNumber()
const;
120 virtual void setSendingBrokerId(
const DtU32&
id )
const;
125 virtual DtU32 sendingBrokerId()
const;
129 virtual void setTimeSent(
const DtTime& tm )
const;
134 virtual DtTime timeSent()
const;
138 virtual void setTimeReceived(
const DtTime& tm )
const;
144 virtual DtTime timeReceived()
const;
153 virtual unsigned int netSize()
const;
158 virtual void writeSelfToBuffer(
void* buffer,
int bufferSize )
const;
163 virtual void readSelfFromBuffer(
const void* buffer,
int bufferSize );
167 virtual std::ostream& printDataToStream( std::ostream& str )
const;
174 virtual int getSize(
const DtU8& v )
const;
175 virtual char* encode(
const DtU8& val,
char* buffer,
int& bufferSize )
const;
176 virtual const char* decode( DtU8& val,
const char* buffer,
int& bufferSize )
const;
178 virtual int getSize(
const DtU16& v )
const;
179 virtual char* encode(
const DtU16& val,
char* buffer,
int& bufferSize )
const;
180 virtual const char* decode( DtU16& val,
const char* buffer,
int& bufferSize )
const;
182 virtual int getSize(
const DtU32& v )
const;
183 virtual char* encode(
const DtU32& val,
char* buffer,
int& bufferSize )
const;
184 virtual const char* decode( DtU32& val,
const char* buffer,
int& bufferSize )
const;
186 virtual int getSize(
const DtU64& v )
const;
187 virtual char* encode(
const DtU64& val,
char* buffer,
int& bufferSize )
const;
188 virtual const char* decode( DtU64& val,
const char* buffer,
int& bufferSize )
const;
190 virtual int getSize(
const DtInt8& v )
const;
191 virtual char* encode(
const DtInt8& val,
char* buffer,
int& bufferSize )
const;
192 virtual const char* decode( DtInt8& val,
const char* buffer,
int& bufferSize )
const;
194 virtual int getSize(
const DtInt16& v )
const;
195 virtual char* encode(
const DtInt16& val,
char* buffer,
int& bufferSize )
const;
196 virtual const char* decode( DtInt16& val,
const char* buffer,
int& bufferSize )
const;
198 virtual int getSize(
const DtInt32& v )
const;
199 virtual char* encode(
const DtInt32& val,
char* buffer,
int& bufferSize )
const;
200 virtual const char* decode( DtInt32& val,
const char* buffer,
int& bufferSize )
const;
202 virtual int getSize(
const DtInt64& v )
const;
203 virtual char* encode(
const DtInt64& val,
char* buffer,
int& bufferSize )
const;
204 virtual const char* decode( DtInt64& val,
const char* buffer,
int& bufferSize )
const;
206 virtual int getSize(
const DtFloat32& v )
const;
207 virtual char* encode(
const DtFloat32& val,
char* buffer,
int& bufferSize )
const;
208 virtual const char* decode( DtFloat32& val,
const char* buffer,
int& bufferSize )
const;
210 virtual int getSize(
const DtFloat64& v )
const;
211 virtual char* encode(
const DtFloat64& val,
char* buffer,
int& bufferSize )
const;
212 virtual const char* decode( DtFloat64& val,
const char* buffer,
int& bufferSize )
const;
214 virtual int getSize(
const DtVector32& v )
const;
215 virtual char* encode(
const DtVector32& val,
char* buffer,
int& bufferSize )
const;
216 virtual const char* decode( DtVector32& val,
const char* buffer,
int& bufferSize )
const;
218 virtual int getSize(
const DtVector64& v )
const;
219 virtual char* encode(
const DtVector64& val,
char* buffer,
int& bufferSize )
const;
220 virtual const char* decode( DtVector64& val,
const char* buffer,
int& bufferSize )
const;
222 virtual int getSize(
const DtTaitBryan& v )
const;
223 virtual char* encode(
const DtTaitBryan& val,
char* buffer,
int& bufferSize )
const;
224 virtual const char* decode( DtTaitBryan& val,
const char* buffer,
int& bufferSize )
const;
226 virtual int getSize(
const DtString& val )
const;
227 virtual char* encode(
const DtString& val,
char* buffer,
int& bufferSize )
const;
228 virtual const char* decode(
DtString& val,
const char* buffer,
int& bufferSize )
const;
230 virtual int getSize(
const std::wstring& val )
const;
231 virtual char* encode(
const std::wstring& val,
char* buffer,
int& bufferSize )
const;
232 virtual const char* decode( std::wstring& val,
const char* buffer,
int& bufferSize )
const;
234 virtual int getSize(
const DtVrlUuid& val)
const;
235 virtual char* encode(
const DtVrlUuid& val,
char* buffer,
int& bufferSize)
const;
236 virtual const char* decode(DtVrlUuid& val,
const char* buffer,
int& bufferSize)
const;
238 virtual int getSize(
const bool& v )
const;
239 virtual char* encode(
const bool& val,
char* buffer,
int& bufferSize )
const;
240 virtual const char* decode(
bool& val,
const char* buffer,
int& bufferSize )
const;
248 virtual char* encode(
const DtSilentEntity& val,
char* buffer,
int& bufferSize )
const;
249 virtual const char* decode(
DtSilentEntity& val,
const char* buffer,
int& bufferSize )
const;
252 virtual char* encode(
const DtSilentAggregate& val,
char* buffer,
int& bufferSize )
const;
253 virtual const char* decode(
DtSilentAggregate& val,
const char* buffer,
int& bufferSize )
const;
257 virtual const char* decode(
DtVariableLengthData& val,
const char* buffer,
int& bufferSize )
const;
260 virtual char* encode(
const DtFixedLengthData& value,
char* buffer,
int& bufferSize )
const;
261 virtual const char* decode(
DtFixedLengthData& value,
const char* buffer,
int& bufferSize )
const;
268 virtual char* encode(
const DtEmitterBeamData& data,
char* buffer,
int& bufferSize )
const;
269 virtual const char* decode(
DtEmitterBeamData& data,
const char* buffer,
int& bufferSize )
const;
272 virtual char* encode(
const DtLinearSegmentData& data,
char* buffer,
int& bufferSize )
const;
273 virtual const char* decode(
DtLinearSegmentData& data,
const char* buffer,
int& bufferSize )
const;
277 virtual const char* decode(
DtActiveSonarBeamData& data,
const char* buffer,
int& bufferSize )
const;
279 virtual int getSize(
const DtEntityIdentifier& value )
const;
280 virtual char* encode(
const DtEntityIdentifier& value,
char* buffer,
int& bufferSize )
const;
281 virtual const char* decode( DtEntityIdentifier& value,
const char* buffer,
int& bufferSize )
const;
283 virtual int getSize(
const DtEntityType& value )
const;
284 virtual char* encode(
const DtEntityType& value,
char* buffer,
int& bufferSize )
const;
285 virtual const char* decode( DtEntityType& value,
const char* buffer,
int& bufferSize )
const;
287 virtual int getSize(
const DtSyntheticEnvironmentObjectType& value )
const;
288 virtual char* encode(
const DtSyntheticEnvironmentObjectType& value,
char* buffer,
int& bufferSize )
const;
289 virtual const char* decode( DtSyntheticEnvironmentObjectType& value,
const char* buffer,
int& bufferSize )
const;
291 virtual int getSize(
const DtArticulatedPartCollection& value )
const;
292 virtual char* encode(
const DtArticulatedPartCollection& value,
char* buffer,
int& bufferSize )
const;
293 virtual const char* decode( DtArticulatedPartCollection& value,
const char* buffer,
int& bufferSize )
const;
295 virtual int getSize(
const DtAttachedPartCollection& value )
const;
296 virtual char* encode(
const DtAttachedPartCollection& value,
char* buffer,
int& bufferSize )
const;
297 virtual const char* decode( DtAttachedPartCollection& value,
const char* buffer,
int& bufferSize )
const;
299 virtual int getSize(
const DtIffAtcNavaidsAltParm4& value )
const;
300 virtual char* encode(
const DtIffAtcNavaidsAltParm4& value,
char* buffer,
int& bufferSize )
const;
301 virtual const char* decode( DtIffAtcNavaidsAltParm4& value,
const char* buffer,
int& bufferSize )
const;
303 virtual int getSize(
const DtSimulationAddress& value )
const;
304 virtual char* encode(
const DtSimulationAddress& value,
char* buffer,
int& bufferSize )
const;
305 virtual const char* decode( DtSimulationAddress& value,
const char* buffer,
int& bufferSize )
const;
308 virtual char* encode(
const DtShaftRateData& value,
char* buffer,
int& bufferSize )
const;
309 virtual const char* decode(
DtShaftRateData& value,
const char* buffer,
int& bufferSize )
const;
312 virtual char* encode(
const DtRingSectorsRecord& value,
char* buffer,
int& bufferSize )
const;
313 virtual const char* decode(
DtRingSectorsRecord& value,
const char* buffer,
int& bufferSize )
const;
328 virtual char* encode(
const DtRangedPowerRecord& value,
char* buffer,
int& bufferSize )
const;
329 virtual const char* decode(
DtRangedPowerRecord& value,
const char* buffer,
int& bufferSize )
const;
337 virtual const char* decode(
DtTypedQuantityRecord& value,
const char* buffer,
int& bufferSize )
const;
344 virtual char* encode(
const DtTypedAmountRecord& value,
char* buffer,
int& bufferSize )
const;
345 virtual const char* decode(
DtTypedAmountRecord& value,
const char* buffer,
int& bufferSize )
const;
348 virtual char* encode(
const DtEWAttackRecord& value,
char* buffer,
int& bufferSize )
const;
349 virtual const char* decode(
DtEWAttackRecord& value,
const char* buffer,
int& bufferSize )
const;
356 virtual char* encode(
const DtTypedRateRecord& value,
char* buffer,
int& bufferSize )
const;
357 virtual const char* decode(
DtTypedRateRecord& value,
const char* buffer,
int& bufferSize )
const;
360 virtual char* encode(
const DtAmountRecord& value,
char* buffer,
int& bufferSize )
const;
361 virtual const char* decode(
DtAmountRecord& value,
const char* buffer,
int& bufferSize )
const;
364 virtual char* encode(
const DtSensorContactInfo& value,
char* buffer,
int& bufferSize )
const;
365 virtual const char* decode(
DtSensorContactInfo& value,
const char* buffer,
int& bufferSize )
const;
372 virtual char* encode(
const DtNozzleSystemData& value,
char* buffer,
int& bufferSize )
const;
373 virtual const char* decode(
DtNozzleSystemData& value,
const char* buffer,
int& bufferSize )
const;
376 virtual char* encode(
const DtVrxRecordSetList& value,
char* buffer,
int& bufferSize )
const;
377 virtual const char* decode(
DtVrxRecordSetList& value,
const char* buffer,
int& bufferSize )
const;
379 virtual int getSize(
const DtPatchIdentifier& value )
const;
380 virtual char* encode(
const DtPatchIdentifier& value,
char* buffer,
int& bufferSize )
const;
381 virtual const char* decode( DtPatchIdentifier& value,
const char* buffer,
int& bufferSize )
const;
388 template <
typename T1,
typename T2>
389 int getSize(
const std::pair<T1,T2>& value )
const;
391 template <
typename T1,
typename T2>
392 char* encode(
const std::pair<T1,T2>& value,
char* buffer,
int& bufferSize )
const;
394 template <
typename T1,
typename T2>
395 const char* decode( std::pair<T1,T2>& value,
const char* buffer,
int& bufferSize )
const;
402 template <
typename T>
403 int getSize(
const std::list<T>& value )
const;
405 template <
typename T>
406 char* encode(
const std::list<T>& value,
char* buffer,
int& bufferSize )
const;
408 template <
typename T>
409 const char* decode( std::list<T>& value,
const char* buffer,
int& bufferSize )
const;
416 template <
typename T>
417 int getSize(
const std::vector<T>& value )
const;
419 template <
typename T>
420 char* encode(
const std::vector<T>& value,
char* buffer,
int& bufferSize )
const;
422 template <
typename T>
423 const char* decode( std::vector<T>& value,
const char* buffer,
int& bufferSize )
const;
430 template <
typename T1,
typename T2>
431 int getSize(
const std::map<T1,T2>& value )
const;
433 template <
typename T1,
typename T2>
434 char* encode(
const std::map<T1,T2>& value,
char* buffer,
int& bufferSize )
const;
436 template <
typename T1,
typename T2>
437 const char* decode( std::map<T1,T2>& value,
const char* buffer,
int& bufferSize )
const;
466 DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& str, const std::vector<DtString>& msg );
469 #define _pMessage_INL_
470 #include <portal/pMessage.inl>
471 #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:445
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:457
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:67
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:449
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:453
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.