VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iffStateRepository.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vl/hostStructs.h>
15 #include <vl/eventId.h>
16 
17 #include <vlutil/vlNetTypes.h>
18 #include <string.h>
19 
20 #ifdef DtDIS
22 #endif
23 
24 #ifndef DtIFF_MODE_CODE_SIZE
25 #define DtIFF_MODE_CODE_SIZE 3
26 #endif
27 
31 {
32 public:
33 
35  {
36  Enabled = 0,
39  IsOn
40  };
41 
42 public:
43 
46 
48  virtual ~DtIffStateRepository();
49 
52 
55 
57  virtual DtStateRepository* clone(bool copy = false) const;
58 
60  virtual void printData() const;
61 
63  virtual void printDataToStream(std::ostream& stream) const;
64 
66  virtual void setSystemType(DtIffAtcNavaidsSysType type );
67  virtual DtIffAtcNavaidsSysType systemType() const;
68 
70  virtual void setSystemName(DtIffAtcNavaidsSysName name );
71  virtual DtIffAtcNavaidsSysName systemName() const;
72 
74  virtual void setSystemMode(DtU8 mode );
75  virtual DtU8 systemMode() const;
76 
78  virtual void setEventId(const DtEventId &eventid);
79  virtual const DtEventId& eventId() const;
80 
82  virtual void setAlternateMode4(DtIffAtcNavaidsAltParm4 useMode4);
83  virtual DtIffAtcNavaidsAltParm4 alternateMode4() const;
84 
86  virtual void setSystemIsOn(bool ison);
87  virtual bool systemIsOn() const;
88 
90  virtual void setSystemIsOperational(bool isoperational);
91  virtual bool systemIsOperational() const;
92 
98  virtual void setModeOrParameterVal(int type, int status, bool onOff);
99  virtual bool getModeOrParameterVal(int type, int status) const;
100 
105  virtual void setModeOrParameterVal(char type, int status, bool onOff);
106  virtual bool getModeOrParameterVal(char type, int status) const;
107 
110 
111  virtual void setModeEnabled(char modeType, bool onOff);
112  virtual bool modeEnabled(char modeType) const;
113 
114  virtual void setModeIsMalfunctioning(char modeType, bool onOff);
115  virtual bool modeIsMalfunctioning(char modeType) const;
116 
117  virtual void setModeIsDamaged(char modeType, bool onOff);
118  virtual bool modeIsDamaged(char modeType) const;
119 
120  virtual void setModeIsOn(char modeType, bool onOff);
121  virtual bool modeIsOn(char modeType) const;
122 
123  virtual void setIffSimulationMode(bool on);
124  virtual bool iffSimulationMode() const;
125 
126  virtual void setInteractiveCapable(bool on);
127  virtual bool interactiveCapable() const;
128 
132 
133  virtual void setModeEnabled(int modeType, bool onOff);
134  virtual bool modeEnabled(int modeType) const;
135 
136  virtual void setModeIsMalfunctioning(int modeType, bool onOff);
137  virtual bool modeIsMalfunctioning(int modeType) const;
138 
139  virtual void setModeIsDamaged(int modeType, bool onOff);
140  virtual bool modeIsDamaged(int modeType) const;
141 
142  virtual void setModeIsOn(int modeType, bool onOff);
143  virtual bool modeIsOn(int modeType) const;
144 
146  virtual void setMode4PseudoCrypto(DtU16 val);
147  virtual DtU16 mode4PseudoCrypto() const;
148 
152  virtual bool mode4PseudoCryptoAvailable() const;
153  // No effect; available is computed from the mode 4 parameter 4.
154  virtual void setMode4PseudoCryptoAvailable(DtU8 val) { }
155 
156 
158  virtual void setModeSIsTcasI(bool onOff);
159  virtual bool modeSIsTcasI() const;
160 
164 
165  virtual void setParameterEnabled(int paramNum, bool onOff);
166  virtual bool parameterEnabled(int paramNum) const;
167 
168  virtual void setParameterIsMalfunctioning(int paramNum, bool onOff);
169  virtual bool parameterIsMalfunctioning(int paramNum) const;
170 
171  virtual void setParameterIsDamaged(int paramNum, bool onOff);
172  virtual bool parameterIsDamaged(int paramNum) const;
173 
174  virtual void setParameterIsOn(int paramNum, bool onOff);
175  virtual bool parameterIsOn(int paramNum) const;
176 
182  virtual void setModeCode(int modeCodeNum, DtU16 val);
183  virtual DtU16 modeCode(int modeCodeNum) const;
184 
186  virtual void setEmergencyOn(bool onOff);
187  virtual bool emergencyOn() const;
188 
190  virtual void setIdentSquawkFlashOn(bool onOff);
191  virtual bool identSquawkFlashOn() const;
192 
194  virtual void setUnmannedAircraftOn(bool onOff);
195  virtual bool unmannedAircraftOn() const;
196 
198  virtual void setModeCAltitudeAvailable(bool val);
199  virtual bool modeCAltitudeAvailable() const;
200 
203  virtual void setModeCAltitude(DtInt16 val);
204  virtual DtInt16 modeCAltitude() const;
205 
207  virtual void setStiOn(bool onOff);
208  virtual bool stiOn() const;
209 
211  virtual void setCode(DtU8 code);
212  virtual DtU8 code() const;
213 
215  virtual void setPowerReduction(bool onOff);
216  virtual bool powerReduction() const;
217 
219  virtual void setIsDamaged(bool onOff);
220  virtual bool isDamaged() const;
221 
223  virtual void setIsMalfunctioning(bool onOff);
224  virtual bool isMalfunctioning() const;
225 
227  virtual void setIsOn(bool onOff);
228  virtual bool isOn() const;
229 
231  virtual void setRadarEnhancement(bool onOff);
232  virtual bool radarEnhancement() const;
233 
235 
238  virtual void setLayer2DataAvailable(bool b);
239  virtual bool layer2DataAvailable() const;
240 
242  virtual void setLayer2SpecificInfo(unsigned int val);
243  virtual unsigned int layer2SpecificInfo() const;
244 
246  virtual void setBeamAzimuthCenter(DtFloat32 val);
247  virtual DtFloat32 beamAzimuthCenter() const;
248 
250  virtual void setBeamAzimuthSweep(DtFloat32 val);
251  virtual DtFloat32 beamAzimuthSweep() const;
252 
254  virtual void setBeamElevationCenter(DtFloat32 val);
255  virtual DtFloat32 beamElevationCenter() const;
256 
258  virtual void setBeamElevationSweep(DtFloat32 val);
259  virtual DtFloat32 beamElevationSweep() const;
260 
262  virtual void setBeamSweepSync(DtFloat32 val);
263  virtual DtFloat32 beamSweepSync() const;
264 
266  virtual void setSecondaryOperationalDataParameter1(
269  secondaryOperationalDataParameter1() const;
270 
272  virtual void setSecondaryOperationalDataParameter2(
275  secondaryOperationalDataParameter2() const;
276 
278  virtual int numParameterSets() const;
279  virtual void setNumParameterSets(int n);
280 
282  virtual bool setParamData(int parmIndex,
283  const DtIffAtcNavaidsParameter& init);
284 
285  virtual bool getParamData(int parmIndex,
286  DtIffAtcNavaidsParameter& record) const;
287 
288  virtual DtIffAtcNavaidsParameter paramData(
289  int paramIndex, bool *valid = NULL) const;
290 
291 #ifdef DtDIS
292  virtual void setSystemDesignator(DtU8 b);
293  virtual DtU8 systemDesignator() const;
294 
295  virtual void setSystemSpecificData(DtU8 b);
296  virtual DtU8 systemSpecificData() const;
297 
299  virtual int numIffRecords(int layer) const;
300  virtual void setNumIffRecords(int n, int layer);
301 
302  virtual bool setIffRecord(int parmIndex,
303  const DtIffAtcNavaidsVariableRecord& init, int layer);
304 
305  virtual DtIffAtcNavaidsVariableRecord* getIffRecord(int parmIndex, int layer) const;
306 
309 
311  virtual void setLayer3SpecificInfo(unsigned int val);
312  virtual unsigned int layer3SpecificInfo() const;
313 
315  virtual void setLayer4SpecificInfo(unsigned int val);
316  virtual unsigned int layer4SpecificInfo() const;
317 
319  virtual void setLayer5SpecificInfo(unsigned int val);
320  virtual unsigned int layer5SpecificInfo() const;
321 
324  virtual void setLayer3DataAvailable(bool b);
325  virtual bool layer3DataAvailable() const;
326 
327  virtual void setLayer4DataAvailable(bool b);
328  virtual bool layer4DataAvailable() const;
329 
330  virtual void setLayer5DataAvailable(bool b);
331  virtual bool layer5DataAvailable() const;
332 
334  virtual void setReportingSimulation(DtSimulationAddress b);
335  virtual DtSimulationAddress reportingSimulation() const;
336 
338  virtual void setMessageFormatsPresent(DtU32 b);
339  virtual DtU32 messageFormatsPresent() const;
340 
342  virtual void setMode5InterrogatorStatus(DtU8 b);
343  virtual DtU8 mode5InterrogatorStatus() const;
344 
345  virtual void setInterrogatedEntityID(DtEntityIdentifier b);
346  virtual DtEntityIdentifier interrogatedEntityID() const;
347 
349  virtual void setMode5TransponderStatus(DtU16 b);
350  virtual DtU16 mode5TransponderStatus() const;
351 
352  virtual void setModeSTransponderStatusBit(DtIffAtcNavaidsModeSTransponderStatus bit, bool value);
353  virtual bool modeSTransponderStatusBit(DtIffAtcNavaidsModeSTransponderStatus bit);
354 
355  virtual void setModeSInterrogatorStatusBit(DtIffAtcNavaidsModeSInterrogatorStatus bit, bool value);
356  virtual bool modeSInterrogatorStatusBit(DtIffAtcNavaidsModeSInterrogatorStatus bit) const;
357 
358  virtual void setMode5TransponderStatusBit(DtIffAtcNavaidsMode5TransponderStatus bit, bool value);
359  virtual bool mode5TransponderStatusBit(DtIffAtcNavaidsMode5TransponderStatus bit);
360 
361  virtual void setMode5InterrogatorStatusBit(DtIffAtcNavaidsMode5InterrogatorStatus bit, bool value);
362  virtual bool mode5InterrogatorStatusBit(DtIffAtcNavaidsMode5InterrogatorStatus bit);
363 
364  virtual void setMode5TransponderSupplementalDataBit( DtIffAtcNavaidsMode5TransponderSupplementalData bit, bool value );
365  virtual bool mode5TransponderSupplementalDataBit( DtIffAtcNavaidsMode5TransponderSupplementalData bit ) const;
366 
367  virtual void setPin(DtU16 b);
368  virtual DtU16 pin() const;
369 
370  virtual void setEnhancedMode1(DtU16 b);
371  virtual DtU16 enhancedMode1() const;
372 
373  virtual void setEnhancedMode1Code1(int value);
374  virtual int enhancedMode1Code1();
375 
376  virtual void setEnhancedMode1Code2(int value);
377  virtual int enhancedMode1Code2();
378 
379  virtual void setEnhancedMode1Code3(int value);
380  virtual int enhancedMode1Code3();
381 
382  virtual void setEnhancedMode1Code4(int value);
383  virtual int enhancedMode1Code4();
384 
385  virtual void setEnhancedMode1OnOff(bool value);
386  virtual bool enhancedMode1OnOff();
387 
388  virtual void setEnhancedMode1DamageStatus(bool value);
389  virtual bool enhancedMode1DamageStatus();
390 
391  virtual void setEnhancedMode1MalfunctionStatus(bool value);
392  virtual bool enhancedMode1MalfunctionStatus();
393 
394  virtual void setNationalOrigin(DtU16 b);
395  virtual DtU16 nationalOrigin() const;
396 
397  virtual void setSupplementalData(DtU8 b);
398  virtual DtU8 supplementalData() const;
399 
400  virtual void setNavigationSource(DtIffAtcNavaidsNavigationSource b);
401  virtual DtIffAtcNavaidsNavigationSource navigationSource() const;
402 
403  virtual void setFigureOfMerit(DtU8 b);
404  virtual DtU8 figureOfMerit() const;
405 
407  virtual void setModeSLevelsPresent(DtIffAtcNavaidsModeSLevelsPresent b);
408  virtual DtIffAtcNavaidsModeSLevelsPresent modeSLevelsPresent() const;
409 
411  virtual void setModeSInterrogatorStatus(DtU8 b);
412  virtual DtU8 modeSInterrogatorStatus() const;
413 
415  virtual void setModeSTransponderStatus(DtU16 b);
416  virtual DtU16 modeSTransponderStatus() const;
417 
418  virtual void setAircraftPresentDomain(DtIffAtcNavaidsAircraftPresentDomain b);
419  virtual DtIffAtcNavaidsAircraftPresentDomain aircraftPresentDomain() const;
420 
421  //This MUST Be length 8.
422  virtual void setAircraftID(const DtU8* b);
423  virtual const DtU8* aircraftID() const;
424 
426  virtual void setAircraftAddress(DtU32 value);
427  virtual DtU32 aircraftAddress() const;
428 
430  virtual void setAircraftIDType(DtIffAtcNavaidsAircraftIdentificationType value);
431  virtual DtIffAtcNavaidsAircraftIdentificationType aircraftIDType() const;
432 
434  virtual void setDAPSource(DtIffAtcNavaidsDAPSource value);
435  virtual DtIffAtcNavaidsDAPSource dapSource() const;
436 
438  virtual void setModeSAltitude(DtU16 value);
439  virtual DtU16 modeSAltitude() const;
440 
442  virtual void setCapabilityReport(DtIffAtcNavaidsCapabilityReport value);
443  virtual DtIffAtcNavaidsCapabilityReport capabilityReport() const;
444 
446 
448  virtual void setAvailableLayers(DtU8 value);
449  virtual DtU8 availableLayers() const;
450 
452  virtual void setDataCategory(DtIffAtcNavaidsDataCategory value);
453  virtual DtIffAtcNavaidsDataCategory dataCategory() const;
454 
455 #endif //DtDIS
456 
457 public:
458 
460  static DtIffStateRepository* create();
461 
462 protected:
463 
467 
475 
480 
485 
488 
493 
496  bool myStiOn;
502 
508  bool myIsOn;
510 
512  bool myModeParameterStatusValues[6][4];
513 
514 #ifdef DtDIS
517 
521 
525 
528 
532  std::vector<DtIffAtcNavaidsVariableRecord*> myLayer3IffRecords;
533 
537 
546 
550  std::vector<DtIffAtcNavaidsVariableRecord*> myLayer4IffRecords;
551 
554 
558  DtU8 myAircraftID[8];
564 
569  std::vector<DtIffAtcNavaidsVariableRecord*> myLayer5IffRecords;
570 
571 #endif
572 };
573 
574 

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)