Files
Work/aladin/hold/information.cpp
2024-08-07 09:12:07 -04:00

91 lines
1.7 KiB
C++

#include <aladin/information.hpp>
Information::Information()
{
mComputerType=0;
mExtraInfo1=0;
}
Information::~Information()
{
}
bool Information::readFrom(Array<BYTE> &array)
{
try
{
mComputerType=array[0x7BC];
mExtraInfo1=array[0x7D2];
}
catch(ArrayIndexOutOfBoundsException exception)
{
::OutputDebugString(exception.toString()+String("\n"));
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";
}
}