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

An instance of this class is a DtDatumRecordSet that uses a part of a DtPduWithData as its network representation. More...

+ Inheritance diagram for DtPduDatumRecordSet:
+ Collaboration diagram for DtPduDatumRecordSet:

Public Member Functions

 DtPduDatumRecordSet (DtPduWithData *pdu)
 Constructor.
virtual ~DtPduDatumRecordSet ()
 Destructor.
 DtPduDatumRecordSet (const DtPduDatumRecordSet &orig)
 Copy ctor.
DtPduDatumRecordSetoperator= (const DtPduDatumRecordSet &orig)
 Assignment operator.
- Public Member Functions inherited from DtDatumRecordSet
 DtDatumRecordSet (DtBufferPtr bufferPtr=DtUSE_INTERNAL_BUFFER)
 Constructor.
 DtDatumRecordSet (const void *netRep, int size, DtBufferPtr bufferPtr=DtUSE_INTERNAL_BUFFER)
 Constructor.
virtual ~DtDatumRecordSet ()
 Destructor.
 DtDatumRecordSet (const DtDatumRecordSet &orig)
 Copy ctor.
DtDatumRecordSetoperator= (const DtDatumRecordSet &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 init (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
 Prints the data to DtInfo.
virtual void printDataToStream (std::ostream &stream) const
 Prints the data to the specified stream.
virtual DtNetDataPduTailnetDataRep () const
 Returns a pointer to the network representation, as might appear in a data PDU.
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 setFromNetFixed (const char *fixedFields, int numFixedFields)
 Sets the fixed data from a network representation of a fixed datum record array.
virtual void setFromNetVar (const char *varFields, int numVarFields, int totalVarFieldsLength)
 Sets the variable data from a network representation consisting of the variable length records concatenated together.
- 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 changeBufferSize (int size)
 Changes the size of the message buffer, but not the message itself.
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 void changeSize (int size)
 Changes the size of the datumRecSet, by asking my PDU to change size, then reinitializing to use the right piece of the PDU's buffer.
virtual void insertBytes (int offset, int numBytes)
 Inserts numBytes zeroed-out bytes at the indicated offset into the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.
virtual void insertBytes (void *address, int numBytes)
 Inserts numBytes zeroed-out bytes at the indicated addr within the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.
virtual void deleteBytes (int offset, int numBytes)
 Deletes numBytes bytes at the indicated offset in the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.
virtual void deleteBytes (void *address, int numBytes)
 Deletes numBytes bytes at the indicated addr within the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.
- Protected Member Functions inherited from DtDatumRecordSet
virtual void sizeChanged (int size)
 Really, should not be pure virtual in DtBaseMsg, but since it is, we need a null definition here.
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

DtPduWithDatamyPdu

Detailed Description

An instance of this class is a DtDatumRecordSet that uses a part of a DtPduWithData as its network representation.

Normally, a DtDatumRecord manages the memory associated with its network representation through its DtBaseMsg base class. However, since a DtPduWithData's netRep memory is managed by that DtPduWithData, DtPduDatumRecordSets must defer ITS memory management responsibilities to the DtPduWithData. This is accomplished by overriding changeSize, addBytes and deleteBytes here, with versions that call the DtPduWithData's versions of the functions. No one should need to use this class, except for DtPduWithData.

Constructor & Destructor Documentation

DtPduDatumRecordSet::DtPduDatumRecordSet ( DtPduWithData pdu)

Constructor.

virtual DtPduDatumRecordSet::~DtPduDatumRecordSet ( )
virtual

Destructor.

DtPduDatumRecordSet::DtPduDatumRecordSet ( const DtPduDatumRecordSet orig)

Copy ctor.

Member Function Documentation

virtual void DtPduDatumRecordSet::changeSize ( int  size)
protectedvirtual

Changes the size of the datumRecSet, by asking my PDU to change size, then reinitializing to use the right piece of the PDU's buffer.

Reimplemented from DtBaseMsg.

virtual void DtPduDatumRecordSet::deleteBytes ( int  offset,
int  numBytes 
)
protectedvirtual

Deletes numBytes bytes at the indicated offset in the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.

Reimplemented from DtBaseMsg.

virtual void DtPduDatumRecordSet::deleteBytes ( void *  address,
int  numBytes 
)
protectedvirtual

Deletes numBytes bytes at the indicated addr within the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.

Reimplemented from DtBaseMsg.

virtual void DtPduDatumRecordSet::insertBytes ( int  offset,
int  numBytes 
)
protectedvirtual

Inserts numBytes zeroed-out bytes at the indicated offset into the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.

Reimplemented from DtBaseMsg.

virtual void DtPduDatumRecordSet::insertBytes ( void *  address,
int  numBytes 
)
protectedvirtual

Inserts numBytes zeroed-out bytes at the indicated addr within the net rep, by asking my PDU to insert bytes, then reinitializing to use the right piece of the PDU's buffer.

Reimplemented from DtBaseMsg.

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

Assignment operator.

Member Data Documentation

DtPduWithData* DtPduDatumRecordSet::myPdu
protected

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

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)