17 #include <vlutil/vlBaseMsg.h>
19 #include <vlutil/vlString.h>
22 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
23 #include <RTI/Handle.h>
24 #include <RTI/Typedefs.h>
25 #include <RTI/LogicalTime.h>
26 #include <RTI/LogicalTimeInterval.h>
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;
149 #elif defined(DtIFSPEC1516E)
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,
209 virtual void printInterval(
const char* label,
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,
223 virtual void printInterval(
const char* label,
228 virtual int status()
const;
233 static inline const DtNetMsgHeader* netHeader(
const void *buffer);
239 static const char* kindString(
const void *buffer);
245 static unsigned int version(
const void* buffer);
248 static unsigned int fedExHandle(
const void* buffer);
254 static unsigned long sequenceNumber(
const void* buffer);
257 static void setDefaultRegionSet(
unsigned long defaultRegionSet);
260 static void setUse32BitsForValueSize(
bool use32BitsForValueSizeEnabled);
261 static bool use32BitsForValueSize();
264 static void setSmartForwardingEnabled(
bool enabled );
265 static bool smartForwardingEnabled();
271 #elif defined(DtIFSPEC1516E)
286 virtual void sizeChanged(
int size);
289 void initDtRtiMsg(
int size,
DtRtiMsgKind msgKindVal, DtBufferPtr buffer);
290 void initDtRtiMsg(
const void *initial,
int size, DtBufferPtr buffer);
291 void initDtRtiMsg(
const DtNetMsgHeader *header, DtBufferPtr buffer);
295 virtual void adjustBytes(
int offset,
int numBytes);
300 virtual void adjustBytes(
void *address,
int numBytes);
308 #elif defined(DtIFSPEC1516E)
359 deleteBytes(offset, -numBytes);
368 deleteBytes(address, -numBytes);