VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
natoIffDecoder.h
Go to the documentation of this file.
1 #if DtHLA
2 
3 #ifndef DtNatoIffDecoder_H_
4 #define DtNatoIffDecoder_H_
5 
6 #include "iffDecoder.h"
7 
11 
15 
18 
22 #define DtDECLARE_NATO_IFF_ATTR_DECODER(attrName) \
23  DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
24 
32 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER( \
33  attrName, netType, inspector) \
34  DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST( \
35  attrName, netType, inspector, (netType))
36 
42 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST( \
43  attrName, netType, mutator, castExpr) \
44  DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
45  DtNatoIffDecoder, DtIffStateRepository, \
46  attrName, netType, mutator, castExpr)
47 
48 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM( \
49  attrName, netType, mutator, param, castExpr) \
50  DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM( \
51  DtNatoIffDecoder, attrName, netType, mutator, param, castExpr)
52 
54 {
55 public:
56 
59  DtExerciseConn* exConn,
60  DtObjClassDesc* classDesc);
61 
63  virtual ~DtNatoIffDecoder();
64 
67 
70 
71 public:
72 
73  static DtHlaStateDecoder* create(
74  DtExerciseConn* exConn,
75  DtObjClassDesc* classDesc);
76 
77 protected:
78 
79  DtDECLARE_NATO_IFF_ATTR_DECODER(AlternateMode4);
80 
81  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1Enabled);
82  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1IsDamaged);
83  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1IsMalfunctioning);
85 
86  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2Enabled);
87  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2IsDamaged);
88  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2IsMalfunctioning);
90 
91  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3Enabled);
92  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3IsDamaged);
93  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3IsMalfunctioning);
95 
96 
97  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AEnabled);
98  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AIsDamaged);
99  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AIsMalfunctioning);
101 
102  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4Enabled);
103  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4IsDamaged);
104  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4IsMalfunctioning);
106  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4PseudoCrypto);
107  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4PseudoCryptoAvailable);
108 
109  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCEnabled);
110  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCIsDamaged);
111  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCIsMalfunctioning);
113 
114  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CEnabled);
115  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CIsDamaged);
116  DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CIsMalfunctioning);
118 
119  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSEnabled);
120  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsDamaged);
121  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsMalfunctioning);
123  DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsTcasI);
124 
125 };
126 
127 #endif
128 #endif
129 
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
This file provides a declaration of the class DtIffDecoder.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:57
static DtHlaStateDecoder * create(DtExerciseConn *exConn, DtObjClassDesc *classDesc)
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc1516.h:41
DtIffDecoder & operator=(const DtIffDecoder &orig)
assignment operator
DtHlaStateDecoder is used to provide decoding of a state message into a state repository in an HLA (a...
Definition: hlaStateDecoder.h:32
The DtIffDecoder class:
Definition: iffDecoder.h:63
Definition: natoIffDecoder.h:53
#define DtDECLARE_NATO_IFF_ATTR_DECODER(attrName)
We define several macros that can be helpful in defining the class, and the individual decoding funct...
Definition: natoIffDecoder.h:22

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)