public Mainboard(ISettings settings) {
this.settings = settings;
this.smbios = new SMBIOS();
if (smbios.Board != null) {
if (!string.IsNullOrEmpty(smbios.Board.ProductName)) {
if (smbios.Board.Manufacturer == Manufacturer.Unknown)
this.name = smbios.Board.ProductName;
else
this.name = smbios.Board.Manufacturer + " " +
smbios.Board.ProductName;
} else {
this.name = smbios.Board.Manufacturer.ToString();
}
} else {
this.name = Manufacturer.Unknown.ToString();
}
this.customName = settings.GetValue(
new Identifier(Identifier, "name").ToString(), name);
ISuperIO[] superIO;
int p = (int)Environment.OSVersion.Platform;
if ((p == 4) || (p == 128)) {
this.lmSensors = new LMSensors();
superIO = lmSensors.SuperIO;
} else {
this.lpcio = new LPCIO();
superIO = lpcio.SuperIO;
}
superIOHardware = new Hardware[superIO.Length];
for (int i = 0; i < superIO.Length; i++)
superIOHardware[i] = new SuperIOHardware(this, superIO[i],
smbios.Board != null ? smbios.Board.Manufacturer :
Manufacturer.Unknown, smbios.Board != null ? smbios.Board.Model :
Model.Unknown, settings);
}