VR-Link API Documentation for HLA 1.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes
DtHlaStateDecoder Class Reference

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:

List of all members.

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
DtHlaStateDecoderoperator= (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 DtHlaStateDecoderclone () const
 Returns a new-ed clone of this object.
virtual DtHlaStateDecoderclone (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

DtExerciseConnmyExConn
DtObjClassDescmyClassDesc
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.

Detailed Description

DtHlaStateDecoder is used to provide decoding of a state message into a state repository in an HLA (as opposed to DIS) environment.


Member Typedef Documentation

typedef std::map<RTI::AttributeHandle, bool> DtHlaStateDecoder::AttributeHandleBoolMap [protected]
typedef std::map<RTI::AttributeHandle, DtAttributeDecoder> DtHlaStateDecoder::AttributeHandleDecoderMap [protected]
typedef void(* DtHlaStateDecoder::DtAttributeDecoder)(DtStateRepository *stateRep, const RTI::AttributeHandleValuePairSet &avlist, unsigned long pairSetIndex)

Attribute decoding function declaration.


Constructor & Destructor Documentation

constructor

destructor

copy constructor


Member Function Documentation

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 DtHlaStateDecoder* DtHlaStateDecoder::clone ( ) const [virtual]

Returns a new-ed clone of this object.

Reimplemented in DtBaseEntityDecoder.

virtual DtHlaStateDecoder* DtHlaStateDecoder::clone ( DtObjClassDesc classDesc) const [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.

virtual void DtHlaStateDecoder::copyDecFuncs ( const DtHlaStateDecoder orig) [protected, virtual]
virtual void DtHlaStateDecoder::decode ( const DtStateMsg msg,
DtStateRepository stateRep 
) const [virtual]

Decode the state message into the state repository.

Reimplemented in DtBaseEntityDecoder, and DtPhysicalEntityDecoder.

virtual void DtHlaStateDecoder::decodeAttribute ( DtStateRepository stateRep,
const RTI::AttributeHandleValuePairSet &  attrs,
unsigned long  pairSetIndex 
) const [protected, virtual]

Decode the attribute at the specified index in the attribute handle pair set.

Reimplemented in DtGenericObjectDecoder.

DtHlaStateDecoder::DtAttributeDecoder DtHlaStateDecoder::decoder ( const RTI::AttributeHandle &  handle) const [inline, virtual]

Get the attribute decoder for the specified handle.

References myDecoderList.

char * DtHlaStateDecoder::decodingBuffer ( int  length) [inline, static]

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().

RTI::ObjectClassHandle DtHlaStateDecoder::objectClassHandle ( ) const [inline, virtual]

Get the object's class handle.

References myHandle.

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

assignment operator

DtAttributeDecoder DtHlaStateDecoder::removeDecoder ( char *  attrName,
bool  complain = true 
)

Member Data Documentation

myDecoderList is a map of decoders for each attribute registered to this state.

Referenced by decoder().

RTI::ObjectClassHandle DtHlaStateDecoder::myHandle [protected]

Referenced by objectClassHandle().

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.


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

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)