![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 00010 00011 #ifndef DtIffStateRepository_H_ 00012 #define DtIffStateRepository_H_ 00013 00014 #include <string.h> 00015 #include <vlutil/vlNetTypes.h> 00016 #include "hostStructs.h" 00017 #include "eventId.h" 00018 #include "embedSystemSR.h" 00019 #include "iffAtcNavParm.h" 00020 00023 class DT_DLL_VL DtIffStateRepository : public DtEmbeddedSystemRepository 00024 { 00025 public: 00026 00027 enum DtModeOrParameterKind { 00028 Enabled = 0, 00029 IsDamaged, 00030 IsMalfunctioning, 00031 IsOn 00032 }; 00033 00034 public: 00035 00037 DtIffStateRepository(); 00038 00040 virtual ~DtIffStateRepository(); 00041 00043 DtIffStateRepository(const DtIffStateRepository& orig); 00044 00046 DtIffStateRepository& operator=(const DtIffStateRepository& orig); 00047 00049 virtual DtStateRepository* clone(bool copy = false) const; 00050 00052 virtual void printData() const; 00053 00055 virtual void printDataToStream(std::ostream& stream) const; 00056 00058 virtual void setSystemType(DtIffAtcNavaidsSysType type ); 00059 virtual DtIffAtcNavaidsSysType systemType() const; 00060 00062 virtual void setSystemName(DtIffAtcNavaidsSysName name ); 00063 virtual DtIffAtcNavaidsSysName systemName() const; 00064 00066 virtual void setSystemMode(DtU8 mode ); 00067 virtual DtU8 systemMode() const; 00068 00070 virtual void setEventId(const DtEventId &eventid); 00071 virtual const DtEventId& eventId() const; 00072 00074 virtual void setAlternateMode4(DtIffAtcNavaidsAltParm4 useMode4); 00075 virtual DtIffAtcNavaidsAltParm4 alternateMode4() const; 00076 00078 virtual void setSystemIsOn(bool ison); 00079 virtual bool systemIsOn() const; 00080 00082 virtual void setSystemIsOperational(bool isoperational); 00083 virtual bool systemIsOperational() const; 00084 00090 virtual void setModeOrParameterVal(int type, int status, bool onOff); 00091 virtual bool getModeOrParameterVal(int type, int status) const; 00092 00097 virtual void setModeOrParameterVal(char type, int status, bool onOff); 00098 virtual bool getModeOrParameterVal(char type, int status) const; 00099 00102 00103 virtual void setModeEnabled(char modeType, bool onOff); 00104 virtual bool modeEnabled(char modeType) const; 00105 00106 virtual void setModeIsMalfunctioning(char modeType, bool onOff); 00107 virtual bool modeIsMalfunctioning(char modeType) const; 00108 00109 virtual void setModeIsDamaged(char modeType, bool onOff); 00110 virtual bool modeIsDamaged(char modeType) const; 00111 00112 virtual void setModeIsOn(char modeType, bool onOff); 00113 virtual bool modeIsOn(char modeType) const; 00114 00118 00119 virtual void setModeEnabled(int modeType, bool onOff); 00120 virtual bool modeEnabled(int modeType) const; 00121 00122 virtual void setModeIsMalfunctioning(int modeType, bool onOff); 00123 virtual bool modeIsMalfunctioning(int modeType) const; 00124 00125 virtual void setModeIsDamaged(int modeType, bool onOff); 00126 virtual bool modeIsDamaged(int modeType) const; 00127 00128 virtual void setModeIsOn(int modeType, bool onOff); 00129 virtual bool modeIsOn(int modeType) const; 00130 00132 virtual void setMode4PseudoCrypto(DtU16 val); 00133 virtual DtU16 mode4PseudoCrypto() const; 00134 00136 virtual void setMode4PseudoCryptoAvailable(bool onOff); 00137 virtual bool mode4PseudoCryptoAvailable() const; 00138 00140 virtual void setModeSIsTcasI(bool onOff); 00141 virtual bool modeSIsTcasI() const; 00142 00146 00147 virtual void setParameterEnabled(int paramNum, bool onOff); 00148 virtual bool parameterEnabled(int paramNum) const; 00149 00150 virtual void setParameterIsMalfunctioning(int paramNum, bool onOff); 00151 virtual bool parameterIsMalfunctioning(int paramNum) const; 00152 00153 virtual void setParameterIsDamaged(int paramNum, bool onOff); 00154 virtual bool parameterIsDamaged(int paramNum) const; 00155 00156 virtual void setParameterIsOn(int paramNum, bool onOff); 00157 virtual bool parameterIsOn(int paramNum) const; 00158 00164 virtual void setModeCode(int modeCodeNum, DtU16 val); 00165 virtual DtU16 modeCode(int modeCodeNum) const; 00166 00168 virtual void setEmergencyOn(bool onOff); 00169 virtual bool emergencyOn() const; 00170 00172 virtual void setIdentSquawkFlashOn(bool onOff); 00173 virtual bool identSquawkFlashOn() const; 00174 00176 virtual void setModeCAltitudeAvailable(bool val); 00177 virtual bool modeCAltitudeAvailable() const; 00178 00180 virtual void setModeCAltitude(DtInt16 val); 00181 virtual DtInt16 modeCAltitude() const; 00182 00184 virtual void setStiOn(bool onOff); 00185 virtual bool stiOn() const; 00186 00188 virtual void setCode(DtU8 code); 00189 virtual DtU8 code() const; 00190 00192 virtual void setPowerReduction(bool onOff); 00193 virtual bool powerReduction() const; 00194 00196 virtual void setIsDamaged(bool onOff); 00197 virtual bool isDamaged() const; 00198 00200 virtual void setIsMalfunctioning(bool onOff); 00201 virtual bool isMalfunctioning() const; 00202 00204 virtual void setIsOn(bool onOff); 00205 virtual bool isOn() const; 00206 00208 virtual void setRadarEnhancement(bool onOff); 00209 virtual bool radarEnhancement() const; 00210 00212 00215 virtual void setLayer2DataAvailable(bool b); 00216 virtual bool layer2DataAvailable() const; 00217 00219 virtual void setLayer2SpecificInfo(unsigned int val); 00220 virtual unsigned int layer2SpecificInfo() const; 00221 00223 virtual void setBeamAzimuthCenter(DtFloat32 val); 00224 virtual DtFloat32 beamAzimuthCenter() const; 00225 00227 virtual void setBeamAzimuthSweep(DtFloat32 val); 00228 virtual DtFloat32 beamAzimuthSweep() const; 00229 00231 virtual void setBeamElevationCenter(DtFloat32 val); 00232 virtual DtFloat32 beamElevationCenter() const; 00233 00235 virtual void setBeamElevationSweep(DtFloat32 val); 00236 virtual DtFloat32 beamElevationSweep() const; 00237 00239 virtual void setBeamSweepSync(DtFloat32 val); 00240 virtual DtFloat32 beamSweepSync() const; 00241 00243 virtual void setSecondaryOperationalDataParameter1( 00244 DtIffOperationalParameter1 val); 00245 virtual DtIffOperationalParameter1 00246 secondaryOperationalDataParameter1() const; 00247 00249 virtual void setSecondaryOperationalDataParameter2( 00250 DtIffOperationalParameter2 val); 00251 virtual DtIffOperationalParameter2 00252 secondaryOperationalDataParameter2() const; 00253 00255 virtual int numParameterSets() const; 00256 virtual void setNumParameterSets(int n); 00257 00259 virtual bool setParamData(int parmIndex, 00260 const DtIffAtcNavaidsParameter& init); 00261 00262 virtual bool getParmData(int parmIndex, 00263 DtIffAtcNavaidsParameter& record) const; 00264 00265 virtual DtIffAtcNavaidsParameter paramData( 00266 int paramIndex, bool *valid = NULL) const; 00267 00268 public: 00269 00271 static DtIffStateRepository* create(); 00272 00273 protected: 00274 00275 00276 DtIffAtcNavaidsSysType myType; 00277 DtIffAtcNavaidsSysName myName; 00278 DtU8 myMode; 00279 00280 DtFloat32 myBeamAzimuthCenter; 00281 DtFloat32 myBeamAzimuthSweep; 00282 DtFloat32 myBeamElevationCenter; 00283 DtFloat32 myBeamElevationSweep; 00284 DtFloat32 myBeamSweepSync; 00285 DtEventId myEventId; 00286 bool myLayer2DataAvailable; 00287 00288 int myLayer2SpecificInfo; 00289 int myNumParamSets; 00290 DtIffAtcNavaidsParameter* myParamSets; 00291 DtIffAtcNavaidsParameter myEmptyParamSet; 00292 00293 DtIffOperationalParameter1 mySecondaryOperationalDataParameter1; 00294 DtIffOperationalParameter2 mySecondaryOperationalDataParameter2; 00295 bool mySystemIsOn; 00296 bool mySystemIsOperational; 00297 00299 DtIffAtcNavaidsAltParm4 myAlternateMode4; 00300 DtU16 myMode4PseudoCrypto; 00301 bool myModeSIsTcasI; 00302 bool myMode4PseudoCryptoAvailable; 00303 00305 bool myEmergencyOn; 00306 bool myStiOn; 00307 bool myIdentSquawkFlashOn; 00308 #if DtTENA 00309 DtU16 myModeCode[4]; 00310 #else 00311 DtU16 myModeCode[3]; 00312 #endif 00313 DtInt16 myModeCAltitude; 00314 bool myModeCAltitudeAvailable; 00315 00317 DtU8 myCode; 00318 bool myPowerReduction; 00319 bool myIsDamaged; 00320 bool myIsMalfunctioning; 00321 bool myIsOn; 00322 bool myRadarEnhancement; 00323 00325 bool myModeParameterStatusValues[6][4]; 00326 }; 00327 00328 #endif //! DtIffStateRepository_H_ 00329 00330