VR-Link API Documentation for DIS
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtRecordPdu Class Reference

Instances of DtRecordPdu are used to send responses to the Record Query PDU. More...

+ Inheritance diagram for DtRecordPdu:
+ Collaboration diagram for DtRecordPdu:

Public Member Functions

 DtRecordPdu (DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Constructors.
 DtRecordPdu (const DtNetRecordPdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0)
 DtRecordPdu (const DtRecordPdu &orig)
virtual ~DtRecordPdu ()
 destructor
DtRecordPduoperator= (const DtRecordPdu &orig)
 Assignment operator.
virtual void setOriginatingEntityID (const DtEntityIdentifier &entity)
 Set/Get originating entity identifier.
virtual const DtEntityIdentifieroriginatingEntityID () const
virtual void setReceivingEntityID (const DtEntityIdentifier &entity)
 Set/Get receiving entity identifier.
virtual const DtEntityIdentifierreceivingEntityID () const
virtual void setRequestID (DtU32 id)
 Set/Get request ID.
virtual DtU32 requestID () const
virtual void setReqRelService (enum DtRequiredReliabilityService service)
 Set/Get required reliability service.
virtual
DtRequiredReliabilityService 
reqRelService () const
virtual void setEventType (DtEventType type)
 Set/Get the event type.
virtual DtEventType eventType () const
virtual void setResponseSerialNumber (DtU32 num)
 Set/Get the response serial number.
virtual DtU32 responseSerialNumber () const
virtual void printData () const
 Print the data contained by this PDU.
virtual void printDataToStream (std::ostream &stream) const
 Print the data to a stream.
- Public Member Functions inherited from DtRecordSetPdu
virtual ~DtRecordSetPdu ()
 destructor
DtRecordSetPduoperator= (const DtRecordSetPdu &orig)
 Assignment operator.
virtual bool setNumRecordSets (DtU32 numSets)
 Set/Get the number of record sets.
virtual DtU32 numRecordSets () const
virtual bool setRecordSet (int index, const DtRecordSet &recSet)
 Set/Get a record set.
virtual bool getRecordSet (int index, DtRecordSet &recSet) const
- Public Member Functions inherited from DtInteraction
 DtInteraction ()
 default constructor
virtual ~DtInteraction ()
 destructor
 DtInteraction (const DtInteraction &orig)
 copy constructor
DtInteractionoperator= (const DtInteraction &orig)
 assignment operator
- Public Member Functions inherited from DtPduWithAttributeRecordSets
 DtPduWithAttributeRecordSets ()
 Constructor.
 DtPduWithAttributeRecordSets (const DtPduWithAttributeRecordSets &orig)
 Constructor.
DtPduWithAttributeRecordSetsoperator= (const DtPduWithAttributeRecordSets &other)
 Assignment operator.
virtual ~DtPduWithAttributeRecordSets ()
 Destructor.
virtual void printToStream (std::ostream &stream) const
 Print the contents of the PDU. This will call DtPdu's printToStream and also call printRecordSets()
virtual void printRecordSets (bool printEntityObjectId=false) const
 Prints the Record Sets to DtInfo.
virtual void printRecordSetsToStream (std::ostream &stream, bool printEntityObjectId=false) const
 Prints the Record Sets to the specified stream.
virtual void addRecord (std::auto_ptr< DtStandardVariableRecord > record, const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Adds a Record.
virtual void removeRecord (unsigned int index, const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Removes a Record.
virtual void clearRecordSet (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Removes all Records and deletes the recordSet for the given Entity/Object Identifier.
virtual void clearAllRecordSets ()
 Removes all RecordSets.
virtual std::vector
< DtEntityIdentifier
recordSetIdentifiers () const
 Returns a vector of Entity/Object Identifiers. These are the Identifiers for the Record Sets.
virtual void getRecordSetIdentifiers (std::vector< DtEntityIdentifier > &entityIdVector) const
 Returns by reference the vector of Entity/Object Identifiers.
virtual const std::vector
< DtStandardVariableRecord * > & 
records (const DtEntityIdentifier &id=DtEntityIdentifier::nullId()) const
 This will return the Records for a given Entity/Object Identifier.
virtual const
DtAttributeRecordSet
recordSet (const DtEntityIdentifier &id) const
 This will return the Record Set for a given Entity/Object Identifier.
virtual const std::vector
< DtStandardVariableRecord * > 
allRecords () const
 This will return the Records of all Record Sets.
virtual unsigned int numberOfRecords () const
 Returns the number of records for all Record Sets.
virtual unsigned int numberOfRecords (const DtEntityIdentifier &id) const
 Returns the number of records in the Record Set for the given Entity/Object Identifier.
virtual bool containsStandardRecordSets () const
 Returns if this PDU contains Standard Record Sets. (This is only applicable to DIS 7 and higher).
virtual const DtSimulationAddressattributePduSimulationAddress () const
 Returns the Simulation address if an attribute PDU was coupled. Used internally in VR-Link in Reflected Lists.
virtual void setAttributePduSimulationAddress (const DtSimulationAddress &addr)
 Sets the Simulation address if an attribute PDU was coupled. Used internally in VR-Link in Reflected Lists.
virtual void encode ()
 Encode method.
virtual void decode (DtPduFactory *pduFactory=0)
 Decode method.
virtual unsigned int attributeRecordSetsNetSize () const
 Network Size of the all Attribute Record Sets.
virtual unsigned int recordSetsNetSize () const
 Network Size of the all Record Sets.
virtual void setStandardVariableRecordFactory (DtStandardVariableRecordFactory *factory)
 Sets/gets the Standard Variable Record Factory used for decoding.
virtual
DtStandardVariableRecordFactory
standardVariableRecordFactory () const
virtual unsigned int numberOfRecordSets () const
 Gets the number of Attribute Record Sets.
virtual const
DtAttributeRecordSetMap
attributeRecordSetMap () const
 Get the AttributeRecordSet Map.
virtual int computeMasterAttributeRecordType () const
 Get the Master Attribute Record Type (if applicable, this will return MULTIPLES_PRESENT if not)
- Public Member Functions inherited from DtPdu
virtual ~DtPdu ()
 Destructor.
 DtPdu (const DtPdu &pdu, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Copy constructor.
DtPduoperator= (const DtPdu &pdu)
 Assignment operator.
virtual void * packet () const
 Older function that returns a pointer to the network representation.
virtual int status () const
 Get PDU status.
virtual void setVersion (int vers)
 Set/Get protocol version from PDU header.
virtual int protocolVersion () const
virtual void setExerciseId (int id)
 Set/Get exerciseID in PDU header.
virtual int exerciseId () const
virtual DtPduKind kind () const
 Returns PDU kind from PDU header.
virtual DtProtocolFamily protocolFamily () const
 Returns protocol family from PDU header.
virtual void setTimeStamp (DtTime time, DtTimeStampType type=DtTimeStampRelative)
 Set the PDU header's time stamp to reflect time and type.
virtual DtTime timeStamp () const
 Return the time (in seconds past an hour) encoded in the PDU header's time stamp.
virtual DtTimeStampType timeStampType () const
 Return the type of the time stamp, as indicated in PDU header.
virtual void setPduLength (unsigned int length)
 Set the PDU header's length.
virtual unsigned int pduLength () const
 Return the length of the PDU, as indicated in the PDU header.
virtual void setPduStatus (int)
 Set the PDU Status in the PDU header.
virtual int pduStatus () const
 Returns the PDU Status from the PDU header.
virtual void setTransferredEntityIndicator (bool difference)
 Set the Transferred Entity Indicator in the PDU header False is No Difference True is Difference.
virtual bool transferredEntityIndicator () const
 Returns the Transferred Entity Indicator from the PDU header False is No Difference True is Difference.
virtual void setLvcIndicator (DtPduStatusLVCIndicator lvcIndicator)
 Set the LVC Indicator in the PDU header.
virtual DtPduStatusLVCIndicator lvcIndicator () const
 Returns the LVC Indicator from the PDU header.
virtual void setCoupledExtensionIndicator (bool coupled)
 Set the Coupled Extension Indicator in the PDU Header False is Not Coupled True is Coupled.
virtual bool coupledExtensionIndicator () const
 Returns the Coupled Extension Indicator from the PDU Header False is Not Coupled True is Coupled.
virtual void setFireTypeIndicator (DtPduStatusFireTypeIndicator fireTypeIndicator)
 Set the Fire Type Indicator in the PDU header.
virtual
DtPduStatusFireTypeIndicator 
fireTypeIndicator () const
 Returns the Fire Type Indicator from the PDU header.
virtual void setDetonationTypeIndicator (DtPduStatusDetonationTypeIndicator detonationTypeIndicator)
 Set the Detonation Type Indicator in the PDU header.
virtual
DtPduStatusDetonationTypeIndicator 
detonationTypeIndicator () const
 Returns the Detonation Type Indicator from the PDU header.
virtual void setRadioAttachedIndicator (DtPduStatusRadioAttachedIndicator radioAttachedIndicator)
 Set the Radio Attached Indicator in the PDU header.
virtual
DtPduStatusRadioAttachedIndicator 
radioAttachedIndicator () const
 Returns the Radio Attached Indicator from the PDU header.
virtual void setIntercomAttachedIndicator (DtPduStatusIntercomAttachedIndicator intercomAttachedIndicator)
 Set the Intercom Attached Indicator in the PDU header.
virtual
DtPduStatusIntercomAttachedIndicator 
intercomAttachedIndicator () const
 Returns the Intercom Attached Indicator from the PDU header.
virtual void setIffSimulationMode (bool interactive)
 Set the IFF Simulation Mode in the PDU header.
virtual bool iffSimulationMode () const
 Returns the IFF Simulation Mode from the PDU header.
virtual void setActiveInterrogationIndicator (bool active)
 Set the Active Interrogation Indicator in the PDU header.
virtual bool activeInterrogationIndicator () const
 Returns the Active Interrogation Indicator from the PDU header.
virtual DtTime guessTimeValid (DtTime referenceTime) const
 Since timestamp only represents number of seconds past the hour, guessTimeValid chooses the hour that would make the timestamp closest to reference time, and returns a time that is timestamp seconds past that hour.
virtual DtNetPduHeadernetHeader () const
 Returns a pointer to the PDU's header.
virtual void print () const
 Print the contents of the PDU by calling printToStream(DtInfo).
virtual void printHeader () const
 Print the PDU's header. This calls printHeaderToStream(DtInfo).
virtual void printHeaderToStream (std::ostream &stream) const
 Print the PDU's header to a stream.
virtual void printDataToString (DtString &str) const
virtual void printPduInHexToStream (std::ostream &stream, unsigned int numberOfColumns) const
 Prints the entire PDU's internal buffer to the stream in Hex.
virtual bool isTransientPdu () const
 This method returns true if transient, false if state.
- Public Member Functions inherited from DtBaseMsg
virtual ~DtBaseMsg ()
 Destructor.
 DtBaseMsg (const DtBaseMsg &msg, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Copy constructor.
DtBaseMsgoperator= (const DtBaseMsg &msg)
 Assignment.
virtual const char * netRep () const
 Get network representation.
virtual int length () const
 Get size of message.
 DtBaseMsg ()
 Constructor Object is not fully constructed until initMsg is called.
void initMsg (int size, DtBufferPtr bufferPtr)
void initMsg (const void *initial, int size, DtBufferPtr bufferPtr)
virtual void changeSize (int size, bool skipSizeChanged=false)
 Changes the size of the message.
virtual void insertBytes (int offset, int numBytes, bool skipSizeChanged=false)
 Inserts numBytes zeroed-out bytes at the indicated offset into the net rep.
virtual void insertBytes (void *address, int numBytes, bool skipSizeChanged=false)
 Inserts numBytes zeroed-out bytes at the indicated address.
virtual void deleteBytes (int offset, int numBytes, bool skipSizeChanged=false)
 Deletes numBytes bytes at the indicated offset in the net rep.
virtual void deleteBytes (void *address, int numBytes, bool skipSizeChanged=false)
 Deletes numBytes bytes starting at the indicated address.
virtual void clearAll ()
 Zeros out all bytes in the network representation.
virtual void * newInternalBuffer (int size)
 Sets myInternalBuff to point to a malloc'ed buffer of size bytes.

Static Public Member Functions

static DtPducreate (const DtNetPacket *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0)
 Create a DtRecordPdu.
static void addCallback (DtExerciseConn *conn, DtRecordPduCb cb, void *usr)
 Add (register)/Remove (deregister) function to be called when pdu is received.
static void removeCallback (DtExerciseConn *conn, DtRecordPduCb cb, void *usr)

Protected Member Functions

virtual DtNetRecordSetPdunetRecordSetPduStruct () const
 Returns a pointer to the beginning of the record set data struct.
virtual DtPduKind internalGetPduKind () const
 Returns the internal PDU kind.
virtual DtNetRecordPdunetPduStruct () const
 Casts the netPdu element to our network struct.
DtRecordPduself () const
 Casts the 'this' pointer for changing elements in a const function.
- Protected Member Functions inherited from DtRecordSetPdu
 DtRecordSetPdu ()
 Constructors (protected because this is an abstract base class).
 DtRecordSetPdu (const DtRecordSetPdu &orig)
bool validateRecordSets (DtNetRecordSetPdu &netStruct)
 This function checks the data records for consistency between the actual size of the PDU and the size suggested by the PDU.
virtual char * var () const
 Returns a pointer to the first byte of variable length data.
virtual int netRecordSetLength () const
 Returns the length of data used by the record sets beginning at the location specified by netRecordSetPduStruct().
virtual int recordSetOffset (int recordSetIndex) const
 Returns a buffer offset to the given record set.

Protected Attributes

DtEntityIdentifier myEntityID
 Temporary objects for reference returns.
- Protected Attributes inherited from DtRecordSetPdu
int mySaveRecCount
 These are used by recordSetOffset() to save the value and index of the last offset which was computed in case it can be used again.
int mySaveBuffCount

Static Protected Attributes

static const int theStaticSize
 Size of PDU with zero data bytes.

Detailed Description

Instances of DtRecordPdu are used to send responses to the Record Query PDU.

Constructor & Destructor Documentation

DtRecordPdu::DtRecordPdu ( DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER)

Constructors.

DtRecordPdu::DtRecordPdu ( const DtNetRecordPdu initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER,
DtPduFactory pduFactory = 0 
)
DtRecordPdu::DtRecordPdu ( const DtRecordPdu orig)
virtual DtRecordPdu::~DtRecordPdu ( )
virtual

destructor

Member Function Documentation

static void DtRecordPdu::addCallback ( DtExerciseConn conn,
DtRecordPduCb  cb,
void *  usr 
)
static

Add (register)/Remove (deregister) function to be called when pdu is received.

static DtPdu* DtRecordPdu::create ( const DtNetPacket initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER,
DtPduFactory pduFactory = 0 
)
static

Create a DtRecordPdu.

Caller is responsible for deletion.

virtual DtEventType DtRecordPdu::eventType ( ) const
virtual
virtual DtPduKind DtRecordPdu::internalGetPduKind ( ) const
protectedvirtual

Returns the internal PDU kind.

Implements DtPdu.

virtual DtNetRecordPdu* DtRecordPdu::netPduStruct ( ) const
protectedvirtual

Casts the netPdu element to our network struct.

Non-virtual, since you can't override based on return type.

virtual DtNetRecordSetPdu* DtRecordPdu::netRecordSetPduStruct ( ) const
protectedvirtual

Returns a pointer to the beginning of the record set data struct.

Implements DtRecordSetPdu.

DtRecordPdu& DtRecordPdu::operator= ( const DtRecordPdu orig)

Assignment operator.

virtual const DtEntityIdentifier& DtRecordPdu::originatingEntityID ( ) const
virtual
virtual void DtRecordPdu::printData ( ) const
virtual

Print the data contained by this PDU.

Reimplemented from DtRecordSetPdu.

virtual void DtRecordPdu::printDataToStream ( std::ostream &  stream) const
virtual

Print the data to a stream.

Reimplemented from DtRecordSetPdu.

virtual const DtEntityIdentifier& DtRecordPdu::receivingEntityID ( ) const
virtual
static void DtRecordPdu::removeCallback ( DtExerciseConn conn,
DtRecordPduCb  cb,
void *  usr 
)
static
virtual DtRequiredReliabilityService DtRecordPdu::reqRelService ( ) const
virtual
virtual DtU32 DtRecordPdu::requestID ( ) const
virtual
virtual DtU32 DtRecordPdu::responseSerialNumber ( ) const
virtual
DtRecordPdu* DtRecordPdu::self ( ) const
protected

Casts the 'this' pointer for changing elements in a const function.

Non virtual, since you can't override based on return type.

Reimplemented from DtRecordSetPdu.

virtual void DtRecordPdu::setEventType ( DtEventType  type)
virtual

Set/Get the event type.

virtual void DtRecordPdu::setOriginatingEntityID ( const DtEntityIdentifier entity)
virtual

Set/Get originating entity identifier.

virtual void DtRecordPdu::setReceivingEntityID ( const DtEntityIdentifier entity)
virtual

Set/Get receiving entity identifier.

virtual void DtRecordPdu::setReqRelService ( enum DtRequiredReliabilityService  service)
virtual

Set/Get required reliability service.

virtual void DtRecordPdu::setRequestID ( DtU32  id)
virtual

Set/Get request ID.

virtual void DtRecordPdu::setResponseSerialNumber ( DtU32  num)
virtual

Set/Get the response serial number.

Member Data Documentation

DtEntityIdentifier DtRecordPdu::myEntityID
protected

Temporary objects for reference returns.

const int DtRecordPdu::theStaticSize
staticprotected

Size of PDU with zero data bytes.


The documentation for this class was generated from the following file:

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)