1.1 --- a/Hardware/HDD/HDD.cs Sun Oct 17 16:13:20 2010 +0000
1.2 +++ b/Hardware/HDD/HDD.cs Sun Oct 17 17:12:38 2010 +0000
1.3 @@ -49,36 +49,31 @@
1.4 private readonly int drive;
1.5 private int count;
1.6
1.7 - private readonly SMART.AttributeID temperatureID = 0x00;
1.8 - private readonly SMART.SSDLifeID lifeID = 0x00;
1.9 + private readonly SMART.AttributeID temperatureID = SMART.AttributeID.None;
1.10 + private readonly SMART.AttributeID lifeID = SMART.AttributeID.None;
1.11
1.12 private readonly Sensor temperatureSensor;
1.13 private readonly Sensor lifeSensor;
1.14
1.15 - public HDD(string name, IntPtr handle, int drive,
1.16 - SMART.AttributeID temperatureID, ISettings settings)
1.17 - {
1.18 - this.name = name;
1.19 - this.handle = handle;
1.20 - this.drive = drive;
1.21 - this.count = 0;
1.22 - this.temperatureID = temperatureID;
1.23 - this.temperatureSensor = new Sensor("HDD", 0, SensorType.Temperature,
1.24 - this, settings);
1.25 -
1.26 - Update();
1.27 - }
1.28 -
1.29 - public HDD(string name, IntPtr handle, int drive, SMART.SSDLifeID lifeID,
1.30 + public HDD(string name, IntPtr handle, int drive,
1.31 + SMART.AttributeID temperatureID, SMART.AttributeID lifeID,
1.32 ISettings settings)
1.33 {
1.34 this.name = name;
1.35 this.handle = handle;
1.36 this.drive = drive;
1.37 this.count = 0;
1.38 - this.lifeID = lifeID;
1.39 - this.lifeSensor = new Sensor("Remaining life", 0, SensorType.Level,
1.40 - this, settings);
1.41 + if (temperatureID != SMART.AttributeID.None) {
1.42 + this.temperatureID = temperatureID;
1.43 + this.temperatureSensor = new Sensor("HDD", 0, SensorType.Temperature,
1.44 + this, settings);
1.45 + }
1.46 +
1.47 + if (lifeID != SMART.AttributeID.None) {
1.48 + this.lifeID = lifeID;
1.49 + this.lifeSensor = new Sensor("Remaining life", 0, SensorType.Level,
1.50 + this, settings);
1.51 + }
1.52
1.53 Update();
1.54 }
1.55 @@ -108,10 +103,10 @@
1.56
1.57 public ISensor[] Sensors {
1.58 get {
1.59 - if (lifeID != SMART.SSDLifeID.None)
1.60 + if (lifeID != SMART.AttributeID.None)
1.61 return new ISensor[] { lifeSensor };
1.62
1.63 - if (temperatureID != 0x00)
1.64 + if (temperatureID != SMART.AttributeID.None)
1.65 return new ISensor[] { temperatureSensor };
1.66
1.67 return new ISensor[] {};
1.68 @@ -125,27 +120,27 @@
1.69 public void Update() {
1.70 if (count == 0) {
1.71 List<SMART.DriveAttribute> attributes = SMART.ReadSmart(handle, drive);
1.72 - if (temperatureID != 0x00 &&
1.73 - attributes.Exists(attr => (int)attr.ID == (int)temperatureID))
1.74 + if (temperatureID != SMART.AttributeID.None &&
1.75 + attributes.Exists(attr => attr.ID == temperatureID))
1.76 {
1.77 temperatureSensor.Value = attributes
1.78 - .Find(attr => (int)attr.ID == (int)temperatureID)
1.79 + .Find(attr => attr.ID == temperatureID)
1.80 .RawValue[0];
1.81 }
1.82
1.83 - if (lifeID != 0x00 &&
1.84 - attributes.Exists(attr => (int)attr.ID == (int)lifeID))
1.85 + if (lifeID != SMART.AttributeID.None &&
1.86 + attributes.Exists(attr => attr.ID == lifeID))
1.87 {
1.88 lifeSensor.Value = attributes
1.89 - .Find(attr => (int)attr.ID == (int)lifeID)
1.90 + .Find(attr => attr.ID == lifeID)
1.91 .AttrValue;
1.92 }
1.93 } else {
1.94 - if (temperatureID != 0x00) {
1.95 + if (temperatureID != SMART.AttributeID.None) {
1.96 temperatureSensor.Value = temperatureSensor.Value;
1.97 }
1.98
1.99 - if (lifeID != 0x00) {
1.100 + if (lifeID != SMART.AttributeID.None) {
1.101 lifeSensor.Value = lifeSensor.Value;
1.102 }
1.103 }