![]() |
VR-Link API Documentation for HLA 1516
|
DtHlaStateDecoder is used to provide decoding of a state message into a state repository in an HLA (as opposed to DIS) environment. More...
Inheritance diagram for DtHlaStateDecoder:
Collaboration diagram for DtHlaStateDecoder:Public Types | |
| typedef void(* | DtAttributeDecoder )(DtStateRepository *stateRep, const RTI::AttributeHandleValuePairSet &avlist, unsigned long pairSetIndex) |
| Attribute decoding function declaration. | |
Public Member Functions | |
| DtHlaStateDecoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc) | |
| constructor | |
| virtual | ~DtHlaStateDecoder () |
| destructor | |
| DtHlaStateDecoder (const DtHlaStateDecoder &orig) | |
| copy constructor | |
| DtHlaStateDecoder & | operator= (const DtHlaStateDecoder &orig) |
| assignment operator | |
| DtAttributeDecoder | addDecoder (RTI::AttributeHandle h, DtAttributeDecoder func) |
| Add/Remove a decoding function for the attribute specified by handle. | |
| DtAttributeDecoder | removeDecoder (RTI::AttributeHandle h) |
| DtAttributeDecoder | addDecoder (char *attrName, DtAttributeDecoder func, bool complain=true) |
| Add/Remove a decoding function for the attribute specified by name. | |
| DtAttributeDecoder | removeDecoder (char *attrName, bool complain=true) |
| virtual DtAttributeDecoder | decoder (const RTI::AttributeHandle &handle) const |
| Get the attribute decoder for the specified handle. | |
| virtual void | decode (const DtStateMsg &msg, DtStateRepository *stateRep) const |
| Decode the state message into the state repository. | |
| virtual RTI::ObjectClassHandle | objectClassHandle () const |
| Get the object's class handle. | |
| virtual DtHlaStateDecoder * | clone () const |
| Returns a new-ed clone of this object. | |
| virtual DtHlaStateDecoder * | clone (DtObjClassDesc *classDesc) const |
| Returns a new-ed clone of this object which corresponds to the class description classDesc. | |
Static Public Member Functions | |
| static char * | decodingBuffer (int length) |
| Returns a pointer to a buffer that can be used to copy data obtained from a phvps. | |
| static char * | attributeData (const RTI::AttributeHandleValuePairSet &attrs, int index, RTI::ULong &length) |
| Returns a pointer to the attribute data. | |
| static char * | attributeData (const RTI::AttributeHandleValuePairSet &attrs, int index, RTI::ULong &length, unsigned int expectedDataSize, char *attrName) |
| Gets the attribute data and checks the expected size. | |
| static DtNetEventId * | eventIdAttributeData (const RTI::AttributeHandleValuePairSet &attrs, int index) |
| Get the attribute data as a DtNetEventId (adds defensive null terminator) Returns a pointer to the attribute data. | |
Static Public Attributes | |
| static bool | theUseGetValuePointer |
Protected Types | |
| typedef std::map < RTI::AttributeHandle, DtAttributeDecoder > | AttributeHandleDecoderMap |
| typedef std::map < RTI::AttributeHandle, bool > | AttributeHandleBoolMap |
Protected Member Functions | |
| virtual void | decodeAttribute (DtStateRepository *stateRep, const RTI::AttributeHandleValuePairSet &attrs, unsigned long pairSetIndex) const |
| Decode the attribute at the specified index in the attribute handle pair set. | |
| virtual void | copyDecFuncs (const DtHlaStateDecoder &orig) |
Protected Attributes | |
| DtExerciseConn * | myExConn |
| DtObjClassDesc * | myClassDesc |
| RTI::ObjectClassHandle | myHandle |
| AttributeHandleDecoderMap | myDecoderList |
| myDecoderList is a map of decoders for each attribute registered to this state. | |
Private Attributes | |
| AttributeHandleBoolMap | myMutableReportedWarning |
| myReportedWarnings is an array for keeping track of which warnings have been already issued. | |
DtHlaStateDecoder is used to provide decoding of a state message into a state repository in an HLA (as opposed to DIS) environment.
|
protected |
|
protected |
| typedef void(* DtHlaStateDecoder::DtAttributeDecoder)(DtStateRepository *stateRep, const RTI::AttributeHandleValuePairSet &avlist, unsigned long pairSetIndex) |
Attribute decoding function declaration.
| DtHlaStateDecoder::DtHlaStateDecoder | ( | DtExerciseConn * | exConn, |
| DtObjClassDesc * | classDesc | ||
| ) |
constructor
|
virtual |
destructor
| DtHlaStateDecoder::DtHlaStateDecoder | ( | const DtHlaStateDecoder & | orig | ) |
copy constructor
| DtAttributeDecoder DtHlaStateDecoder::addDecoder | ( | RTI::AttributeHandle | h, |
| DtAttributeDecoder | func | ||
| ) |
Add/Remove a decoding function for the attribute specified by handle.
Returns the decoding function which is replaced by the add/remove. Note: This is non-virtual, since it is typically called by constructors.
Referenced by DtF18EntityDecoder::DtF18EntityDecoder().
| DtAttributeDecoder DtHlaStateDecoder::addDecoder | ( | char * | attrName, |
| DtAttributeDecoder | func, | ||
| bool | complain = true |
||
| ) |
Add/Remove a decoding function for the attribute specified by name.
Complain flag determines whether to print a warning if the attribute does not exist in the FOM. Returns the decoding function which is replaced by the add/remove. Note: This is non-virtual, since it is typically called by constructors.
|
inlinestatic |
Returns a pointer to the attribute data.
References decodingBuffer(), rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValue(), rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValueLength(), rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValuePointer(), and theUseGetValuePointer.
|
inlinestatic |
Gets the attribute data and checks the expected size.
If the data length is too small, no data is collected (0 returned and length set to 0) and a warning is printed. A message is printed if the data length is too large. Returns a pointer to the attribute data (or 0 if length < expected size).
References decodingBuffer(), DtNlVerbose, DtNotifyLevel, DtVerbose, DtWarn, rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValue(), rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValueLength(), rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValuePointer(), and theUseGetValuePointer.
|
virtual |
Returns a new-ed clone of this object.
Reimplemented in DtBaseEntityDecoder.
|
virtual |
Returns a new-ed clone of this object which corresponds to the class description classDesc.
Use this function if you want a subclass in the FOM to use the same decoder as its parent
Reimplemented in DtBaseEntityDecoder.
|
protectedvirtual |
|
virtual |
Decode the state message into the state repository.
Reimplemented in DtBaseEntityDecoder, and DtPhysicalEntityDecoder.
|
protectedvirtual |
Decode the attribute at the specified index in the attribute handle pair set.
|
inlinevirtual |
Get the attribute decoder for the specified handle.
References myDecoderList.
|
inlinestatic |
Returns a pointer to a buffer that can be used to copy data obtained from a phvps.
If the buffer isn't large enough to contain the data, more space will be allocated to it.
References DtDecodingBuffer().
Referenced by attributeData(), and eventIdAttributeData().
|
inlinestatic |
Get the attribute data as a DtNetEventId (adds defensive null terminator) Returns a pointer to the attribute data.
References decodingBuffer(), rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValue(), and rti1516::CompatibleHandleValuePairSet< HandleType, MapType >::getValueLength().
|
inlinevirtual |
Get the object's class handle.
References myHandle.
| DtHlaStateDecoder& DtHlaStateDecoder::operator= | ( | const DtHlaStateDecoder & | orig | ) |
assignment operator
| DtAttributeDecoder DtHlaStateDecoder::removeDecoder | ( | RTI::AttributeHandle | h | ) |
| DtAttributeDecoder DtHlaStateDecoder::removeDecoder | ( | char * | attrName, |
| bool | complain = true |
||
| ) |
|
protected |
|
protected |
myDecoderList is a map of decoders for each attribute registered to this state.
Referenced by decoder().
|
protected |
|
protected |
Referenced by objectClassHandle().
|
mutableprivate |
myReportedWarnings is an array for keeping track of which warnings have been already issued.
This variable is set in const functions. The Decoders need to be const, but we would like to warn people only once.
|
static |
Referenced by attributeData().