VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros
iffDecoder.h File Reference

This file provides a declaration of the class DtIffDecoder. More...

Go to the source code of this file.

Classes

class  DtIffDecoder
 The DtIffDecoder class: More...
 

Macros

#define DtDECLARE_IFF_ATTR_DECODER(attrName)   DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
 We define several macros that can be helpful in defining the class, and the individual decoding functions. More...
 
#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER(attrName, netType)
 This one can be used to define a "simple" attribute decoder. More...
 
#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST(attrName, netType, castExpr)
 This one can be used to define a slightly-less-simple attribute decoder that requires an explicit cast to convert from the FOM representation to the native representation expected by the mutator. More...
 
#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM(decClass, attrName, netType, mutator, param, castExpr)
 

Detailed Description

This file provides a declaration of the class DtIffDecoder.

Macro Definition Documentation

#define DtDECLARE_IFF_ATTR_DECODER (   attrName)    DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)

We define several macros that can be helpful in defining the class, and the individual decoding functions.

This one can be used to declare the attribute decoding functions, which are static members of DtIffDecoder. It uses a more general macro defined in hStateDecoder.h.

#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER (   attrName,
  netType 
)
Value:
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
#define DtDEFINE_SIMPLE_ATTR_DECODER_SET(decClass, stateRepClass, attrName, netType)
Defines a "simple" attribute decoder.
Definition: hlaStateDecoder.h:345
The DtIffDecoder class:
Definition: iffDecoder.h:63
static const xmlChar * attrName
Definition: xmlFedTags.h:117

This one can be used to define a "simple" attribute decoder.

One in which we merely extract the data from the AHVPS, and pass it to a mutator function whose name is set<attrName>. This works when the "net" type used to store the FOM representation can implicitly be converted to the native type expected by the mutator. Arguments are the name of the attribute, the "net" type to use to store the FOM representation, and the name of the mutator function to call.

#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST (   attrName,
  netType,
  castExpr 
)
Value:
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
#define DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST_SET(decClass, stateRepClass, attrName, netType, castExpr)
Defines a &quot;simple&quot; attribute decoder.
Definition: hlaStateDecoder.h:313
The DtIffDecoder class:
Definition: iffDecoder.h:63
static const xmlChar * attrName
Definition: xmlFedTags.h:117

This one can be used to define a slightly-less-simple attribute decoder that requires an explicit cast to convert from the FOM representation to the native representation expected by the mutator.

Arguments are the same as the macro above, with a fourth argument which is a cast expression to be used to cast the "net" type to the type expected by the mutator.

#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM (   decClass,
  attrName,
  netType,
  mutator,
  param,
  castExpr 
)
Value:
decClass, DtIffStateRepository, attrName, netType, mutator, param, castExpr)
#define DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST_AND_PARAM(decClass, stateRepClass, attrName, netType, mutator, param, castExpr)
Defines a &quot;simple&quot; attribute decoder.
Definition: hlaStateDecoder.h:358
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
static const xmlChar * attrName
Definition: xmlFedTags.h:117

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)