#include #include Information::Information() { mComputerType=0; mExtraInfo1=0; } Information::~Information() { } bool Information::readFrom(RawData &array) { try { mComputerType=array[0x7BC]; mExtraInfo1=array[0x7D2]; } catch(ArrayIndexOutOfBoundsException exception) { ::OutputDebugString(exception.toString()+String("\n")); return false; } return true; } bool Information::readFrom(File &inFile) { if(!inFile.isOkay())return false; if(!inFile.read(&mComputerType,sizeof(mComputerType)))return false; if(!inFile.read(&mExtraInfo1,sizeof(mExtraInfo1)))return false; return true; } bool Information::writeTo(File &outFile) { if(!outFile.isOkay())return false; if(!outFile.write(&mComputerType,sizeof(mComputerType)))return false; if(!outFile.write(&mExtraInfo1,sizeof(mExtraInfo1)))return false; return true; } Information::Model Information::getComputerType(void)const { switch(mComputerType) { case 0x40 : return MaresGenius; case 0x34 : return AladinAirZ; case 0x44 : return AladinAirZ; case 0xA4 : return AladinAirZO2; case 0xF4 : return AladinAirXNitrox; case 0x48 : return SpiroMonitor3Air; case 0x1C : return AladinAirTwin; case 0x1D : case 0x3D : return SpiroMonitor2Plus; case 0x1E : case 0x3E : return AladinSportPlus; case 0x1F : case 0x3F : return AladinPro; case 0xFF : return AladinProUltra; default : return Unknown; } } String Information::getComputerTypeString(void)const { switch(getComputerType()) { case MaresGenius : return "Mares Genius"; case AladinAirZ : return "Aladin Air Z/Aladin Air X"; case AladinAirZO2 : return "Aladin Air Z O2/Aladin Air X O2"; case AladinAirXNitrox : return "Aladin Air X Nitrox"; case SpiroMonitor3Air : return "Spiro Monitor 3 Air"; case AladinAirTwin : return "Aladin Air Twin/Aladin Air"; case SpiroMonitor2Plus : return "Spiro Monitor 2 Plus"; case AladinSportPlus : return "Aladin Sport Plus/Aladin Sport"; case AladinPro : return "Aladin Pro"; case AladinProUltra : return "Aladin Pro Ultra/Aladin Pro Nitrox"; case Unknown : default : return "Unknown"; } }