VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
DtPduWithData Class Reference

DtPduWithData provides the base class for all of the simulation management PDU's that have fixed/variable data. More...

+ Inheritance diagram for DtPduWithData:
+ Collaboration diagram for DtPduWithData:

Public Types

enum  { PduStaticSize = 40 }

Public Member Functions

 DtPduWithData ()
 Constructor.
virtual ~DtPduWithData ()
 Destructor.
 DtPduWithData (const DtPduWithData &orig)
DtPduWithDataoperator= (const DtPduWithData &orig)
 Assignment operator.
virtual int numFixedFields () const
 Returns number of fixed fields.
virtual int numVarFields () const
 Returns number of variable length fields.
virtual DtDatumParam varDatumId (int index) const
 Returns the datum param found in the index'th variable datum record.
virtual DtDatumParam fixedDatumId (int index) const
 Returns the datum param found in the index'th fixed datum record.
virtual DtDatumParam datumId (DtDatumRecordType fixedOrVar, int index) const
 Returns the datum param found in the index'th fixed or variable datum record, depending on whether fixedOrVar is DtFIXED or DtVAR.
virtual int datumSizeBits (DtDatumRecordType fixedOrVar, int index) const
 Returns the number of bits of data contained in the value fields of the index'th fixed or variable datum record, depending on whether fixedOrVar is DtFIXED or DtVAR.
virtual int datumSizeBytes (DtDatumRecordType fixedOrVar, int index) const
 Returns the number of bytes of data contained in the value fields of the index'th fixed or variable datum record, depending on whether fixedOrVar is DtFIXED or DtVAR.
virtual void getIndex (DtDatumParam param, DtDatumRecordType *fixedOrVar, int *index, DtDatumRetCode *retcode=NULL) const
 Looks through all fixed and variable records for one containing param as the parameter ID.
virtual DtFloat32 datumValFloat32 (DtDatumRecordType fixedOrVar, int index, DtDatumRetCode *retcode=NULL) const
 ******* INSPECTING DATUM VALUES BY INDEX ********* If you know the data type of the value contained in a particular record, use one of the following to return it.
virtual DtFloat64 datumValFloat64 (DtDatumRecordType fixedOrVar, int index, DtDatumRetCode *retcode=NULL) const
virtual unsigned long datumValUnsigned32 (DtDatumRecordType fixedOrVar, int index, DtDatumRetCode *retcode=NULL) const
virtual long datumValInt32 (DtDatumRecordType fixedOrVar, int index, DtDatumRetCode *retcode=NULL) const
virtual const char * datumValByteArray (DtDatumRecordType fixedOrVar, int index) const
virtual DtFloat32 datumValFloat32 (DtDatumParam param, DtDatumRetCode *retcode=NULL) const
 ******* INSPECTING DATUM VALUES BY PARAM ID ********* If you know the data type of the value contained in a particular record, use one of the following to return it.
virtual DtFloat64 datumValFloat64 (DtDatumParam param, DtDatumRetCode *retcode=NULL) const
virtual unsigned long datumValUnsigned32 (DtDatumParam param, DtDatumRetCode *retcode=NULL) const
virtual long datumValInt32 (DtDatumParam param, DtDatumRetCode *retcode=NULL) const
virtual const char * datumValByteArray (DtDatumParam param, DtDatumRetCode *retcode=NULL) const
virtual void initDataSection (const DtDatumParam *fixedParams, const DtVarDatumSpec *specList)
 ****************** MUTATOR FUNCTIONS ******************
virtual void setNumFixedFields (int newNum)
 Sets the number of fixed or variable fields to newNum.
virtual void setNumVarFields (int newNum)
virtual void setDatumParam (DtDatumRecordType fixedOrVar, int index, DtDatumParam param, DtDatumRetCode *retcode=NULL)
 Set the datum ID in the index'th fixed or variable datum record to param, depending on whether fixedOrVar is DtFIXED or DtVAR.
virtual void setVarDataBytes (int index, int length, DtDatumRetCode *retcode=NULL)
 Allocates length bytes for the index'th variable datum record.
virtual void setDatumValFloat64 (DtDatumRecordType fixedOrVar, int index, DtFloat64 val, DtDatumRetCode *retcode=NULL)
 ******* SETTING DATA VALUES BY INDEX ********* Use one of the following to set the data value in a fixed or variable datum record, depending on the data type of your data.
virtual void setDatumValFloat32 (DtDatumRecordType fixedOrVar, int index, DtFloat32 val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValInt32 (DtDatumRecordType fixedOrVar, int index, long val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValUnsigned32 (DtDatumRecordType fixedOrVar, int index, unsigned long val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValByteArray (DtDatumRecordType fixedOrVar, int index, const char *val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValFloat64 (DtDatumParam param, DtFloat64 val, DtDatumRetCode *retcode=NULL)
 ****** SETTING DATA VALUES BY PARAM ID ********* Use one of the following to set the data value in a fixed or variable datum record, depending on the data type of your data.
virtual void setDatumValFloat32 (DtDatumParam param, DtFloat32 val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValInt32 (DtDatumParam param, long val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValUnsigned32 (DtDatumParam param, unsigned long val, DtDatumRetCode *retcode=NULL)
virtual void setDatumValByteArray (DtDatumParam param, const char *val, DtDatumRetCode *retcode=NULL)
virtual void printData () const
 Implements DtPdu's virtual function to print the PDU's data.
virtual void printDataToStream (std::ostream &stream) const
 Prints the contents of the PDU to the specified stream.
virtual void printDataSection () const
 Helper function that prints only the contents of the data records.
virtual void printDataSectionToStream (std::ostream &stream) const
- Public Member Functions inherited from DtSimanPdu
DtSimanPduoperator= (const DtSimanPdu &orig)
 Assignment operator.
virtual const DtEntityIdentifiersenderId () const
 Get the sender ID.
virtual const DtEntityIdentifierreceiverId () const
 Get the receiver ID.
virtual void setSenderId (const DtEntityIdentifier &id)
 Set the sender ID.
virtual void setReceiverId (const DtEntityIdentifier &id)
 Set the receiver ID.
- 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.

Protected Member Functions

virtual DtDatumRecordSetdatumRecSet ()
 Returns our datum record set helper object.
virtual const DtDatumRecordSetdatumRecSet () const
 Const version of above.
virtual DtNetDataPduTaildataSection () const =0
 Returns a pointer to the data section of the PDU - the part that starts with the numberOfFixedFields field.
virtual DtNetFixDatumnthFixedDataRecord (int index) const
 Return a pointer to the index'th fixed data record in the network representation.
virtual DtNetVarDatumnthVarDataRecord (int index) const
 Return a pointer to the index'th variable data record in the network representation.
virtual void * datumValPtr (DtDatumRecordType fixedOrVar, int index) const
 Returns a pointer to the index'th fixed or variable record in the network representation, depending on whether fixedOrVar is DtFIXED or DtVAR.

Protected Attributes

DtDatumRecordSetmyRecSet
- Protected Attributes inherited from DtSimanPdu
DtEntityIdentifier mySenderId
DtEntityIdentifier myReceiverId

Friends

class DtPduDatumRecordSet

Detailed Description

DtPduWithData provides the base class for all of the simulation management PDU's that have fixed/variable data.

Member Enumeration Documentation

anonymous enum
Enumerator:
PduStaticSize 

Constructor & Destructor Documentation

DtPduWithData::DtPduWithData ( )

Constructor.

virtual DtPduWithData::~DtPduWithData ( )
virtual

Destructor.

DtPduWithData::DtPduWithData ( const DtPduWithData orig)

Member Function Documentation

virtual DtNetDataPduTail* DtPduWithData::dataSection ( ) const
protectedpure virtual

Returns a pointer to the data section of the PDU - the part that starts with the numberOfFixedFields field.

Implemented in DtActionResponsePdu, DtActionRequestRPdu, DtDataRPdu, DtSetDataRPdu, DtActionRequestPdu, DtActionResponseRPdu, DtCommentRPdu, DtCommentPdu, DtEventReportPdu, DtEventReptRPdu, DtDataPdu, and DtSetDataPdu.

virtual DtDatumParam DtPduWithData::datumId ( DtDatumRecordType  fixedOrVar,
int  index 
) const
virtual

Returns the datum param found in the index'th fixed or variable datum record, depending on whether fixedOrVar is DtFIXED or DtVAR.

Index is between 1 and numRecords. Returns DtDatumParam(0) if index is out of bounds.

virtual DtDatumRecordSet* DtPduWithData::datumRecSet ( )
protectedvirtual

Returns our datum record set helper object.

virtual const DtDatumRecordSet* DtPduWithData::datumRecSet ( ) const
protectedvirtual

Const version of above.

virtual int DtPduWithData::datumSizeBits ( DtDatumRecordType  fixedOrVar,
int  index 
) const
virtual

Returns the number of bits of data contained in the value fields of the index'th fixed or variable datum record, depending on whether fixedOrVar is DtFIXED or DtVAR.

If DtFIXED, the answer is always 32.

virtual int DtPduWithData::datumSizeBytes ( DtDatumRecordType  fixedOrVar,
int  index 
) const
virtual

Returns the number of bytes of data contained in the value fields of the index'th fixed or variable datum record, depending on whether fixedOrVar is DtFIXED or DtVAR.

If DtFIXED, the answer is always 4.

virtual const char* DtPduWithData::datumValByteArray ( DtDatumRecordType  fixedOrVar,
int  index 
) const
virtual
virtual const char* DtPduWithData::datumValByteArray ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual DtFloat32 DtPduWithData::datumValFloat32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual

******* INSPECTING DATUM VALUES BY INDEX ********* If you know the data type of the value contained in a particular record, use one of the following to return it.

fixedOrVar (either DtFIXED or DtVAR) and index (between 1 and numRecords) indicate which record you are inspecting. datumValBytesArray is used when the data type is a character string, or something other than a long, unsigned long, float or double. It returns a pointer to a character string containing the exact bytes in the PDU's network representation that represent the value being inspected. The supplied retcode pointer will be filled with DtDATUM_VALID if the value was successfully inspected, and DtDATUM_BAD_LENGTH if either the index was invalid, or the size of the data indicated that it could not be interpreted as the chosen data type.

virtual DtFloat32 DtPduWithData::datumValFloat32 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual

******* INSPECTING DATUM VALUES BY PARAM ID ********* If you know the data type of the value contained in a particular record, use one of the following to return it.

The particular record inspected will be the first one containing param as the datum ID. datumValByteArray is used when the data type is a character string, or something other than a long, unsigned long, float or double. It returns a pointer to a character string containing the exact bytes in the PDU's network representation that represent the value being inspected. The supplied retcode pointer will be filled with DtDATUM_VALID if the value was successfully inspected, and DtDATUM_BAD_LENGTH if either param was not found, or the size of the data indicated that it could not be interpreted as the chosen data type.

virtual DtFloat64 DtPduWithData::datumValFloat64 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual DtFloat64 DtPduWithData::datumValFloat64 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual long DtPduWithData::datumValInt32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual long DtPduWithData::datumValInt32 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual void* DtPduWithData::datumValPtr ( DtDatumRecordType  fixedOrVar,
int  index 
) const
protectedvirtual

Returns a pointer to the index'th fixed or variable record in the network representation, depending on whether fixedOrVar is DtFIXED or DtVAR.

virtual unsigned long DtPduWithData::datumValUnsigned32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual unsigned long DtPduWithData::datumValUnsigned32 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual DtDatumParam DtPduWithData::fixedDatumId ( int  index) const
virtual

Returns the datum param found in the index'th fixed datum record.

Index is between 1 and numRecords. Returns DtDatumParam(0) if index is out of bounds.

virtual void DtPduWithData::getIndex ( DtDatumParam  param,
DtDatumRecordType fixedOrVar,
int *  index,
DtDatumRetCode retcode = NULL 
) const
virtual

Looks through all fixed and variable records for one containing param as the parameter ID.

If it finds one, fills supplied fixedOrVar pointer with DtFIXED or DtVAR, and index with the index to indicate which record was found, and fills retcode with DtDATUM_VALID. If param was not found, retcode is filled with DtDATUM_BAD_ID, and index and fixedOrVar are invalid.

virtual void DtPduWithData::initDataSection ( const DtDatumParam fixedParams,
const DtVarDatumSpec specList 
)
virtual

****************** MUTATOR FUNCTIONS ******************

Initialize the data section of the PDU to reflect the fixed parameters and variable parameters and sizes indicated. fixedParams is a NULL- terminated array of DtDatumParams. specList is an array of DtVarDatumSpecs terminated with the DtNullVarDatumSpec constant. This call can be made instead of calls to setNumVarDatumRecords, setNumFixedDatumRecord, and repeated calls to setDatumParam and setVarDataBytes.

virtual DtNetFixDatum* DtPduWithData::nthFixedDataRecord ( int  index) const
protectedvirtual

Return a pointer to the index'th fixed data record in the network representation.

Index is between 1 and numRecords.

virtual DtNetVarDatum* DtPduWithData::nthVarDataRecord ( int  index) const
protectedvirtual

Return a pointer to the index'th variable data record in the network representation.

Index is between 1 and numRecords.

virtual int DtPduWithData::numFixedFields ( ) const
virtual

Returns number of fixed fields.

virtual int DtPduWithData::numVarFields ( ) const
virtual

Returns number of variable length fields.

DtPduWithData& DtPduWithData::operator= ( const DtPduWithData orig)
inline

Assignment operator.

References DtPdu::operator=().

virtual void DtPduWithData::printData ( ) const
virtual

Implements DtPdu's virtual function to print the PDU's data.

Reimplemented from DtSimanPdu.

Reimplemented in DtActionResponsePdu, DtActionRequestPdu, DtActionRequestRPdu, DtSetDataPdu, DtDataRPdu, DtSetDataRPdu, DtActionResponseRPdu, DtDataPdu, DtEventReportPdu, and DtEventReptRPdu.

virtual void DtPduWithData::printDataSection ( ) const
virtual

Helper function that prints only the contents of the data records.

virtual void DtPduWithData::printDataSectionToStream ( std::ostream &  stream) const
virtual
virtual void DtPduWithData::printDataToStream ( std::ostream &  stream) const
virtual

Prints the contents of the PDU to the specified stream.

Reimplemented from DtSimanPdu.

Reimplemented in DtActionResponsePdu, DtActionRequestPdu, DtActionRequestRPdu, DtSetDataPdu, DtDataRPdu, DtSetDataRPdu, DtActionResponseRPdu, DtDataPdu, DtEventReportPdu, and DtEventReptRPdu.

virtual void DtPduWithData::setDatumParam ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumParam  param,
DtDatumRetCode retcode = NULL 
)
virtual

Set the datum ID in the index'th fixed or variable datum record to param, depending on whether fixedOrVar is DtFIXED or DtVAR.

Supplied retcode pointer is filled with DtDATUM_VALID if successful, or DtDATUM_ BAD_INDEX if the index is not valid.

virtual void DtPduWithData::setDatumValByteArray ( DtDatumRecordType  fixedOrVar,
int  index,
const char *  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValByteArray ( DtDatumParam  param,
const char *  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValFloat32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtFloat32  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValFloat32 ( DtDatumParam  param,
DtFloat32  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValFloat64 ( DtDatumRecordType  fixedOrVar,
int  index,
DtFloat64  val,
DtDatumRetCode retcode = NULL 
)
virtual

******* SETTING DATA VALUES BY INDEX ********* Use one of the following to set the data value in a fixed or variable datum record, depending on the data type of your data.

fixedOrVar (either DtFIXED or DtVAR) and index (between 1 and numRecords) indicate which record you are modifying. setDatumValBytesArray is used when the data type is a character string, or something other than a long, unsigned long, float or double. It takes a pointer to a character string containing the exact bytes that should be used in the PDU's network representation. The supplied retcode pointer will be filled with DtDATUM_VALID if the value was successfully set, DtDATUM_BAD_INDEX if the index is invalid, and DtDATUM_BAD_LENGTH if the size of the data indicated that it could not be set from as the chosen data type.

virtual void DtPduWithData::setDatumValFloat64 ( DtDatumParam  param,
DtFloat64  val,
DtDatumRetCode retcode = NULL 
)
virtual

****** SETTING DATA VALUES BY PARAM ID ********* Use one of the following to set the data value in a fixed or variable datum record, depending on the data type of your data.

The particular record modified will be the first one containing param as its parameter ID. setDatumValBytesArray is used when the data type is a character string, or something other than a long, unsigned long, float or double. It takes a pointer to a character string containing the exact bytes that should be used in the PDU's network representation. The supplied retcode pointer will be filled with DtDATUM_VALID if the value was successfully set, DtDATUM_BAD_ID if param is invalid, and DtDATUM_BAD_LENGTH if the size of the data indicated that it could not be set from the chosen data type.

virtual void DtPduWithData::setDatumValInt32 ( DtDatumRecordType  fixedOrVar,
int  index,
long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValInt32 ( DtDatumParam  param,
long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValUnsigned32 ( DtDatumRecordType  fixedOrVar,
int  index,
unsigned long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setDatumValUnsigned32 ( DtDatumParam  param,
unsigned long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtPduWithData::setNumFixedFields ( int  newNum)
virtual

Sets the number of fixed or variable fields to newNum.

Previously existing fixed fields with indices greater than newNum are deleted. If newNum exceeds the number of existing fields, trailing new fields are created with zeros as datum params, sizes (for var only) and values.

virtual void DtPduWithData::setNumVarFields ( int  newNum)
virtual
virtual void DtPduWithData::setVarDataBytes ( int  index,
int  length,
DtDatumRetCode retcode = NULL 
)
virtual

Allocates length bytes for the index'th variable datum record.

Should be called before using one of the setDatumVal functions to actually set the data. Supplied retcode pointer is set to DtDATUM_VALID if successful, or DtDATUM_BAD_INDEX if the index is not valid.

virtual DtDatumParam DtPduWithData::varDatumId ( int  index) const
virtual

Returns the datum param found in the index'th variable datum record.

Index is between 1 and numRecords. Returns DtDatumParam(0) if index is out of bounds.

Friends And Related Function Documentation

friend class DtPduDatumRecordSet
friend

Member Data Documentation

DtDatumRecordSet* DtPduWithData::myRecSet
protected

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

Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)