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 Referenceabstract

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. More...
 
virtual ~DtPduWithData ()
 Destructor. More...
 
 DtPduWithData (const DtPduWithData &orig)
 
DtPduWithDataoperator= (const DtPduWithData &orig)
 Assignment operator. More...
 
virtual int numFixedFields () const
 Returns number of fixed fields. More...
 
virtual int numVarFields () const
 Returns number of variable length fields. More...
 
virtual DtDatumParam varDatumId (int index) const
 Returns the datum param found in the index'th variable datum record. More...
 
virtual DtDatumParam fixedDatumId (int index) const
 Returns the datum param found in the index'th fixed datum record. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 ****************** More...
 
virtual void setNumFixedFields (int newNum)
 Sets the number of fixed or variable fields to newNum. More...
 
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. More...
 
virtual void setVarDataBytes (int index, int length, DtDatumRetCode *retcode=NULL)
 Allocates length bytes for the index'th variable datum record. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void printDataToStream (std::ostream &stream) const
 Prints the contents of the PDU to the specified stream. More...
 
virtual void printDataSection () const
 Helper function that prints only the contents of the data records. More...
 
virtual void printDataSectionToStream (std::ostream &stream) const
 
- Public Member Functions inherited from DtSimanPdu
DtSimanPduoperator= (const DtSimanPdu &orig)
 Assignment operator. More...
 
virtual const DtEntityIdentifiersenderId () const
 Get the sender ID. More...
 
virtual const DtEntityIdentifierreceiverId () const
 Get the receiver ID. More...
 
virtual void setSenderId (const DtEntityIdentifier &id)
 Set the sender ID. More...
 
virtual void setReceiverId (const DtEntityIdentifier &id)
 Set the receiver ID. More...
 
- Public Member Functions inherited from DtInteraction
 DtInteraction ()
 default constructor More...
 
virtual ~DtInteraction ()
 destructor More...
 
 DtInteraction (const DtInteraction &orig)
 copy constructor More...
 
DtInteractionoperator= (const DtInteraction &orig)
 assignment operator More...
 
- Public Member Functions inherited from DtPduWithAttributeRecordSets
 DtPduWithAttributeRecordSets ()
 Constructor. More...
 
 DtPduWithAttributeRecordSets (const DtPduWithAttributeRecordSets &orig)
 Constructor. More...
 
DtPduWithAttributeRecordSetsoperator= (const DtPduWithAttributeRecordSets &other)
 Assignment operator. More...
 
virtual ~DtPduWithAttributeRecordSets ()
 Destructor. More...
 
virtual void printToStream (std::ostream &stream) const
 Print the contents of the PDU. This will call DtPdu's printToStream and also call printRecordSets() More...
 
virtual void printRecordSets (bool printEntityObjectId=false) const
 Prints the Record Sets to DtInfo. More...
 
virtual void printRecordSetsToStream (std::ostream &stream, bool printEntityObjectId=false) const
 Prints the Record Sets to the specified stream. More...
 
virtual void addRecord (std::auto_ptr< DtStandardVariableRecord > record, const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Adds a Record. More...
 
virtual void removeRecord (unsigned int index, const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Removes a Record. More...
 
virtual void clearRecordSet (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Removes all Records and deletes the recordSet for the given Entity/Object Identifier. More...
 
virtual void clearAllRecordSets ()
 Removes all RecordSets. More...
 
virtual std::vector
< DtEntityIdentifier
recordSetIdentifiers () const
 Returns a vector of Entity/Object Identifiers. These are the Identifiers for the Record Sets. More...
 
virtual void getRecordSetIdentifiers (std::vector< DtEntityIdentifier > &entityIdVector) const
 Returns by reference the vector of Entity/Object Identifiers. More...
 
virtual const
DtStandardVariableRecordPtrVector
records (const DtEntityIdentifier &id=DtEntityIdentifier::nullId()) const
 This will return the Records for a given Entity/Object Identifier. More...
 
virtual const
DtAttributeRecordSet
recordSet (const DtEntityIdentifier &id) const
 This will return the Record Set for a given Entity/Object Identifier. More...
 
virtual const
DtStandardVariableRecordPtrVector 
allRecords () const
 This will return the Records of all Record Sets. More...
 
virtual unsigned int numberOfRecords () const
 Returns the number of records for all Record Sets. More...
 
virtual unsigned int numberOfRecords (const DtEntityIdentifier &id) const
 Returns the number of records in the Record Set for the given Entity/Object Identifier. More...
 
virtual bool containsStandardRecordSets () const
 Returns if this PDU contains Standard Record Sets. (This is only applicable to DIS 7 and higher). More...
 
virtual const DtSimulationAddressattributePduSimulationAddress () const
 Returns the Simulation address if an attribute PDU was coupled. Used internally in VR-Link in Reflected Lists. More...
 
virtual void setAttributePduSimulationAddress (const DtSimulationAddress &addr)
 Sets the Simulation address if an attribute PDU was coupled. Used internally in VR-Link in Reflected Lists. More...
 
virtual void encode ()
 Encode method. More...
 
virtual void decode (DtPduFactory *pduFactory=0)
 Decode method. More...
 
virtual unsigned int attributeRecordSetsNetSize () const
 Network Size of the all Attribute Record Sets. More...
 
virtual unsigned int recordSetsNetSize () const
 Network Size of the all Record Sets. More...
 
virtual void setStandardVariableRecordFactory (DtStandardVariableRecordFactory *factory)
 Sets/gets the Standard Variable Record Factory used for decoding. More...
 
virtual
DtStandardVariableRecordFactory
standardVariableRecordFactory () const
 
virtual unsigned int numberOfRecordSets () const
 Gets the number of Attribute Record Sets. More...
 
virtual const
DtAttributeRecordSetMap
attributeRecordSetMap () const
 Get the AttributeRecordSet Map. More...
 
virtual int computeMasterAttributeRecordType () const
 Get the Master Attribute Record Type (if applicable, this will return MULTIPLES_PRESENT if not) More...
 
virtual void setAttributeStrategy (DtAttributePduStrategy strat)
 
virtual DtAttributePduStrategy attributePduStrategy () const
 
virtual bool shouldAttributePduBeCoupled () const
 
- Public Member Functions inherited from DtPdu
virtual ~DtPdu ()
 Destructor. More...
 
 DtPdu (const DtPdu &pdu, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Copy constructor. More...
 
DtPduoperator= (const DtPdu &pdu)
 Assignment operator. More...
 
virtual void * packet () const
 Older function that returns a pointer to the network representation. More...
 
virtual int status () const
 Get PDU status. More...
 
virtual void setVersion (int vers)
 Set/Get protocol version from PDU header. More...
 
virtual int protocolVersion () const
 
virtual void setExerciseId (int id)
 Set/Get exerciseID in PDU header. More...
 
virtual int exerciseId () const
 
virtual DtPduKind kind () const
 Returns PDU kind from PDU header. More...
 
virtual DtProtocolFamily protocolFamily () const
 Returns protocol family from PDU header. More...
 
virtual void setTimeStamp (DtTime time, DtTimeStampType type=DtTimeStampRelative)
 Set the PDU header's time stamp to reflect time and type. More...
 
virtual DtTime timeStamp () const
 Return the time (in seconds past an hour) encoded in the PDU header's time stamp. More...
 
virtual DtTimeStampType timeStampType () const
 Return the type of the time stamp, as indicated in PDU header. More...
 
virtual void setReceivedTime (DtTime t)
 absRealTime when PDU was received into buffer. More...
 
virtual DtTime receivedTime () const
 
virtual void setPduLength (unsigned int length)
 Set the PDU header's length. More...
 
virtual unsigned int pduLength () const
 Return the length of the PDU, as indicated in the PDU header. More...
 
virtual void setPduStatus (int)
 Set the PDU Status in the PDU header. More...
 
virtual int pduStatus () const
 Returns the PDU Status from the PDU header. More...
 
virtual void setTransferredEntityIndicator (bool difference)
 Set the Transferred Entity Indicator in the PDU header False is No Difference True is Difference. More...
 
virtual bool transferredEntityIndicator () const
 Returns the Transferred Entity Indicator from the PDU header False is No Difference True is Difference. More...
 
virtual void setLvcIndicator (DtPduStatusLVCIndicator lvcIndicator)
 Set the LVC Indicator in the PDU header. More...
 
virtual DtPduStatusLVCIndicator lvcIndicator () const
 Returns the LVC Indicator from the PDU header. More...
 
virtual void setCoupledExtensionIndicator (bool coupled)
 Set the Coupled Extension Indicator in the PDU Header False is Not Coupled True is Coupled. More...
 
virtual bool coupledExtensionIndicator () const
 Returns the Coupled Extension Indicator from the PDU Header False is Not Coupled True is Coupled. More...
 
virtual void setFireTypeIndicator (DtPduStatusFireTypeIndicator fireTypeIndicator)
 Set the Fire Type Indicator in the PDU header. More...
 
virtual
DtPduStatusFireTypeIndicator 
fireTypeIndicator () const
 Returns the Fire Type Indicator from the PDU header. More...
 
virtual void setDetonationTypeIndicator (DtPduStatusDetonationTypeIndicator detonationTypeIndicator)
 Set the Detonation Type Indicator in the PDU header. More...
 
virtual
DtPduStatusDetonationTypeIndicator 
detonationTypeIndicator () const
 Returns the Detonation Type Indicator from the PDU header. More...
 
virtual void setRadioAttachedIndicator (DtPduStatusRadioAttachedIndicator radioAttachedIndicator)
 Set the Radio Attached Indicator in the PDU header. More...
 
virtual
DtPduStatusRadioAttachedIndicator 
radioAttachedIndicator () const
 Returns the Radio Attached Indicator from the PDU header. More...
 
virtual void setIntercomAttachedIndicator (DtPduStatusIntercomAttachedIndicator intercomAttachedIndicator)
 Set the Intercom Attached Indicator in the PDU header. More...
 
virtual
DtPduStatusIntercomAttachedIndicator 
intercomAttachedIndicator () const
 Returns the Intercom Attached Indicator from the PDU header. More...
 
virtual void setIffSimulationMode (bool interactive)
 Set the IFF Simulation Mode in the PDU header. More...
 
virtual bool iffSimulationMode () const
 Returns the IFF Simulation Mode from the PDU header. More...
 
virtual void setActiveInterrogationIndicator (bool active)
 Set the Active Interrogation Indicator in the PDU header. More...
 
virtual bool activeInterrogationIndicator () const
 Returns the Active Interrogation Indicator from the PDU header. More...
 
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. More...
 
virtual DtNetPduHeadernetHeader () const
 Returns a pointer to the PDU's header. More...
 
virtual void print () const
 Print the contents of the PDU by calling printToStream(DtInfo). More...
 
virtual void printHeader () const
 Print the PDU's header. This calls printHeaderToStream(DtInfo). More...
 
virtual void printHeaderToStream (std::ostream &stream) const
 Print the PDU's header to a stream. More...
 
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. More...
 
virtual bool isTransientPdu () const
 This method returns true if transient, false if state. More...
 
- Public Member Functions inherited from DtBaseMsg
virtual ~DtBaseMsg ()
 Destructor. More...
 
 DtBaseMsg (const DtBaseMsg &msg, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Copy constructor. More...
 
DtBaseMsgoperator= (const DtBaseMsg &msg)
 Assignment. More...
 
virtual const char * netRep () const
 Get network representation. More...
 
virtual int length () const
 Get size of message. More...
 
 DtBaseMsg ()
 Constructor Object is not fully constructed until initMsg is called. More...
 
void initMsg (int size, DtBufferPtr bufferPtr)
 
void initMsg (const void *initial, int size, DtBufferPtr bufferPtr)
 
virtual void changeSize (int size)
 Changes the size of the message. More...
 
virtual void changeBufferSize (int size)
 Changes the size of the message buffer, but not the message itself. More...
 
virtual void insertBytes (int offset, int numBytes)
 Inserts numBytes zeroed-out bytes at the indicated offset into the net rep. More...
 
virtual void insertBytes (void *address, int numBytes)
 Inserts numBytes zeroed-out bytes at the indicated address. More...
 
virtual void deleteBytes (int offset, int numBytes)
 Deletes numBytes bytes at the indicated offset in the net rep. More...
 
virtual void deleteBytes (void *address, int numBytes)
 Deletes numBytes bytes starting at the indicated address. More...
 
virtual void clearAll ()
 Zeros out all bytes in the network representation. More...
 
virtual void * newInternalBuffer (int size)
 Sets myInternalBuff to point to a malloc'ed buffer of size bytes. More...
 

Protected Member Functions

virtual DtDatumRecordSetdatumRecSet ()
 Returns our datum record set helper object. More...
 
virtual const DtDatumRecordSetdatumRecSet () const
 Const version of above. More...
 
virtual DtNetDataPduTaildataSection () const =0
 Returns a pointer to the data section of the PDU - the part that starts with the numberOfFixedFields field. More...
 
virtual DtNetFixDatumnthFixedDataRecord (int index) const
 Return a pointer to the index'th fixed data record in the network representation. More...
 
virtual DtNetVarDatumnthVarDataRecord (int index) const
 Return a pointer to the index'th variable data record in the network representation. More...
 
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. More...
 
- Protected Member Functions inherited from DtPduWithAttributeRecordSets
virtual void deepAttributeRecordSetMapCopy (const DtAttributeRecordSetMap &orig)
 Performs a deep copy. More...
 
virtual void printRecordSetToStream (const DtEntityIdentifier &id, std::ostream &stream) const
 
- Protected Member Functions inherited from DtPdu
 DtPdu ()
 Constructor. More...
 
virtual void setStatus (int okStatus)
 Sets the PDU's status to okStatus. More...
 
virtual void initPdu (int size, DtBufferPtr buffer)
 Must be called after default ctor before PDU is completely constructed. More...
 
virtual void initPdu (const void *initial, DtBufferPtr buffer, DtPduFactory *pduFactory)
 Called by from-net-rep ctor. Initializes DtBaseMsg. More...
 
virtual DtPduKind internalGetPduKind () const =0
 Returns the PDU kind associated with the derived PDU class. More...
 
virtual DtProtocolFamily kindToFamily (DtPduKind kind) const
 Maps PDU kind to ProtocolFamily. More...
 
virtual void sizeChanged (int size)
 Called by changeSize. Sets the size in the header to size. More...
 
virtual void clearData ()
 zeros out all bytes after the PDU header. More...
 
virtual void initHeader (DtPduKind kind, int size)
 Initializes PDU header. Called by initPdu. More...
 
virtual bool isTEIApplicable () const
 Returns whether a PDU Status is applicable to this PDU (based on PDU Type) These methods are only relevant in DIS 7 and greater. More...
 
virtual bool isLVCApplicable () const
 
virtual bool isCEIApplicable () const
 
virtual bool isFTIApplicable () const
 
virtual bool isDTIApplicable () const
 
virtual bool isRAIApplicable () const
 
virtual bool isIAIApplicable () const
 
virtual bool isISMApplicable () const
 
virtual bool isAIIApplicable () const
 

Protected Attributes

DtDatumRecordSetmyRecSet
 
- Protected Attributes inherited from DtSimanPdu
DtEntityIdentifier mySenderId
 
DtEntityIdentifier myReceiverId
 
- Protected Attributes inherited from DtPduWithAttributeRecordSets
DtAttributeRecordSetMap myAttributeRecordSetMap
 The Map which holds the Record Sets (Set of Record Sets) where the Entity Identifier is the key. More...
 
bool isRecordSetOwned
 
bool isPduExtending
 
DtStandardVariableRecordFactorymySVRFactory
 
DtPduDecodermyAttributeDecoder
 
DtPduEncodermyAttributeEncoder
 
DtSimulationAddress myAttributePduOriginatingSimulationAddress
 
DtAttributePduStrategy myAttributePduStrategy
 
- Protected Attributes inherited from DtPdu
DtPduEncodermyEncoder
 
DtPduDecodermyDecoder
 
int myOKStatus
 
DtTime myReceivedTime
 
- Protected Attributes inherited from DtBaseMsg
void * myNetMsg
 
void * myInternalBuff
 
int myIntBuffSize
 
int myMsgSize
 
int myNetworkMsgSize
 

Friends

class DtPduDatumRecordSet
 

Additional Inherited Members

- Static Protected Attributes inherited from DtPduWithAttributeRecordSets
static const DtAttributeRecordSet theEmptyAttributeRecordSet
 

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 Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)