VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Friends
DtDatumRecordSet Class Reference
+ Inheritance diagram for DtDatumRecordSet:
+ Collaboration diagram for DtDatumRecordSet:

Public Member Functions

 DtDatumRecordSet (DtBufferPtr bufferPtr=DtUSE_INTERNAL_BUFFER)
 Constructor. More...
 
 DtDatumRecordSet (const void *netRep, int size, DtBufferPtr bufferPtr=DtUSE_INTERNAL_BUFFER)
 Constructor. More...
 
virtual ~DtDatumRecordSet ()
 Destructor. More...
 
 DtDatumRecordSet (const DtDatumRecordSet &orig)
 Copy ctor. More...
 
DtDatumRecordSetoperator= (const DtDatumRecordSet &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 init (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
 Prints the data to DtInfo. More...
 
virtual void printDataToStream (std::ostream &stream) const
 Prints the data to the specified stream. More...
 
virtual DtNetDataPduTailnetDataRep () const
 Returns a pointer to the network representation, as might appear in a data PDU. 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 setFromNetFixed (const char *fixedFields, int numFixedFields)
 Sets the fixed data from a network representation of a fixed datum record array. More...
 
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. 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 void sizeChanged (int size)
 Really, should not be pure virtual in DtBaseMsg, but since it is, we need a null definition here. 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...
 

Friends

class DtPduWithData
 

Additional Inherited Members

- Protected Attributes inherited from DtBaseMsg
void * myNetMsg
 
void * myInternalBuff
 
int myIntBuffSize
 
int myMsgSize
 
int myNetworkMsgSize
 

Constructor & Destructor Documentation

DtDatumRecordSet::DtDatumRecordSet ( DtBufferPtr  bufferPtr = DtUSE_INTERNAL_BUFFER)

Constructor.

DtDatumRecordSet::DtDatumRecordSet ( const void *  netRep,
int  size,
DtBufferPtr  bufferPtr = DtUSE_INTERNAL_BUFFER 
)

Constructor.

virtual DtDatumRecordSet::~DtDatumRecordSet ( )
virtual

Destructor.

DtDatumRecordSet::DtDatumRecordSet ( const DtDatumRecordSet orig)

Copy ctor.

Member Function Documentation

virtual DtDatumParam DtDatumRecordSet::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 int DtDatumRecordSet::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 DtDatumRecordSet::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* DtDatumRecordSet::datumValByteArray ( DtDatumRecordType  fixedOrVar,
int  index 
) const
virtual
virtual const char* DtDatumRecordSet::datumValByteArray ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual DtFloat32 DtDatumRecordSet::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 network representation that represents the value being inspected. The supplied retcode pointer will be filled with DtDatumValid if the value was successfully inspected, and DtDatumBadLength 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 DtDatumRecordSet::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 network representation that represents the value being inspected. The supplied retcode pointer will be filled with DtDatumValid if the value was successfully inspected, and DtDatumBadLength 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 DtDatumRecordSet::datumValFloat64 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual DtFloat64 DtDatumRecordSet::datumValFloat64 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual long DtDatumRecordSet::datumValInt32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual long DtDatumRecordSet::datumValInt32 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual void* DtDatumRecordSet::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 DtDatumRecordSet::datumValUnsigned32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual unsigned long DtDatumRecordSet::datumValUnsigned32 ( DtDatumParam  param,
DtDatumRetCode retcode = NULL 
) const
virtual
virtual DtDatumParam DtDatumRecordSet::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 DtDatumRecordSet::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 DtDatumValid. If param was not found, retcode is filled with DtDatumBadId, and index and fixedOrVar are invalid.

virtual void DtDatumRecordSet::init ( const DtDatumParam fixedParams,
const DtVarDatumSpec specList 
)
virtual

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

Initialize 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.

DtNetDataPduTail * DtDatumRecordSet::netDataRep ( ) const
inlinevirtual

Returns a pointer to the network representation, as might appear in a data PDU.

Consists of numberOfFixedFields, numberOfVarFields, then the fixed and variable fields.

References DtBaseMsg::netRep().

virtual DtNetFixDatum* DtDatumRecordSet::nthFixedDataRecord ( int  index) const
virtual

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

Index is between 1 and numRecords.

virtual DtNetVarDatum* DtDatumRecordSet::nthVarDataRecord ( int  index) const
virtual

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

Index is between 1 and numRecords.

virtual int DtDatumRecordSet::numFixedFields ( ) const
virtual

Returns number of fixed fields.

virtual int DtDatumRecordSet::numVarFields ( ) const
virtual

Returns number of variable length fields.

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

Assignment operator.

virtual void DtDatumRecordSet::printData ( ) const
virtual

Prints the data to DtInfo.

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

Prints the data to the specified stream.

virtual void DtDatumRecordSet::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 DtDatumValid if successful, or DtDatumBadIndex if the index is not valid.

virtual void DtDatumRecordSet::setDatumValByteArray ( DtDatumRecordType  fixedOrVar,
int  index,
const char *  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setDatumValByteArray ( DtDatumParam  param,
const char *  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setDatumValFloat32 ( DtDatumRecordType  fixedOrVar,
int  index,
DtFloat32  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setDatumValFloat32 ( DtDatumParam  param,
DtFloat32  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::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 network representation. The supplied retcode pointer will be filled with DtDatumValid if the value was successfully set, DtDatumBadIndex if the index is invalid, and DtDatumBadLength if the size of the data indicated that it could not be set from as the chosen data type.

virtual void DtDatumRecordSet::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 network representation. The supplied retcode pointer will be filled with DtDatumValid if the value was successfully set, DtDatumBadId if param is invalid, and DtDatumBadLength if the size of the data indicated that it could not be set from the chosen data type.

virtual void DtDatumRecordSet::setDatumValInt32 ( DtDatumRecordType  fixedOrVar,
int  index,
long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setDatumValInt32 ( DtDatumParam  param,
long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setDatumValUnsigned32 ( DtDatumRecordType  fixedOrVar,
int  index,
unsigned long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setDatumValUnsigned32 ( DtDatumParam  param,
unsigned long  val,
DtDatumRetCode retcode = NULL 
)
virtual
virtual void DtDatumRecordSet::setFromNetFixed ( const char *  fixedFields,
int  numFixedFields 
)
virtual

Sets the fixed data from a network representation of a fixed datum record array.

Also pass the number of fixed fields.

virtual void DtDatumRecordSet::setFromNetVar ( const char *  varFields,
int  numVarFields,
int  totalVarFieldsLength 
)
virtual

Sets the variable data from a network representation consisting of the variable length records concatenated together.

Also pass the number of fields, and the total length of the variable data records.

virtual void DtDatumRecordSet::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 DtDatumRecordSet::setNumVarFields ( int  newNum)
virtual
virtual void DtDatumRecordSet::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 DtDatumValid if successful, or DtDatumBadIndex if the index is not valid.

virtual void DtDatumRecordSet::sizeChanged ( int  size)
protectedvirtual

Really, should not be pure virtual in DtBaseMsg, but since it is, we need a null definition here.

Implements DtBaseMsg.

virtual DtDatumParam DtDatumRecordSet::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 DtPduWithData
friend

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

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)