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

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

Go to the source code of this file.

Classes

class  DtNatoIffDecoder
 Mode TCAS Specific Attribute Decoder Macros. More...
 

Macros

#define DtDECLARE_NATO_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_NATO_IFF_ATTR_DECODER(attrName, netType, inspector)
 This one can be used to define a "simple" attribute decoder. More...
 
#define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST(attrName, netType, mutator, 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_NATO_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM(attrName, netType, mutator, param, castExpr)
 
#define DtDEFINE_SIMPLE_MODE4_ATTR_DECODER_WITH_CAST(decClass, stateRepClass, attrName, netType, mutator, castExpr)
 
#define DtDECLARE_NATO_IFF_MODE4_ATTR_DECODER(attrName)   DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
 This one can be used to declare the attribute decoding functions, which are static members of DtIffDecoder. More...
 
#define DtDEFINE_SIMPLE_NATO_IFF_MODE4_ATTR_DECODER(attrName, netType, inspector)
 This one can be used to define a "simple" attribute decoder. More...
 
#define DtDEFINE_SIMPLE_NATO_IFF_MODE4_ATTR_DECODER_WITH_CAST(attrName, netType, mutator, 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_NATO_IFF_MODE4_ATTR_DECODER_WITH_CAST_AND_PARAM(attrName, netType, mutator, param, castExpr)
 
#define DtDECLARE_NATO_IFF_TCAS_ATTR_DECODER(attrName)   DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
 This one can be used to declare the attribute decoding functions, which are static members of DtIffDecoder. More...
 
#define DtDEFINE_SIMPLE_NATO_IFF_TCAS_ATTR_DECODER(attrName, netType, inspector)
 This one can be used to define a "simple" attribute decoder. More...
 
#define DtDEFINE_SIMPLE_TCAS_ATTR_DECODER_WITH_CAST(decClass, stateRepClass, attrName, netType, mutator, castExpr)
 Defines a "simple" attribute decoder. More...
 
#define DtDEFINE_SIMPLE_NATO_IFF_TCAS_ATTR_DECODER_WITH_CAST(attrName, netType, mutator, 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_NATO_IFF_TCAS_ATTR_DECODER_WITH_CAST_AND_PARAM(attrName, netType, mutator, param, castExpr)
 

Detailed Description

This file provides a declaration of the class DtNatoIffDecoder.

Macro Definition Documentation

#define DtDECLARE_NATO_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 DtDECLARE_NATO_IFF_MODE4_ATTR_DECODER (   attrName)    DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)

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 DtDECLARE_NATO_IFF_TCAS_ATTR_DECODER (   attrName)    DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)

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_MODE4_ATTR_DECODER_WITH_CAST (   decClass,
  stateRepClass,
  attrName,
  netType,
  mutator,
  castExpr 
)
Value:
void decClass::decode##attrName( \
stateRepClass* stateRep, \
const RTI::AttributeHandleValuePairSet& attrs, \
int index) \
{ \
if (stateRep->mode4()) { \
RTI::ULong length = 0; \
netType* netValPtr = (netType*)attributeData(attrs, index, length, sizeof(netType), #attrName); \
if (netValPtr) \
{ \
stateRep->mode4()->mutator(castExpr *netValPtr); \
} \
} \
}
static const xmlChar * attrName
Definition: xmlFedTags.h:116
#define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER (   attrName,
  netType,
  inspector 
)
Value:
attrName, netType, inspector, (netType))
static const xmlChar * attrName
Definition: xmlFedTags.h:116
#define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST(attrName, netType, mutator, castExpr)
This one can be used to define a slightly-less-simple attribute decoder that requires an explicit cas...
Definition: natoIffDecoder.h:42

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_NATO_IFF_ATTR_DECODER_WITH_CAST (   attrName,
  netType,
  mutator,
  castExpr 
)
Value:
attrName, netType, mutator, castExpr)
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffDecoder.h:177
static const xmlChar * attrName
Definition: xmlFedTags.h:116
#define DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST(decClass, stateRepClass, attrName, netType, mutator, castExpr)
Defines a &quot;simple&quot; attribute decoder.
Definition: hlaStateDecoder.h:291

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_NATO_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM (   attrName,
  netType,
  mutator,
  param,
  castExpr 
)
Value:
DtNatoIffDecoder, attrName, netType, mutator, param, castExpr)
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffDecoder.h:177
static const xmlChar * attrName
Definition: xmlFedTags.h:116
#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM(decClass, attrName, netType, mutator, param, castExpr)
Definition: iffDecoder.h:56
#define DtDEFINE_SIMPLE_NATO_IFF_MODE4_ATTR_DECODER (   attrName,
  netType,
  inspector 
)
Value:
attrName, netType, inspector, (netType))
#define DtDEFINE_SIMPLE_NATO_IFF_MODE4_ATTR_DECODER_WITH_CAST(attrName, netType, mutator, castExpr)
This one can be used to define a slightly-less-simple attribute decoder that requires an explicit cas...
Definition: natoIffDecoder.h:99
static const xmlChar * attrName
Definition: xmlFedTags.h:116

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_NATO_IFF_MODE4_ATTR_DECODER_WITH_CAST (   attrName,
  netType,
  mutator,
  castExpr 
)
Value:
attrName, netType, mutator, castExpr)
#define DtDEFINE_SIMPLE_MODE4_ATTR_DECODER_WITH_CAST(decClass, stateRepClass, attrName, netType, mutator, castExpr)
Definition: natoIffDecoder.h:59
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffDecoder.h:177
static const xmlChar * attrName
Definition: xmlFedTags.h:116

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_NATO_IFF_MODE4_ATTR_DECODER_WITH_CAST_AND_PARAM (   attrName,
  netType,
  mutator,
  param,
  castExpr 
)
Value:
DtNatoIffDecoder, attrName, netType, mutator, param, castExpr)
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffDecoder.h:177
static const xmlChar * attrName
Definition: xmlFedTags.h:116
#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM(decClass, attrName, netType, mutator, param, castExpr)
Definition: iffDecoder.h:56
#define DtDEFINE_SIMPLE_NATO_IFF_TCAS_ATTR_DECODER (   attrName,
  netType,
  inspector 
)
Value:
attrName, netType, inspector, (netType))
#define DtDEFINE_SIMPLE_NATO_IFF_TCAS_ATTR_DECODER_WITH_CAST(attrName, netType, mutator, castExpr)
This one can be used to define a slightly-less-simple attribute decoder that requires an explicit cas...
Definition: natoIffDecoder.h:164
static const xmlChar * attrName
Definition: xmlFedTags.h:116

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_NATO_IFF_TCAS_ATTR_DECODER_WITH_CAST (   attrName,
  netType,
  mutator,
  castExpr 
)
Value:
attrName, netType, mutator, castExpr)
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
#define DtDEFINE_SIMPLE_TCAS_ATTR_DECODER_WITH_CAST(decClass, stateRepClass, attrName, netType, mutator, castExpr)
Defines a &quot;simple&quot; attribute decoder.
Definition: natoIffDecoder.h:142
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffDecoder.h:177
static const xmlChar * attrName
Definition: xmlFedTags.h:116

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_NATO_IFF_TCAS_ATTR_DECODER_WITH_CAST_AND_PARAM (   attrName,
  netType,
  mutator,
  param,
  castExpr 
)
Value:
DtNatoIffDecoder, attrName, netType, mutator, param, castExpr)
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffDecoder.h:177
static const xmlChar * attrName
Definition: xmlFedTags.h:116
#define DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM(decClass, attrName, netType, mutator, param, castExpr)
Definition: iffDecoder.h:56
#define DtDEFINE_SIMPLE_TCAS_ATTR_DECODER_WITH_CAST (   decClass,
  stateRepClass,
  attrName,
  netType,
  mutator,
  castExpr 
)
Value:
void decClass::decode##attrName( \
stateRepClass* stateRep, \
const RTI::AttributeHandleValuePairSet& attrs, \
int index) \
{ \
if (stateRep->tcasData()) { \
RTI::ULong length = 0; \
netType* netValPtr = (netType*)attributeData(attrs, index, length, sizeof(netType), #attrName); \
if (netValPtr) \
{ \
stateRep->tcasData()->mutator(castExpr *netValPtr); \
} \
} \
}
static const xmlChar * attrName
Definition: xmlFedTags.h:116

Defines a "simple" attribute decoder.

One in which we merely extract the data from the AHVPS into a variable of the named network type, and pass it to a named repository mutator method using the given cast expression. This works when the network type used to store the FOM representation can be converted to the native type expected by the mutator. Arguments are the decoder class, the state repository class, the attribute name, the network type, the mutator, and the cast operation.


Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)