VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IFFDataStateRepository.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2020 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA
13 
14 #include <vl/stateRepository.h>
15 #include <matrix/vlVector.h>
17 #include <vl/hlaLogicalTime.h>
19 #include <vlpi/entityType.h>
20 #include <vlpi/entityIdentifier.h>
21 #include <vlutil/vlString.h>
22 #include <vector>
23 
24 #include <vl/iffStateRepository.h>
25 #include <vl/iffDatatypes.h>
26 
27 
28 
32 class DT_DLL_VL DtIFFDataStateRepository : public DtStateRepository
33 {
34 public:
36  DtIFFDataStateRepository(DtIffDataMode mode = DtIffModeUnk);
37 
39  virtual ~DtIFFDataStateRepository();
40 
42  DtIFFDataStateRepository(const DtIFFDataStateRepository& orig);
43 
45  DtIFFDataStateRepository& operator=(const DtIFFDataStateRepository& orig);
46 
48  virtual DtStateRepository* clone(bool copy) const;
49 
51  static DtIFFDataStateRepository* create();
52 
54  virtual void printData() const;
55 
57  virtual void printDataToStream(std::ostream& stream) const;
58 
59 
61  virtual void setIFFSystemIdentifier(const DtGlobalObjectDesignator& val);
62 
64  virtual const DtGlobalObjectDesignator& IFFSystemIdentifier() const;
65 
66  virtual void setIffStateRepository(DtIffStateRepository* sr);
67  virtual DtIffStateRepository* isr();
68 
70  virtual void copyToIffSR() {}
71 
72 protected:
73  DtGlobalObjectDesignator myIFFSystemIdentifier;
74  DtIffDataMode myMode;
75  DtIffStateRepository* myIffSR;
76 };
77 
81 class DT_DLL_VL DtMode1StateRepository : public DtIFFDataStateRepository
82 {
83 public:
85  DtMode1StateRepository();
86 
88  virtual ~DtMode1StateRepository();
89 
91  DtMode1StateRepository(const DtMode1StateRepository& orig);
92 
94  DtMode1StateRepository& operator=(const DtMode1StateRepository& orig);
95 
97  virtual DtStateRepository* clone(bool copy) const;
98 
100  static DtMode1StateRepository* create();
101 
103  virtual void printData() const;
104 
106  virtual void printDataToStream(std::ostream& stream) const;
107 
108 
110  virtual void setIsOn(bool val);
111 
113  virtual bool isOn() const;
114 
116  virtual void setIsDamaged(bool val);
117 
119  virtual bool isDamaged() const;
120 
122  virtual void setIsMalfunctioning(bool val);
123 
125  virtual bool isMalfunctioning() const;
126 
127 protected:
128  bool myIsOn;
129  bool myIsDamaged;
130  bool myIsMalfunctioning;
131 };
132 
136 class DT_DLL_VL DtMode1InterrogatorStateRepository : public DtMode1StateRepository
137 {
138 public:
140  DtMode1InterrogatorStateRepository();
141 
143  virtual ~DtMode1InterrogatorStateRepository();
144 
146  DtMode1InterrogatorStateRepository(const DtMode1InterrogatorStateRepository& orig);
147 
149  DtMode1InterrogatorStateRepository& operator=(const DtMode1InterrogatorStateRepository& orig);
150 
152  virtual DtStateRepository* clone(bool copy) const;
153 
155  static DtMode1InterrogatorStateRepository* create();
156 
158  virtual void printData() const;
159 
161  virtual void printDataToStream(std::ostream& stream) const;
162 
163 
164 protected:
165 };
166 
170 class DT_DLL_VL DtMode1TransponderStateRepository : public DtMode1StateRepository
171 {
172 public:
174  DtMode1TransponderStateRepository();
175 
177  virtual ~DtMode1TransponderStateRepository();
178 
180  DtMode1TransponderStateRepository(const DtMode1TransponderStateRepository& orig);
181 
183  DtMode1TransponderStateRepository& operator=(const DtMode1TransponderStateRepository& orig);
184 
186  virtual DtStateRepository* clone(bool copy) const;
187 
189  static DtMode1TransponderStateRepository* create();
190 
192  virtual void printData() const;
193 
195  virtual void printDataToStream(std::ostream& stream) const;
196 
197 
199  virtual void setCode(DtU16 val);
200 
202  virtual DtU16 code() const;
203 
205  virtual void setExtendedCodeIsSet(bool val);
206 
208  virtual bool extendedCodeIsSet() const;
209 
210 protected:
211  DtU16 myCode;
212  bool myExtendedCodeIsSet;
213 };
214 
218 class DT_DLL_VL DtMode2StateRepository : public DtIFFDataStateRepository
219 {
220 public:
222  DtMode2StateRepository();
223 
225  virtual ~DtMode2StateRepository();
226 
228  DtMode2StateRepository(const DtMode2StateRepository& orig);
229 
231  DtMode2StateRepository& operator=(const DtMode2StateRepository& orig);
232 
234  virtual DtStateRepository* clone(bool copy) const;
235 
237  static DtMode2StateRepository* create();
238 
240  virtual void printData() const;
241 
243  virtual void printDataToStream(std::ostream& stream) const;
244 
245 
247  virtual void setIsOn(bool val);
248 
250  virtual bool isOn() const;
251 
253  virtual void setIsDamaged(bool val);
254 
256  virtual bool isDamaged() const;
257 
259  virtual void setIsMalfunctioning(bool val);
260 
262  virtual bool isMalfunctioning() const;
263 
264 protected:
265  bool myIsOn;
266  bool myIsDamaged;
267  bool myIsMalfunctioning;
268 };
269 
273 class DT_DLL_VL DtMode2InterrogatorStateRepository : public DtMode2StateRepository
274 {
275 public:
277  DtMode2InterrogatorStateRepository();
278 
280  virtual ~DtMode2InterrogatorStateRepository();
281 
283  DtMode2InterrogatorStateRepository(const DtMode2InterrogatorStateRepository& orig);
284 
286  DtMode2InterrogatorStateRepository& operator=(const DtMode2InterrogatorStateRepository& orig);
287 
289  virtual DtStateRepository* clone(bool copy) const;
290 
292  static DtMode2InterrogatorStateRepository* create();
293 
295  virtual void printData() const;
296 
298  virtual void printDataToStream(std::ostream& stream) const;
299 
300 
301 protected:
302 };
303 
307 class DT_DLL_VL DtMode2TransponderStateRepository : public DtMode2StateRepository
308 {
309 public:
311  DtMode2TransponderStateRepository();
312 
314  virtual ~DtMode2TransponderStateRepository();
315 
317  DtMode2TransponderStateRepository(const DtMode2TransponderStateRepository& orig);
318 
320  DtMode2TransponderStateRepository& operator=(const DtMode2TransponderStateRepository& orig);
321 
323  virtual DtStateRepository* clone(bool copy) const;
324 
326  static DtMode2TransponderStateRepository* create();
327 
329  virtual void printData() const;
330 
332  virtual void printDataToStream(std::ostream& stream) const;
333 
334 
336  virtual void setCode(DtU16 val);
337 
339  virtual DtU16 code() const;
340 
341 protected:
342  DtU16 myCode;
343 };
344 
348 class DT_DLL_VL DtMode3AStateRepository : public DtIFFDataStateRepository
349 {
350 public:
352  DtMode3AStateRepository();
353 
355  virtual ~DtMode3AStateRepository();
356 
358  DtMode3AStateRepository(const DtMode3AStateRepository& orig);
359 
361  DtMode3AStateRepository& operator=(const DtMode3AStateRepository& orig);
362 
364  virtual DtStateRepository* clone(bool copy) const;
365 
367  static DtMode3AStateRepository* create();
368 
370  virtual void printData() const;
371 
373  virtual void printDataToStream(std::ostream& stream) const;
374 
375 
377  virtual void setIsOn(bool val);
378 
380  virtual bool isOn() const;
381 
383  virtual void setIsDamaged(bool val);
384 
386  virtual bool isDamaged() const;
387 
389  virtual void setIsMalfunctioning(bool val);
390 
392  virtual bool isMalfunctioning() const;
393 
394 protected:
395  bool myIsOn;
396  bool myIsDamaged;
397  bool myIsMalfunctioning;
398 };
399 
403 class DT_DLL_VL DtMode3AInterrogatorStateRepository : public DtMode3AStateRepository
404 {
405 public:
407  DtMode3AInterrogatorStateRepository();
408 
410  virtual ~DtMode3AInterrogatorStateRepository();
411 
413  DtMode3AInterrogatorStateRepository(const DtMode3AInterrogatorStateRepository& orig);
414 
416  DtMode3AInterrogatorStateRepository& operator=(const DtMode3AInterrogatorStateRepository& orig);
417 
419  virtual DtStateRepository* clone(bool copy) const;
420 
422  static DtMode3AInterrogatorStateRepository* create();
423 
425  virtual void printData() const;
426 
428  virtual void printDataToStream(std::ostream& stream) const;
429 
430 
431 protected:
432 };
433 
437 class DT_DLL_VL DtMode3ATransponderStateRepository : public DtMode3AStateRepository
438 {
439 public:
441  DtMode3ATransponderStateRepository();
442 
444  virtual ~DtMode3ATransponderStateRepository();
445 
447  DtMode3ATransponderStateRepository(const DtMode3ATransponderStateRepository& orig);
448 
450  DtMode3ATransponderStateRepository& operator=(const DtMode3ATransponderStateRepository& orig);
451 
453  virtual DtStateRepository* clone(bool copy) const;
454 
456  static DtMode3ATransponderStateRepository* create();
457 
459  virtual void printData() const;
460 
462  virtual void printDataToStream(std::ostream& stream) const;
463 
464 
466  virtual void setCode(DtU16 val);
467 
469  virtual DtU16 code() const;
470 
471 protected:
472  DtU16 myCode;
473 };
474 
478 class DT_DLL_VL DtMode4StateRepository : public DtIFFDataStateRepository
479 {
480 public:
482  DtMode4StateRepository();
483 
485  virtual ~DtMode4StateRepository();
486 
488  DtMode4StateRepository(const DtMode4StateRepository& orig);
489 
491  DtMode4StateRepository& operator=(const DtMode4StateRepository& orig);
492 
494  virtual DtStateRepository* clone(bool copy) const;
495 
497  static DtMode4StateRepository* create();
498 
500  virtual void printData() const;
501 
503  virtual void printDataToStream(std::ostream& stream) const;
504 
505 
507  virtual void setIsOn(bool val);
508 
510  virtual bool isOn() const;
511 
513  virtual void setIsDamaged(bool val);
514 
516  virtual bool isDamaged() const;
517 
519  virtual void setIsMalfunctioning(bool val);
520 
522  virtual bool isMalfunctioning() const;
523 
525  virtual void setPseudoCryptoCodeAAvailable(bool val);
526 
528  virtual bool pseudoCryptoCodeAAvailable() const;
529 
531  virtual void setPseudoCryptoCodeA(DtU16 val);
532 
534  virtual DtU16 pseudoCryptoCodeA() const;
535 
537  virtual void setPseudoCryptoCodeBAvailable(bool val);
538 
540  virtual bool pseudoCryptoCodeBAvailable() const;
541 
543  virtual void setPseudoCryptoCodeB(DtU16 val);
544 
546  virtual DtU16 pseudoCryptoCodeB() const;
547 
549  virtual void setPseudoCryptoCodeActive(const DtIFFMode4CodeActiveEnum8& val);
550 
552  virtual const DtIFFMode4CodeActiveEnum8& pseudoCryptoCodeActive() const;
553 
554 protected:
555  bool myIsOn;
556  bool myIsDamaged;
557  bool myIsMalfunctioning;
558  bool myPseudoCryptoCodeAAvailable;
559  DtU16 myPseudoCryptoCodeA;
560  bool myPseudoCryptoCodeBAvailable;
561  DtU16 myPseudoCryptoCodeB;
562  DtIFFMode4CodeActiveEnum8 myPseudoCryptoCodeActive;
563 };
564 
568 class DT_DLL_VL DtMode4InterrogatorStateRepository : public DtMode4StateRepository
569 {
570 public:
572  DtMode4InterrogatorStateRepository();
573 
575  virtual ~DtMode4InterrogatorStateRepository();
576 
578  DtMode4InterrogatorStateRepository(const DtMode4InterrogatorStateRepository& orig);
579 
581  DtMode4InterrogatorStateRepository& operator=(const DtMode4InterrogatorStateRepository& orig);
582 
584  virtual DtStateRepository* clone(bool copy) const;
585 
587  static DtMode4InterrogatorStateRepository* create();
588 
590  virtual void printData() const;
591 
593  virtual void printDataToStream(std::ostream& stream) const;
594 
595 
597  virtual void setChallenge(const DtIffAlternateMode4Enum8& val);
598 
600  virtual const DtIffAlternateMode4Enum8& challenge() const;
601 
602 protected:
603  DtIffAlternateMode4Enum8 myChallenge;
604 };
605 
609 class DT_DLL_VL DtMode4TransponderStateRepository : public DtMode4StateRepository
610 {
611 public:
613  DtMode4TransponderStateRepository();
614 
616  virtual ~DtMode4TransponderStateRepository();
617 
619  DtMode4TransponderStateRepository(const DtMode4TransponderStateRepository& orig);
620 
622  DtMode4TransponderStateRepository& operator=(const DtMode4TransponderStateRepository& orig);
623 
625  virtual DtStateRepository* clone(bool copy) const;
626 
628  static DtMode4TransponderStateRepository* create();
629 
631  virtual void printData() const;
632 
634  virtual void printDataToStream(std::ostream& stream) const;
635 
636 
638  virtual void setReply(const DtIffAlternateMode4Enum8& val);
639 
641  virtual const DtIffAlternateMode4Enum8& reply() const;
642 
643 protected:
644  DtIffAlternateMode4Enum8 myReply;
645 };
646 
650 class DT_DLL_VL DtMode5StateRepository : public DtIFFDataStateRepository
651 {
652 public:
654  DtMode5StateRepository();
655 
657  virtual ~DtMode5StateRepository();
658 
660  DtMode5StateRepository(const DtMode5StateRepository& orig);
661 
663  DtMode5StateRepository& operator=(const DtMode5StateRepository& orig);
664 
666  virtual DtStateRepository* clone(bool copy) const;
667 
669  static DtMode5StateRepository* create();
670 
672  virtual void printData() const;
673 
675  virtual void printDataToStream(std::ostream& stream) const;
676 
677 
679  virtual void setIsOn(bool val);
680 
682  virtual bool isOn() const;
683 
685  virtual void setIsDamaged(bool val);
686 
688  virtual bool isDamaged() const;
689 
691  virtual void setIsMalfunctioning(bool val);
692 
694  virtual bool isMalfunctioning() const;
695 
697  virtual void setPseudoCryptoCodeAvailable(bool val);
698 
700  virtual bool pseudoCryptoCodeAvailable() const;
701 
703  virtual void setPseudoCryptoCode(DtU16 val);
704 
706  virtual DtU16 pseudoCryptoCode() const;
707 
709  virtual void setSpecificInformation(const DtIFFLayerSpecificInformationEnum8& val);
710 
712  virtual const DtIFFLayerSpecificInformationEnum8& specificInformation() const;
713 
715  virtual void setMission(const DtMode5IFFMissionEnum8& val);
716 
718  virtual const DtMode5IFFMissionEnum8& mission() const;
719 
721  virtual void setMessageFormatsCapable(const DtMode5MessageFormatsStruct& val);
722 
724  virtual const DtMode5MessageFormatsStruct& messageFormatsCapable() const;
725 
727  virtual void setIFFData(const DtIFFDataVariantStructArray& val);
728 
730  virtual const DtIFFDataVariantStructArray& IFFData() const;
731 
733  virtual void copyToIffSR();
734 
735 protected:
736 
737 
738  bool myIsOn;
739  bool myIsDamaged;
740  bool myIsMalfunctioning;
741  bool myPseudoCryptoCodeAvailable;
742  DtU16 myPseudoCryptoCode;
743  DtIFFLayerSpecificInformationEnum8 mySpecificInformation;
744  DtMode5IFFMissionEnum8 myMission;
745  DtMode5MessageFormatsStruct myMessageFormatsCapable;
746  DtIFFDataVariantStructArray myIFFData;
747 
748 protected:
749  /*****************************************************
750  BIG FAT COMMENT:
751  The old IFF state repo needs to set data here WITHOUT
752  causing the data to propagate back to itself which would
753  infinitely recurse. So these methods don't try to set the
754  data back into the old IFF state repo, but aren't meant for
755  users, only for the calls from the IFF state repo class.
756  So they're protected but friends to the IFF state repo.
757  *****************************************************/
758 
759  friend class DtIffStateRepository;
760 
761  // helper methods called from older IFFStateRepository.
762  void _setMessageFormatsPresent(DtU32 value);
763 };
764 
768 class DT_DLL_VL DtMode5InterrogatorStateRepository : public DtMode5StateRepository
769 {
770 public:
772  DtMode5InterrogatorStateRepository();
773 
775  virtual ~DtMode5InterrogatorStateRepository();
776 
778  DtMode5InterrogatorStateRepository(const DtMode5InterrogatorStateRepository& orig);
779 
781  DtMode5InterrogatorStateRepository& operator=(const DtMode5InterrogatorStateRepository& orig);
782 
784  virtual DtStateRepository* clone(bool copy) const;
785 
787  static DtMode5InterrogatorStateRepository* create();
788 
790  virtual void printData() const;
791 
793  virtual void printDataToStream(std::ostream& stream) const;
794 
796  virtual void copyToIffSR();
797 
798 protected:
799  /*****************************************************
800  BIG FAT COMMENT:
801  The old IFF state repo needs to set data here WITHOUT
802  causing the data to propagate back to itself which would
803  infinitely recurse. So these methods don't try to set the
804  data back into the old IFF state repo, but aren't meant for
805  users, only for the calls from the IFF state repo class.
806  So they're protected but friends to the IFF state repo.
807  *****************************************************/
808 
809  friend class DtIffStateRepository;
810 
811  virtual void _setMode5InterrogatorStatus(DtU8 value);
812  virtual void _setInterrogatedEntityID(DtEntityIdentifier value);
813 };
814 
818 class DT_DLL_VL DtMode5TransponderStateRepository : public DtMode5StateRepository
819 {
820 public:
822  DtMode5TransponderStateRepository();
823 
825  virtual ~DtMode5TransponderStateRepository();
826 
828  DtMode5TransponderStateRepository(const DtMode5TransponderStateRepository& orig);
829 
831  DtMode5TransponderStateRepository& operator=(const DtMode5TransponderStateRepository& orig);
832 
834  virtual DtStateRepository* clone(bool copy) const;
835 
837  static DtMode5TransponderStateRepository* create();
838 
840  virtual void printData() const;
841 
843  virtual void printDataToStream(std::ostream& stream) const;
844 
845 
847  virtual void setPlatformType(const DtMode5PlatformTypeEnum8& val);
848 
850  virtual const DtMode5PlatformTypeEnum8& platformType() const;
851 
853  virtual void setNationalOrigin(const DtMode5NationalOriginEnum16& val);
854 
856  virtual const DtMode5NationalOriginEnum16& nationalOrigin() const;
857 
859  virtual void setPersonalIdentificationNumber(DtU16 val);
860 
862  virtual DtU16 personalIdentificationNumber() const;
863 
865  virtual void setAntennaSelection(const DtAntennaSelectionEnum8& val);
866 
868  virtual const DtAntennaSelectionEnum8& antennaSelection() const;
869 
871  virtual void setLevelSelection(const DtMode5LevelSelectionEnum8& val);
872 
874  virtual const DtMode5LevelSelectionEnum8& levelSelection() const;
875 
877  virtual void setSquitterIsOn(bool val);
878 
880  virtual bool squitterIsOn() const;
881 
883  virtual void setLevel2SquitterStatus(const DtLevel2SquitterStatusEnum8& val);
884 
886  virtual const DtLevel2SquitterStatusEnum8& level2SquitterStatus() const;
887 
889  virtual void setLineTestIsEnabled(bool val);
890 
892  virtual bool lineTestIsEnabled() const;
893 
895  virtual void setReply(const DtMode5ReplyEnum8& val);
896 
898  virtual const DtMode5ReplyEnum8& reply() const;
899 
901  virtual void setFigureOfMerit(DtU8 val);
902 
904  virtual DtU8 figureOfMerit() const;
905 
907  virtual void setNavigationSource(const DtNavigationSourceEnum8& val);
908 
910  virtual const DtNavigationSourceEnum8& navigationSource() const;
911 
913  virtual void setCryptoControlDataIsPresent(bool val);
914 
916  virtual bool cryptoControlDataIsPresent() const;
917 
919  virtual void setLocationDataIsPresent(bool val);
920 
922  virtual bool locationDataIsPresent() const;
923 
925  virtual void setLocationErrorDataIsPresent(bool val);
926 
928  virtual bool locationErrorDataIsPresent() const;
929 
931  virtual void copyToIffSR();
932 
933 protected:
934  DtMode5PlatformTypeEnum8 myPlatformType;
935  DtMode5NationalOriginEnum16 myNationalOrigin;
936  DtU16 myPersonalIdentificationNumber;
937  DtAntennaSelectionEnum8 myAntennaSelection;
938  DtMode5LevelSelectionEnum8 myLevelSelection;
939  bool mySquitterIsOn;
940  DtLevel2SquitterStatusEnum8 myLevel2SquitterStatus;
941  bool myLineTestIsEnabled;
942  DtMode5ReplyEnum8 myReply;
943  DtU8 myFigureOfMerit;
944  DtNavigationSourceEnum8 myNavigationSource;
945  bool myCryptoControlDataIsPresent;
946  bool myLocationDataIsPresent;
947  bool myLocationErrorDataIsPresent;
948 
949 protected:
950  /*****************************************************
951  BIG FAT COMMENT:
952  The old IFF state repo needs to set data here WITHOUT
953  causing the data to propagate back to itself which would
954  infinitely recurse. So these methods don't try to set the
955  data back into the old IFF state repo, but aren't meant for
956  users, only for the calls from the IFF state repo class.
957  So they're protected but friends to the IFF state repo.
958  *****************************************************/
959 
960  friend class DtIffStateRepository;
961 
962  virtual void _setMode5TransponderStatus(DtU16 value);
963  virtual void _setPin(DtU16 value);
964  virtual void _setNationalOrigin(DtU16 b);
965  virtual void _setSupplementalData(DtU8 b);
967  virtual void _setFigureOfMerit(DtU8 b);
968 };
969 
973 class DT_DLL_VL DtModeCStateRepository : public DtIFFDataStateRepository
974 {
975 public:
977  DtModeCStateRepository();
978 
980  virtual ~DtModeCStateRepository();
981 
983  DtModeCStateRepository(const DtModeCStateRepository& orig);
984 
986  DtModeCStateRepository& operator=(const DtModeCStateRepository& orig);
987 
989  virtual DtStateRepository* clone(bool copy) const;
990 
992  static DtModeCStateRepository* create();
993 
995  virtual void printData() const;
996 
998  virtual void printDataToStream(std::ostream& stream) const;
999 
1000 
1002  virtual void setIsOn(bool val);
1003 
1005  virtual bool isOn() const;
1006 
1008  virtual void setIsDamaged(bool val);
1009 
1011  virtual bool isDamaged() const;
1012 
1014  virtual void setIsMalfunctioning(bool val);
1015 
1017  virtual bool isMalfunctioning() const;
1018 
1019 protected:
1020  bool myIsOn;
1021  bool myIsDamaged;
1022  bool myIsMalfunctioning;
1023 };
1024 
1028 class DT_DLL_VL DtModeCInterrogatorStateRepository : public DtModeCStateRepository
1029 {
1030 public:
1032  DtModeCInterrogatorStateRepository();
1033 
1035  virtual ~DtModeCInterrogatorStateRepository();
1036 
1038  DtModeCInterrogatorStateRepository(const DtModeCInterrogatorStateRepository& orig);
1039 
1041  DtModeCInterrogatorStateRepository& operator=(const DtModeCInterrogatorStateRepository& orig);
1042 
1044  virtual DtStateRepository* clone(bool copy) const;
1045 
1047  static DtModeCInterrogatorStateRepository* create();
1048 
1050  virtual void printData() const;
1051 
1053  virtual void printDataToStream(std::ostream& stream) const;
1054 
1055 
1056 protected:
1057 };
1058 
1062 class DT_DLL_VL DtModeCTransponderStateRepository : public DtModeCStateRepository
1063 {
1064 public:
1066  DtModeCTransponderStateRepository();
1067 
1069  virtual ~DtModeCTransponderStateRepository();
1070 
1072  DtModeCTransponderStateRepository(const DtModeCTransponderStateRepository& orig);
1073 
1075  DtModeCTransponderStateRepository& operator=(const DtModeCTransponderStateRepository& orig);
1076 
1078  virtual DtStateRepository* clone(bool copy) const;
1079 
1081  static DtModeCTransponderStateRepository* create();
1082 
1084  virtual void printData() const;
1085 
1087  virtual void printDataToStream(std::ostream& stream) const;
1088 
1089 
1091  virtual void setAltitudeAvailable(bool val);
1092 
1094  virtual bool altitudeAvailable() const;
1095 
1097  virtual void setAltitude(const DtModeCAltitudeStruct& val);
1098 
1100  virtual const DtModeCAltitudeStruct& altitude() const;
1101 
1102 protected:
1103  bool myAltitudeAvailable;
1104  DtModeCAltitudeStruct myAltitude;
1105 };
1106 
1110 class DT_DLL_VL DtModeSStateRepository : public DtIFFDataStateRepository
1111 {
1112 public:
1114  DtModeSStateRepository();
1115 
1117  virtual ~DtModeSStateRepository();
1118 
1120  DtModeSStateRepository(const DtModeSStateRepository& orig);
1121 
1123  DtModeSStateRepository& operator=(const DtModeSStateRepository& orig);
1124 
1126  virtual DtStateRepository* clone(bool copy) const;
1127 
1129  static DtModeSStateRepository* create();
1130 
1132  virtual void printData() const;
1133 
1135  virtual void printDataToStream(std::ostream& stream) const;
1136 
1137 
1139  virtual void setIsOn(bool val);
1140 
1142  virtual bool isOn() const;
1143 
1145  virtual void setIsDamaged(bool val);
1146 
1148  virtual bool isDamaged() const;
1149 
1151  virtual void setIsMalfunctioning(bool val);
1152 
1154  virtual bool isMalfunctioning() const;
1155 
1157  virtual void setSpecificInformation(const DtIFFLayerSpecificInformationEnum8& val);
1158 
1160  virtual const DtIFFLayerSpecificInformationEnum8& specificInformation() const;
1161 
1163  virtual void setLevelsPresent(const DtModeSLevelsPresentStruct& val);
1164 
1166  virtual const DtModeSLevelsPresentStruct& levelsPresent() const;
1167 
1169  virtual void setIFFData(const DtIFFDataVariantStructArray& val);
1170 
1172  virtual const DtIFFDataVariantStructArray& IFFData() const;
1173 
1174 protected:
1175  bool myIsOn;
1176  bool myIsDamaged;
1177  bool myIsMalfunctioning;
1178  DtIFFLayerSpecificInformationEnum8 mySpecificInformation;
1179  DtModeSLevelsPresentStruct myLevelsPresent;
1180  DtIFFDataVariantStructArray myIFFData;
1181 };
1182 
1186 class DT_DLL_VL DtModeSInterrogatorStateRepository : public DtModeSStateRepository
1187 {
1188 public:
1190  DtModeSInterrogatorStateRepository();
1191 
1193  virtual ~DtModeSInterrogatorStateRepository();
1194 
1196  DtModeSInterrogatorStateRepository(const DtModeSInterrogatorStateRepository& orig);
1197 
1199  DtModeSInterrogatorStateRepository& operator=(const DtModeSInterrogatorStateRepository& orig);
1200 
1202  virtual DtStateRepository* clone(bool copy) const;
1203 
1205  static DtModeSInterrogatorStateRepository* create();
1206 
1208  virtual void printData() const;
1209 
1211  virtual void printDataToStream(std::ostream& stream) const;
1212 
1213 
1215  virtual void setInterrogatorIdentifier(const DtModeSInterrogatorIdentifierStruct& val);
1216 
1218  virtual const DtModeSInterrogatorIdentifierStruct& interrogatorIdentifier() const;
1219 
1221  virtual void setTransmitState(const DtModeSInterrogatorStatusTransmitStateEnum8& val);
1222 
1224  virtual const DtModeSInterrogatorStatusTransmitStateEnum8& transmitState() const;
1225 
1226 protected:
1227  DtModeSInterrogatorIdentifierStruct myInterrogatorIdentifier;
1228  DtModeSInterrogatorStatusTransmitStateEnum8 myTransmitState;
1229 };
1230 
1234 class DT_DLL_VL DtModeSTransponderStateRepository : public DtModeSStateRepository
1235 {
1236 public:
1238  DtModeSTransponderStateRepository();
1239 
1241  virtual ~DtModeSTransponderStateRepository();
1242 
1244  DtModeSTransponderStateRepository(const DtModeSTransponderStateRepository& orig);
1245 
1247  DtModeSTransponderStateRepository& operator=(const DtModeSTransponderStateRepository& orig);
1248 
1250  virtual DtStateRepository* clone(bool copy) const;
1251 
1253  static DtModeSTransponderStateRepository* create();
1254 
1256  virtual void printData() const;
1257 
1259  virtual void printDataToStream(std::ostream& stream) const;
1260 
1261 
1263  virtual void setAircraftAddress(DtU32 val);
1264 
1266  virtual DtU32 aircraftAddress() const;
1267 
1269  virtual void setAircraftIdentificationType(const DtAircraftIdentificationTypeEnum8& val);
1270 
1272  virtual const DtAircraftIdentificationTypeEnum8& aircraftIdentificationType() const;
1273 
1275  virtual void setAircraftIdentification(const DtASCIIcharArray8& val);
1276 
1278  virtual const DtASCIIcharArray8& aircraftIdentification() const;
1279 
1281  virtual void setSquitterIsOn(bool val);
1282 
1284  virtual bool squitterIsOn() const;
1285 
1287  virtual void setSquitterType(const DtModeSSquitterTypeEnum8& val);
1288 
1290  virtual const DtModeSSquitterTypeEnum8& squitterType() const;
1291 
1293  virtual void setCapabilityReport(const DtCapabilityReportEnum8& val);
1294 
1296  virtual const DtCapabilityReportEnum8& capabilityReport() const;
1297 
1299  virtual void setAircraftPresentDomain(const DtAircraftPresentDomainEnum8& val);
1300 
1302  virtual const DtAircraftPresentDomainEnum8& aircraftPresentDomain() const;
1303 
1305  virtual void setAltitudeAvailable(bool val);
1306 
1308  virtual bool altitudeAvailable() const;
1309 
1311  virtual void setAltitude(const DtTransponderRelativeAltitude11BitVariantStruct& val);
1312 
1314  virtual const DtTransponderRelativeAltitude11BitVariantStruct& altitude() const;
1315 
1317  virtual void setSquitterRecordSource(const DtModeSSquitterRecordSourceEnum8& val);
1318 
1320  virtual const DtModeSSquitterRecordSourceEnum8& squitterRecordSource() const;
1321 
1323  virtual void setAirbornePositionReportDataIsPresent(bool val);
1324 
1326  virtual bool airbornePositionReportDataIsPresent() const;
1327 
1329  virtual void setAirborneVelocityReportDataIsPresent(bool val);
1330 
1332  virtual bool airborneVelocityReportDataIsPresent() const;
1333 
1335  virtual void setSurfacePositionReportDataIsPresent(bool val);
1336 
1338  virtual bool surfacePositionReportDataIsPresent() const;
1339 
1341  virtual void setIdentificationReportDataIsPresent(bool val);
1342 
1344  virtual bool identificationReportDataIsPresent() const;
1345 
1347  virtual void setEventDrivenReportDataIsPresent(bool val);
1348 
1350  virtual bool eventDrivenReportDataIsPresent() const;
1351 
1353  virtual void setDAPSource(const DtModeSDAPSourceStruct& val);
1354 
1356  virtual const DtModeSDAPSourceStruct& DAPSource() const;
1357 
1358  virtual void copyToIffSR();
1359 
1360 protected:
1361  DtU32 myAircraftAddress;
1362  DtAircraftIdentificationTypeEnum8 myAircraftIdentificationType;
1363  DtASCIIcharArray8 myAircraftIdentification;
1364  bool mySquitterIsOn;
1365  DtModeSSquitterTypeEnum8 mySquitterType;
1366  DtCapabilityReportEnum8 myCapabilityReport;
1367  DtAircraftPresentDomainEnum8 myAircraftPresentDomain;
1368  bool myAltitudeAvailable;
1369  DtTransponderRelativeAltitude11BitVariantStruct myAltitude;
1370  DtModeSSquitterRecordSourceEnum8 mySquitterRecordSource;
1371  bool myAirbornePositionReportDataIsPresent;
1372  bool myAirborneVelocityReportDataIsPresent;
1373  bool mySurfacePositionReportDataIsPresent;
1374  bool myIdentificationReportDataIsPresent;
1375  bool myEventDrivenReportDataIsPresent;
1376  DtModeSDAPSourceStruct myDAPSource;
1377 
1378 protected:
1379  /*****************************************************
1380  BIG FAT COMMENT:
1381  The old IFF state repo needs to set data here WITHOUT
1382  causing the data to propagate back to itself which would
1383  infinitely recurse. So these methods don't try to set the
1384  data back into the old IFF state repo, but aren't meant for
1385  users, only for the calls from the IFF state repo class.
1386  So they're protected but friends to the IFF state repo.
1387  *****************************************************/
1388 
1389  friend class DtIffStateRepository;
1390 
1391  virtual void _setAircraftPresentDomain(DtAircraftPresentDomainEnum8 b);
1392  virtual void _setAircraftIdentification(const DtASCIIcharArray8& val);
1393  virtual void _setAircraftAddress(DtU32 value);
1394  virtual void _setAircraftIDType(DtAircraftIdentificationTypeEnum8 value);
1395 };
1396 
1400 class DT_DLL_VL DtSovietStateRepository : public DtIFFDataStateRepository
1401 {
1402 public:
1404  DtSovietStateRepository();
1405 
1407  virtual ~DtSovietStateRepository();
1408 
1410  DtSovietStateRepository(const DtSovietStateRepository& orig);
1411 
1413  DtSovietStateRepository& operator=(const DtSovietStateRepository& orig);
1414 
1416  virtual DtStateRepository* clone(bool copy) const;
1417 
1419  static DtSovietStateRepository* create();
1420 
1422  virtual void printData() const;
1423 
1425  virtual void printDataToStream(std::ostream& stream) const;
1426 
1427 
1429  virtual void setIsOn(bool val);
1430 
1432  virtual bool isOn() const;
1433 
1435  virtual void setIsDamaged(bool val);
1436 
1438  virtual bool isDamaged() const;
1439 
1441  virtual void setIsMalfunctioning(bool val);
1442 
1444  virtual bool isMalfunctioning() const;
1445 
1446 protected:
1447  bool myIsOn;
1448  bool myIsDamaged;
1449  bool myIsMalfunctioning;
1450 };
1451 
1455 class DT_DLL_VL DtSovietInterrogatorStateRepository : public DtSovietStateRepository
1456 {
1457 public:
1459  DtSovietInterrogatorStateRepository();
1460 
1462  virtual ~DtSovietInterrogatorStateRepository();
1463 
1465  DtSovietInterrogatorStateRepository(const DtSovietInterrogatorStateRepository& orig);
1466 
1468  DtSovietInterrogatorStateRepository& operator=(const DtSovietInterrogatorStateRepository& orig);
1469 
1471  virtual DtStateRepository* clone(bool copy) const;
1472 
1474  static DtSovietInterrogatorStateRepository* create();
1475 
1477  virtual void printData() const;
1478 
1480  virtual void printDataToStream(std::ostream& stream) const;
1481 
1482 
1483 protected:
1484 };
1485 
1489 class DT_DLL_VL DtSovietTransponderStateRepository : public DtSovietStateRepository
1490 {
1491 public:
1493  DtSovietTransponderStateRepository();
1494 
1496  virtual ~DtSovietTransponderStateRepository();
1497 
1499  DtSovietTransponderStateRepository(const DtSovietTransponderStateRepository& orig);
1500 
1502  DtSovietTransponderStateRepository& operator=(const DtSovietTransponderStateRepository& orig);
1503 
1505  virtual DtStateRepository* clone(bool copy) const;
1506 
1508  static DtSovietTransponderStateRepository* create();
1509 
1511  virtual void printData() const;
1512 
1514  virtual void printDataToStream(std::ostream& stream) const;
1515 
1516 
1517 protected:
1518 };
1519 
1523 class DT_DLL_VL DtTCASDataStateRepository : public DtIFFDataStateRepository
1524 {
1525 public:
1527  DtTCASDataStateRepository();
1528 
1530  virtual ~DtTCASDataStateRepository();
1531 
1533  DtTCASDataStateRepository(const DtTCASDataStateRepository& orig);
1534 
1536  DtTCASDataStateRepository& operator=(const DtTCASDataStateRepository& orig);
1537 
1539  virtual DtStateRepository* clone(bool copy) const;
1540 
1542  static DtTCASDataStateRepository* create();
1543 
1545  virtual void printData() const;
1546 
1548  virtual void printDataToStream(std::ostream& stream) const;
1549 
1550 
1552  virtual void setIsOn(bool val);
1553 
1555  virtual bool isOn() const;
1556 
1558  virtual void setIsDamaged(bool val);
1559 
1561  virtual bool isDamaged() const;
1562 
1564  virtual void setIsMalfunctioning(bool val);
1565 
1567  virtual bool isMalfunctioning() const;
1568 
1570  virtual void setTCAS_I_II_Type(const DtTCASIIITypeEnum8& val);
1571 
1573  virtual const DtTCASIIITypeEnum8& TCAS_I_II_Type() const;
1574 
1576  virtual void setBasicAdvancedIndicator(const DtTCASACASBasicAdvancedIndicatorEnum8& val);
1577 
1579  virtual const DtTCASACASBasicAdvancedIndicatorEnum8& basicAdvancedIndicator() const;
1580 
1582  virtual void setTCAS_ACASType(const DtTCASACASTypeEnum8& val);
1583 
1585  virtual const DtTCASACASTypeEnum8& TCAS_ACASType() const;
1586 
1588  virtual void setTCAS_ACASIndicator(const DtTCASACASIndicatorEnum8& val);
1589 
1591  virtual const DtTCASACASIndicatorEnum8& TCAS_ACASIndicator() const;
1592 
1594  virtual void setSoftwareVersion(const DtTCASACASSoftwareVersionEnum8& val);
1595 
1597  virtual const DtTCASACASSoftwareVersionEnum8& softwareVersion() const;
1598 
1599 protected:
1600  bool myIsOn;
1601  bool myIsDamaged;
1602  bool myIsMalfunctioning;
1603  DtTCASIIITypeEnum8 myTCAS_I_II_Type;
1604  DtTCASACASBasicAdvancedIndicatorEnum8 myBasicAdvancedIndicator;
1605  DtTCASACASTypeEnum8 myTCAS_ACASType;
1606  DtTCASACASIndicatorEnum8 myTCAS_ACASIndicator;
1607  DtTCASACASSoftwareVersionEnum8 mySoftwareVersion;
1608 };
1609 
1610 #endif
Contains the DtEntityIdentifier class declaration.
virtual void _setMode5TransponderStatus(DtU16 value)
Contains the DtIffStateRepository class declaration.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void _setAircraftIDType(DtIffAtcNavaidsAircraftIdentificationType value)
Contains the DtString class declaration.
Contains the DtEntityType and DtRadioEntityType class declarations.
virtual void _setAircraftAddress(DtU32 value)
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:57
This file contains typedefs used to represent objects in a protocol neutral way.
virtual void _setMessageFormatsPresent(DtU32 value)
This file declares DtVector and DtVector32.
virtual void _setInterrogatedEntityID(DtEntityIdentifier value)
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual void _setFigureOfMerit(DtU8 b)
Contains the IFF datatypes for RPR 3.
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
virtual void _setNationalOrigin(DtU16 b)
virtual void _setPin(DtU16 b)
virtual void printData() const
Print State Data to the DtInfo Stream.
virtual void _setAircraftPresentDomain(DtIffAtcNavaidsAircraftPresentDomain b)
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
virtual void _setSupplementalData(DtU8 b)
virtual void _setNavigationSource(DtIffAtcNavaidsNavigationSource b)
DtIffAtcNavaidsNavigationSource
Definition: disEnums.h:2188
virtual void printDataToStream(std::ostream &stream) const
Prints the State Data to the stream specified.
DtStateRepository & operator=(const DtStateRepository &orig)
assignment operator
virtual void _setMode5InterrogatorStatus(DtU8 b)

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)