![]() |
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. | |
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.
|
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.
Reimplemented in DtGenericObjectDecoder.
|
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().
|
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.