17 #include <vlutil/vlBaseMsg.h>
19 #include <vlutil/vlString.h>
22 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
40 #define MSG_STATUS_OK 0
41 #define MSG_STATUS_NOT_OK 1
55 virtual DtRtiMsg* clone(
bool copy =
true)
const =0;
59 virtual DtRtiMsg* cloneWithTransport(
bool copy =
true)
const;
65 virtual int version()
const;
68 virtual bool isValidVersion()
const;
83 virtual void setFedEx(
const MAKRti::DtString& name);
86 virtual void setFedEx(
int handle);
91 virtual bool isForExec(
const MAKRti::DtString& execName,
int execHandle)
const;
99 virtual const MAKRti::DtString fedExName()
const;
102 virtual int fedExHandle()
const;
113 virtual void setSequenceNumber(
unsigned long value);
114 virtual unsigned long sequenceNumber()
const;
119 virtual void setServiceCallNumber(
unsigned long value);
120 virtual unsigned long serviceCallNumber()
const;
126 virtual void setTriggerMessageNumber(
unsigned long value);
127 virtual unsigned long triggerMessageNumber()
const;
134 virtual const char* kindString()
const;
137 virtual bool isConstrained()
const;
140 virtual bool isAllowedDuringSave()
const;
146 virtual void setTime(
const rti1516::LogicalTime& time);
147 virtual rti1516::LogicalTime
const * time(
149 #elif defined(DtIFSPEC1516E)
154 virtual void setTime(
const RTI::FedTime& time);
155 virtual RTI::FedTime
const * time(
160 virtual bool hasTime()
const;
165 virtual void setSerialNumber(
unsigned long serialNumberValue);
166 virtual unsigned long serialNumber()
const;
176 virtual bool isMetadataPresent()
const;
184 virtual bool addMetadata( caddr_t* mtdAddr,
unsigned int size,
185 unsigned int* alignPad,
unsigned int* headerPad = NULL );
189 virtual void removeMetadata(
unsigned int size );
193 bool isInteractionMsgType()
const;
194 bool isUpdateMsgType()
const;
205 virtual void printTime(
const char* label,
206 rti1516::LogicalTime
const * timeValue)
const;
209 virtual void printInterval(
const char* label,
210 rti1516::LogicalTimeInterval
const* intervalValue)
const;
211 #elif defined(DtIFSPEC1516E)
212 virtual void printTime(
const char* label,
216 virtual void printInterval(
const char* label,
219 virtual void printTime(
const char* label,
220 RTI::FedTime
const * timeValue)
const;
223 virtual void printInterval(
const char* label,
224 RTI::FedTime
const* intervalValue)
const;
228 virtual int status()
const;
233 static inline const DtNetMsgHeader* netHeader(
const void *buffer);
239 static const char* kindString(
const void *buffer);
242 static unsigned long totalSize(
const void* buffer);
248 static unsigned int version(
const void* buffer);
251 static unsigned int fedExHandle(
const void* buffer);
257 static unsigned long sequenceNumber(
const void* buffer);
260 static unsigned char flags(
const void* buffer);
263 static unsigned long metadataSize(
const void* buffer);
266 static void setDefaultRegionSet(
unsigned long defaultRegionSet);
269 static void setUse32BitsForValueSize(
bool use32BitsForValueSizeEnabled);
270 static bool use32BitsForValueSize();
273 static void setSmartForwardingEnabled(
bool enabled );
274 static bool smartForwardingEnabled();
279 static const rti1516::VariableLengthData theDefaultTag;
280 #elif defined(DtIFSPEC1516E)
295 virtual void sizeChanged(
int size);
298 void initDtRtiMsg(
int size,
DtRtiMsgKind msgKindVal, DtBufferPtr buffer);
299 void initDtRtiMsg(
const void *initial,
int size, DtBufferPtr buffer);
300 void initDtRtiMsg(
const DtNetMsgHeader *header, DtBufferPtr buffer);
304 virtual void adjustBytes(
int offset,
int numBytes);
309 virtual void adjustBytes(
void *address,
int numBytes);
316 rti1516::LogicalTime* myFedTime;
317 #elif defined(DtIFSPEC1516E)
368 deleteBytes(offset, -numBytes);
377 deleteBytes(address, -numBytes);