VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
natoIffEncoder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #if DtHLA
7 
8 #ifndef DtNatoIffEncoder_H_
9 #define DtNatoIffEncoder_H_
10 
11 #include "iffEncoder.h"
12 
16 
20 
23 
26 #define DtDECLARE_NATO_IFF_ATTR_CHECKER(attrName) \
27  DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName)
28 
31 #define DtDECLARE_NATO_IFF_ATTR_ENCODER(attrName) \
32  DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName)
33 
38 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_ENCODER( \
39  attrName, netType, inspector) \
40  DtDEFINE_SIMPLE_ATTR_ENCODER(DtNatoIffEncoder, \
41  DtIffStateRepository, attrName, netType, inspector)
42 
48 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_CHECKER( \
49  attrName, inspector) \
50  DtDEFINE_SIMPLE_ATTR_CHECKER(DtNatoIffEncoder, \
51  DtIffStateRepository, attrName, inspector)
52 
58 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_ENCODER_WITH_PARAM( \
59  attrName, netType, inspector, param) \
60  DtDEFINE_SIMPLE_IFF_ATTR_ENCODER_WITH_PARAM( \
61  DtNatoIffEncoder, attrName, netType, inspector, param)
62 
68 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_CHECKER_WITH_PARAM( \
69  attrName, inspector, param) \
70  DtDEFINE_SIMPLE_IFF_ATTR_CHECKER_WITH_PARAM( \
71  DtNatoIffEncoder, attrName, inspector, param)
72 
73 
74 class DT_DLL_VL DtNatoIffEncoder : public DtIffEncoder
75 {
76 public:
77 
79  DtNatoIffEncoder(
80  DtExerciseConn* exConn,
81  DtObjClassDesc* classDesc);
82 
84  virtual ~DtNatoIffEncoder();
85 
87  DtNatoIffEncoder(const DtNatoIffEncoder& orig);
88 
90  DtNatoIffEncoder& operator=(const DtNatoIffEncoder& orig);
91 
92 public:
93 
94  static DtHlaStateEncoder* create(
95  DtExerciseConn* exConn,
96  DtObjClassDesc* classDesc);
97 
98 protected:
99 
100  DtDECLARE_NATO_IFF_ATTR_CHECKER(AlternateMode4);
101 
102  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1Enabled);
103  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1IsDamaged);
104  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1IsMalfunctioning);
105  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1IsOn);
106 
107  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2Enabled);
108  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2IsDamaged);
109  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2IsMalfunctioning);
110  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2IsOn);
111 
112  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3Enabled);
113  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3IsDamaged);
114  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3IsMalfunctioning);
115  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3IsOn);
116 
118  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AEnabled);
119  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AIsDamaged);
120  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AIsMalfunctioning);
121  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AIsOn);
122 
123  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4Enabled);
124  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4IsDamaged);
125  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4IsMalfunctioning);
126  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4IsOn);
127  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4PseudoCrypto);
128  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4PseudoCryptoAvailable);
129 
131  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCEnabled);
132  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCIsDamaged);
133  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCIsMalfunctioning);
134  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCIsOn);
135 
137  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CEnabled);
138  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CIsDamaged);
139  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CIsMalfunctioning);
140  DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CIsOn);
141 
142  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSEnabled);
143  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsDamaged);
144  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsMalfunctioning);
145  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsOn);
146  DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsTcasI);
147 
148  DtDECLARE_NATO_IFF_ATTR_ENCODER(AlternateMode4);
149 
150  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1Enabled);
151  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1IsDamaged);
152  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1IsMalfunctioning);
153  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1IsOn);
154 
155  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2Enabled);
156  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2IsDamaged);
157  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2IsMalfunctioning);
158  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2IsOn);
159 
160  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3Enabled);
161  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3IsDamaged);
162  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3IsMalfunctioning);
163  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3IsOn);
164 
165  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AEnabled);
166  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AIsDamaged);
167  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AIsMalfunctioning);
168  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AIsOn);
169 
170  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4Enabled);
171  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4IsDamaged);
172  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4IsMalfunctioning);
173  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4IsOn);
174  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4PseudoCrypto);
175  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4PseudoCryptoAvailable);
176 
177  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCEnabled);
178  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCIsDamaged);
179  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCIsMalfunctioning);
180  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCIsOn);
181 
182  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CEnabled);
183  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CIsDamaged);
184  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CIsMalfunctioning);
185  DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CIsOn);
186 
187  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSEnabled);
188  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsDamaged);
189  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsMalfunctioning);
190  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsOn);
191  DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsTcasI);
192 
193 };
194 
195 #endif
196 #endif
197 
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:57

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)