![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: setIff.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 00019 #ifndef DtSetIffRequest_H_ 00020 #define DtSetIffRequest_H_ 00021 00022 00023 #include <vlutil/vlNetTypes.h> 00024 00025 #include "vrftasks/setDataReq.h" 00026 #include "vrfutil/rwInt.h" 00027 #include "vrfutil/rwBoolean.h" 00028 #include <vlpi/disEnums.h> 00029 00031 struct DtNetSetIffRequest 00032 { 00033 DtNetU8 mySystemBits; 00034 DtNetU8 myModeOn; 00035 DtNetU8 myModeDamage; 00036 DtNetU8 myModeMalfunction; 00037 DtNetU16 myMode1Code; 00038 DtNetU16 myMode2Code; 00039 DtNetU16 myMode3Code; 00040 DtNetU16 myMode4Code; 00041 DtNetU16 myAltMode4Code; 00042 DtNetU8 myMiscBits; 00043 00044 DtNetU8 padding; 00045 }; 00046 00047 #include "vrftasks/vrftasksDefines.h" 00048 class DT_DLL_vrftasks DtSetIffRequest : public DtSetDataRequest 00049 { 00050 00051 public: 00052 00054 DtSetIffRequest(); 00055 00058 DtSetIffRequest(const DtString & writeName, 00059 DtReaderWriterRegistry * parentRegistry = 0); 00060 00062 DtSetIffRequest(const DtString & writeName, const DtSetIffRequest & 00063 orig, DtReaderWriterRegistry * parentRegistry = 0); 00064 00066 const DtSetIffRequest & operator=(const DtSetIffRequest & orig); 00067 00068 virtual ~DtSetIffRequest(); 00069 00071 virtual int type() const; 00072 00073 virtual void setSystemOn(bool onOff); 00074 virtual bool systemOn() const; 00075 00076 virtual void setSystemOperational(bool onOff); 00077 virtual bool systemOperational() const; 00078 00079 virtual void setMode1On(bool onOff); 00080 virtual bool mode1On() const; 00081 00082 virtual void setMode1Damage(bool onOff); 00083 virtual bool mode1Damage() const; 00084 00085 virtual void setMode1Malfunction(bool onOff); 00086 virtual bool mode1Malfunction() const; 00087 00088 virtual void setMode1Code(DtU16 code); 00089 virtual DtU16 mode1Code() const; 00090 00091 00092 virtual void setMode2On(bool onOff); 00093 virtual bool mode2On() const; 00094 00095 virtual void setMode2Damage(bool onOff); 00096 virtual bool mode2Damage() const; 00097 00098 virtual void setMode2Malfunction(bool onOff); 00099 virtual bool mode2Malfunction() const; 00100 00101 virtual void setMode2Code(DtU16 code); 00102 virtual DtU16 mode2Code() const; 00103 00104 00105 virtual void setMode3On(bool onOff); 00106 virtual bool mode3On() const; 00107 00108 virtual void setMode3Damage(bool onOff); 00109 virtual bool mode3Damage() const; 00110 00111 virtual void setMode3Malfunction(bool onOff); 00112 virtual bool mode3Malfunction() const; 00113 00114 virtual void setMode3Code(DtU16 code); 00115 virtual DtU16 mode3Code() const; 00116 00117 00118 virtual void setMode4On(bool onOff); 00119 virtual bool mode4On() const; 00120 00121 virtual void setMode4Damage(bool onOff); 00122 virtual bool mode4Damage() const; 00123 00124 virtual void setMode4Malfunction(bool onOff); 00125 virtual bool mode4Malfunction() const; 00126 00127 virtual void setMode4Code(DtU16 code); 00128 virtual DtU16 mode4Code() const; 00129 00130 virtual void setAltMode4Value(DtIffAtcNavaidsAltParm4 code); 00131 virtual DtIffAtcNavaidsAltParm4 altMode4Value() const; 00132 00133 00134 virtual void setMode5On(bool onOff); 00135 virtual bool mode5On() const; 00136 00137 virtual void setMode5Damage(bool onOff); 00138 virtual bool mode5Damage() const; 00139 00140 virtual void setMode5Malfunction(bool onOff); 00141 virtual bool mode5Malfunction() const; 00142 00143 virtual void setUseAltMode5(bool onOff); 00144 virtual bool useAltMode5() const; 00145 00146 00147 virtual void setModeSTcasI(bool onOff); 00148 virtual bool modeSTcasI() const; 00149 00150 virtual void setModeSOn(bool onOff); 00151 virtual bool modeSOn() const; 00152 00153 virtual void setModeSDamage(bool onOff); 00154 virtual bool modeSDamage() const; 00155 00156 virtual void setModeSMalfunction(bool onOff); 00157 virtual bool modeSMalfunction() const; 00158 00159 00160 virtual void setEmergency(bool onOff); 00161 virtual bool emergency() const; 00162 00163 virtual void setFlash(bool onOff); 00164 virtual bool flash() const; 00165 00166 virtual void setSti(bool onOff); 00167 virtual bool sti() const; 00168 00170 virtual DtSetDataRequest * clone(const DtString & name, 00171 DtReaderWriterRegistry * parentRegistry = 0) const; 00172 00174 virtual DtString stringRep() const; 00175 00178 virtual int netRepSize() const; 00179 00181 virtual bool setFromNet(const char* contentBuffer, 00182 unsigned contentSize); 00183 00186 virtual bool setToNet(); 00187 00188 static DtSetDataRequest * creator(); 00189 00190 protected: 00192 enum SystemBit 00193 { 00194 SystemOnBit = 0, 00195 SystemOperationalBit = 1 00196 }; 00197 00198 enum MiscBit 00199 { 00200 UseAltMode5Bit = 0, 00201 ModeSTcasIBit = 1, 00202 EmergencyBit = 2, 00203 FlashBit = 3, 00204 StiBit = 4 00205 }; 00206 00208 virtual void setBit(DtU8 &bitField, DtU8 bitNumber, bool bitValue); 00210 virtual bool bitValue(DtU8 bitField, DtU8 bitNumber); 00211 00212 protected: 00213 DtRwBoolean mySystemOn; 00214 DtRwBoolean mySystemOperational; 00215 00216 DtRwBoolean myMode1On; 00217 DtRwBoolean myMode1Damage; 00218 DtRwBoolean myMode1Malfunction; 00219 DtRwInt myMode1Code; 00220 00221 DtRwBoolean myMode2On; 00222 DtRwBoolean myMode2Damage; 00223 DtRwBoolean myMode2Malfunction; 00224 DtRwInt myMode2Code; 00225 00226 DtRwBoolean myMode3On; 00227 DtRwBoolean myMode3Damage; 00228 DtRwBoolean myMode3Malfunction; 00229 DtRwInt myMode3Code; 00230 00231 DtRwBoolean myMode4On; 00232 DtRwBoolean myMode4Damage; 00233 DtRwBoolean myMode4Malfunction; 00234 DtRwInt myMode4Code; 00235 DtRwInt myAltMode4Value; 00236 00237 DtRwBoolean myMode5On; 00238 DtRwBoolean myMode5Damage; 00239 DtRwBoolean myMode5Malfunction; 00240 DtRwBoolean myUseAltMode5; 00241 00242 DtRwBoolean myModeSTcasI; 00243 DtRwBoolean myModeSOn; 00244 DtRwBoolean myModeSDamage; 00245 DtRwBoolean myModeSMalfunction; 00246 00247 DtRwBoolean myEmergency; 00248 DtRwBoolean myFlash; 00249 DtRwBoolean mySti; 00250 }; 00251 00252 00253 #endif