Public Member Functions |
| virtual | ~DtRtiTemplateMsg () |
| | Destructor.
|
| unsigned | addParameter (DtRtiBaseMsgParam *param) |
| | Adds a new parameter to this message.
|
| virtual void | printData (DtLogicalTimeFactory *logicalTimeFactory) const |
| | Print the data section. Message parameters must be created first.
|
| virtual | ~DtRtiMsg () |
| | Destructor.
|
| virtual DtRtiMsg * | clone (bool copy=true) const =0 |
| | Return a copy/empty object of the same type as this.
|
| virtual DtRtiMsg * | cloneWithTransport (bool copy=true) const |
| | Return a copy/empty object of the same type as this using clone and set the transport type from the host message.
|
| virtual DtNetMsgHeader * | netHeader () const |
| | Get header of network representation.
|
| virtual int | version () const |
| | Return the message version.
|
| virtual bool | isValidVersion () const |
| | Returns bool: message version is valid?
|
| virtual void | setFedEx (const MAKRti::DtString &name) |
| | All RTI messages contain information to identify which federation execution the message applies to.
|
| virtual void | setFedEx (int handle) |
| | Set federation execution identifier as a handle.
|
| virtual bool | isForExec (const MAKRti::DtString &execName, int execHandle) const |
| | Returns true if the current message belongs to the indicated federation execution, false otherwise.
|
| virtual DtRtiMsgKind | msgKind () const |
| | Get the message kind.
|
| virtual const char * | kindString () const |
| | Returns the message kind string name.
|
| virtual bool | isConstrained () const |
| | Return boolean: message type can be time constrained?
|
| virtual bool | isAllowedDuringSave () const |
| | Return boolean: message type can be processed during save?
|
| virtual void | setTime (const RTI::FedTime &time) |
| | Set/Get time Used in timestamped messages.
|
| virtual RTI::FedTime const * | time (DtLogicalTimeFactory *fedTimeFactory) const |
| virtual bool | hasTime () const |
| | Returns true if time field is valid.
|
| virtual void | setSerialNumber (unsigned long serialNumberValue) |
| | Set/Get event retraction serial number Used in timestamped messages.
|
| virtual unsigned long | serialNumber () const |
| virtual void | setTransportType (DtTransportHandle type) |
| | Set/Get transport type.
|
| virtual DtTransportHandle | transportType () const |
| virtual DtOrderHandle | orderType () const |
| | This base implementation always returns recieve order.
|
| virtual bool | isMetadataPresent () const |
| | Test if metadata has been added to a DtRtiMsg object.
|
| virtual bool | addMetadata (caddr_t *mtdAddr, unsigned int size, unsigned int *alignPad, unsigned int *headerPad=NULL) |
| | Allocate space for next block of metadata.
|
| virtual void | removeMetadata (unsigned int size) |
| | Update the size of the message when metadata has been removed.
|
| bool | isInteractionMsgType () const |
| | Utility functions, check the message type against known interaciton/update message types.
|
| bool | isUpdateMsgType () const |
| virtual void | print (DtLogicalTimeFactory *logicalTimeFactory) const |
| | Printing functions.
|
| virtual void | printHeader (DtLogicalTimeFactory *logicalTimeFactory) const |
| virtual void | printTime (const char *label, RTI::FedTime const *timeValue) const |
| | Print the given time.
|
| virtual void | printInterval (const char *label, RTI::FedTime const *intervalValue) const |
| | Print the interval.
|
| virtual int | status () const |
| | Returns MSG_STATUS_OK if OK, a reason enumeration otherwise.
|
| virtual const MAKRti::DtString | fedExName () const |
| | These two functions should be avoided in favor of isForExec().
|
| virtual int | fedExHandle () const |
| | Get the federation execution identifier as a handle Returns 0 if the identifier is being represented as a name.
|
| virtual void | setFederateHandle (DtFederateHandle handle) |
| | Set/Get federate handle.
|
| virtual DtFederateHandle | federateHandle () const |
| | Set/Get federate handle.
|
| virtual void | setSequenceNumber (unsigned long value) |
| | Set/Get message sequence number.
|
| virtual unsigned long | sequenceNumber () const |
| | Set/Get message sequence number.
|
| virtual void | setServiceCallNumber (unsigned long value) |
| | Set/Get service call number.
|
| virtual unsigned long | serviceCallNumber () const |
| | Set/Get service call number.
|
| virtual void | setTriggerMessageNumber (unsigned long value) |
| | Set/Get trigger message sequence number (i.e., the message being processed that triggered this message being sent).
|
| virtual unsigned long | triggerMessageNumber () const |
| | Set/Get trigger message sequence number (i.e., the message being processed that triggered this message being sent).
|
Protected Member Functions |
| | DtRtiTemplateMsg (DtRtiMsgKind msgKind) |
| | Constructor.
|
| virtual DtRtiMsgKind | internalDtRtiMsgKind () |
| | Returns the kind of this message.
|
| virtual int | minSize () const |
| | Returns minimum size of a message, including header.
|
| | DtRtiMsg () |
| | Constructor.
|
| virtual void | sizeChanged (int size) |
| | Called whenever size is changed using changeSize, or insert/deleteBytes.
|
| void | initDtRtiMsg (int size, DtRtiMsgKind msgKindVal, DtBufferPtr buffer) |
| | Called by ctor, so not virtual.
|
| void | initDtRtiMsg (const void *initial, int size, DtBufferPtr buffer) |
| void | initDtRtiMsg (const DtNetMsgHeader *header, DtBufferPtr buffer) |
| virtual void | adjustBytes (int offset, int numBytes) |
| | Adjust numBytes bytes at the indicated offset in the net rep.
|
| virtual void | adjustBytes (void *address, int numBytes) |
| | Adjust the numBytes starting at the indicated addres.
|
Additional Inherited Members |
| static const DtNetMsgHeader * | netHeader (const void *buffer) |
| | Extracts the header network representation from the buffer.
|
| static const char * | kindToString (DtRtiMsgKind kind) |
| | Returns the name of the message, by kind enumeration.
|
| static const char * | kindString (const void *buffer) |
| | Extracts the message kind from the given buffer and returns its string name.
|
| static unsigned long | totalSize (const void *buffer) |
| | Extracts the message total size form the given buffer.
|
| static const DtRtiMsgKind | msgKind (const void *buffer) |
| | Extracts the message kind from the given buffer.
|
| static unsigned int | version (const void *buffer) |
| | Extracts the message version form the given buffer.
|
| static unsigned int | fedExHandle (const void *buffer) |
| | Extracts the message fedEx handle form the given buffer (0 if lightweight fedEx name)
|
| static DtFederateHandle | federateHandle (const void *buffer) |
| | Extracts the message federate handle form the given buffer.
|
| static unsigned long | sequenceNumber (const void *buffer) |
| | Extracts the message sequence number form the given buffer.
|
| static unsigned char | flags (const void *buffer) |
| | Extracts the message flags form the given buffer.
|
| static unsigned long | metadataSize (const void *buffer) |
| | Extracts the message metadata size form the given buffer.
|
| static void | setDefaultRegionSet (unsigned long defaultRegionSet) |
| | Set the default region set handle.
|
| static void | setUse32BitsForValueSize (bool use32BitsForValueSizeEnabled) |
| | Set/Get flag to enable use of 32 bit size field for attribute/parameter values.
|
| static bool | use32BitsForValueSize () |
| static void | setSmartForwardingEnabled (bool enabled) |
| | Set/Get is SmartForwarding enabled?
|
| static bool | smartForwardingEnabled () |
| static unsigned long | theDefaultRegionSetHandle |
| static const char * | theDefaultTag |
| static bool | theUse32BitsForValueSize |
| static bool | theSmartForwardingEnabled |
DtRtiTemplateMsg defines a base class which can be subclassed to quickly produce a new RTI messages based on templates and macros.
To produce a new message class: 1) Declare your class a subclass of DtRtiTemplateMsg. 2) In your class definition use DtDECLARE_STANDARD_MSG_METHODS. 3) In your class definition use the parameter declaration macros defined in rtiTemplateMsgParams.h or any of the other template param files to declare your template parameters. 4) In your .cxx file use DtDEFINE_STANDARD_MSG_METHODS. 5) In your .cxx file, define a method of your class void addAllParameters() which contains calls to the macro ADD_PARAMETER (or any of the other type-specific versions) for each of your parameters. Make sure to add them in the proper order for byte alignment. The code will assert if you do not have a correct alignment. 6) In your .cxx file, use the parameter method definition macros defined in rtiTemplateMsgParams.h or any of the other template param files to define your get and set methods for each of your parameters. The unit tests for this class have several example messages. Check out testTemplateMsg.h and testTemplateMsg.cxx.