Changed the project files to Visual Studio 2010. Fixed some Code Analysis warnings.
authormoel.mich
Thu, 12 Aug 2010 20:53:27 +0000
changeset 166fa9dfbfc4145
parent 165 813d8bc3192f
child 167 b7cc9d09aefe
Changed the project files to Visual Studio 2010. Fixed some Code Analysis warnings.
GUI/MainForm.cs
GUI/SensorNode.cs
GUI/SensorNotifyIcon.cs
GUI/SystemTray.cs
GUI/UnitManager.cs
GUI/UserOption.cs
Hardware/ATI/ATIGPU.cs
Hardware/ATI/ATIGroup.cs
Hardware/CPU/AMD0FCPU.cs
Hardware/CPU/AMD10CPU.cs
Hardware/CPU/CPUGroup.cs
Hardware/CPU/CPULoad.cs
Hardware/CPU/IntelCPU.cs
Hardware/Computer.cs
Hardware/HDD/HDD.cs
Hardware/Hardware.cs
Hardware/ISettings.cs
Hardware/LPC/F718XX.cs
Hardware/LPC/IT87XX.cs
Hardware/LPC/LMSensors.cs
Hardware/LPC/LPCIO.cs
Hardware/LPC/W836XX.cs
Hardware/Mainboard/Mainboard.cs
Hardware/Mainboard/SuperIOHardware.cs
Hardware/Nvidia/NvidiaGPU.cs
Hardware/Nvidia/NvidiaGroup.cs
Hardware/Parameter.cs
Hardware/Sensor.cs
Hardware/TBalancer/TBalancer.cs
Hardware/TBalancer/TBalancerGroup.cs
OpenHardwareMonitor.csproj
OpenHardwareMonitor.sln
OpenHardwareMonitorLib.csproj
Properties/AssemblyInfo.cs
Properties/AssemblyLibInfo.cs
Properties/AssemblyVersion.cs
Utilities/PersistentSettings.cs
     1.1 --- a/GUI/MainForm.cs	Sun Aug 08 13:57:26 2010 +0000
     1.2 +++ b/GUI/MainForm.cs	Thu Aug 12 20:53:27 2010 +0000
     1.3 @@ -107,9 +107,9 @@
     1.4        nodeTextBoxText.EditorShowing += nodeTextBoxText_EditorShowing;
     1.5  
     1.6        if (settings.Contains("mainForm.Location.X")) {
     1.7 -        int x = settings.Get("mainForm.Location.X", Location.X);
     1.8 +        int x = settings.GetValue("mainForm.Location.X", Location.X);
     1.9          x = x < 0 ? 0 : x;
    1.10 -        int y = settings.Get("mainForm.Location.Y", Location.Y);
    1.11 +        int y = settings.GetValue("mainForm.Location.Y", Location.Y);
    1.12          y = y < 0 ? 0 : y;
    1.13          this.Location = new Point(x, y);
    1.14        } else {
    1.15 @@ -117,12 +117,12 @@
    1.16        }
    1.17  
    1.18        ClientSize = new Size(
    1.19 -        settings.Get("mainForm.Width", 470),
    1.20 -        settings.Get("mainForm.Height", 640));
    1.21 +        settings.GetValue("mainForm.Width", 470),
    1.22 +        settings.GetValue("mainForm.Height", 640));
    1.23  
    1.24        foreach (TreeColumn column in treeView.Columns) 
    1.25          column.Width = Math.Max(20, Math.Min(400,
    1.26 -          settings.Get("treeView.Columns." + column.Header + ".Width",
    1.27 +          settings.GetValue("treeView.Columns." + column.Header + ".Width",
    1.28            column.Width)));
    1.29  
    1.30        treeModel = new TreeModel();
    1.31 @@ -317,14 +317,14 @@
    1.32  
    1.33      private void SaveConfiguration() {
    1.34        if (WindowState != FormWindowState.Minimized) {
    1.35 -        settings.Set("mainForm.Location.X", Location.X);
    1.36 -        settings.Set("mainForm.Location.Y", Location.Y);
    1.37 -        settings.Set("mainForm.Width", ClientSize.Width);
    1.38 -        settings.Set("mainForm.Height", ClientSize.Height);
    1.39 +        settings.SetValue("mainForm.Location.X", Location.X);
    1.40 +        settings.SetValue("mainForm.Location.Y", Location.Y);
    1.41 +        settings.SetValue("mainForm.Width", ClientSize.Width);
    1.42 +        settings.SetValue("mainForm.Height", ClientSize.Height);
    1.43        }
    1.44  
    1.45        foreach (TreeColumn column in treeView.Columns)
    1.46 -        settings.Set("treeView.Columns." + column.Header + ".Width",
    1.47 +        settings.SetValue("treeView.Columns." + column.Header + ".Width",
    1.48            column.Width);
    1.49  
    1.50        settings.Save(Path.ChangeExtension(
     2.1 --- a/GUI/SensorNode.cs	Sun Aug 08 13:57:26 2010 +0000
     2.2 +++ b/GUI/SensorNode.cs	Thu Aug 12 20:53:27 2010 +0000
     2.3 @@ -76,7 +76,7 @@
     2.4          case SensorType.Control: format = "{0:F1} %"; break;
     2.5        }
     2.6  
     2.7 -      bool hidden = settings.Get(new Identifier(sensor.Identifier, 
     2.8 +      bool hidden = settings.GetValue(new Identifier(sensor.Identifier, 
     2.9          "hidden").ToString(), sensor.IsDefaultHidden);
    2.10        base.IsVisible = !hidden;
    2.11      }
    2.12 @@ -90,7 +90,7 @@
    2.13        get { return base.IsVisible; }
    2.14        set { 
    2.15          base.IsVisible = value;
    2.16 -        settings.Set(new Identifier(sensor.Identifier,
    2.17 +        settings.SetValue(new Identifier(sensor.Identifier,
    2.18            "hidden").ToString(), !value);
    2.19        }
    2.20      }
     3.1 --- a/GUI/SensorNotifyIcon.cs	Sun Aug 08 13:57:26 2010 +0000
     3.2 +++ b/GUI/SensorNotifyIcon.cs	Thu Aug 12 20:53:27 2010 +0000
     3.3 @@ -71,7 +71,7 @@
     3.4        if (sensor.SensorType == SensorType.Load) {
     3.5          defaultColor = Color.FromArgb(0xff, 0x70, 0x8c, 0xf1);
     3.6        }
     3.7 -      Color = settings.Get(new Identifier(sensor.Identifier, 
     3.8 +      Color = settings.GetValue(new Identifier(sensor.Identifier, 
     3.9          "traycolor").ToString(), defaultColor);      
    3.10        
    3.11        this.pen = new Pen(Color.FromArgb(96, Color.Black));
    3.12 @@ -95,7 +95,7 @@
    3.13          dialog.Color = Color;
    3.14          if (dialog.ShowDialog() == DialogResult.OK) {
    3.15            Color = dialog.Color;
    3.16 -          settings.Set(new Identifier(sensor.Identifier,
    3.17 +          settings.SetValue(new Identifier(sensor.Identifier,
    3.18              "traycolor").ToString(), Color);
    3.19          }
    3.20        };
     4.1 --- a/GUI/SystemTray.cs	Sun Aug 08 13:57:26 2010 +0000
     4.2 +++ b/GUI/SystemTray.cs	Thu Aug 12 20:53:27 2010 +0000
     4.3 @@ -97,7 +97,7 @@
     4.4      }
     4.5  
     4.6      private void SensorAdded(ISensor sensor) {
     4.7 -      if (settings.Get(new Identifier(sensor.Identifier, 
     4.8 +      if (settings.GetValue(new Identifier(sensor.Identifier, 
     4.9          "tray").ToString(), false)) 
    4.10          Add(sensor, false);   
    4.11      }
    4.12 @@ -131,7 +131,7 @@
    4.13        } else {        
    4.14          list.Add(new SensorNotifyIcon(this, sensor, balloonTip, settings));
    4.15          UpdateMainIconVisibilty();
    4.16 -        settings.Set(new Identifier(sensor.Identifier, "tray").ToString(), true);
    4.17 +        settings.SetValue(new Identifier(sensor.Identifier, "tray").ToString(), true);
    4.18        }
    4.19      }
    4.20  
     5.1 --- a/GUI/UnitManager.cs	Sun Aug 08 13:57:26 2010 +0000
     5.2 +++ b/GUI/UnitManager.cs	Thu Aug 12 20:53:27 2010 +0000
     5.3 @@ -52,7 +52,7 @@
     5.4  
     5.5      public UnitManager(PersistentSettings settings) {
     5.6        this.settings = settings;
     5.7 -      this.temperatureUnit = (TemperatureUnit)settings.Get("TemperatureUnit",
     5.8 +      this.temperatureUnit = (TemperatureUnit)settings.GetValue("TemperatureUnit",
     5.9          (int)TemperatureUnit.Celcius);
    5.10      }
    5.11  
    5.12 @@ -60,7 +60,7 @@
    5.13        get { return temperatureUnit; }
    5.14        set {
    5.15          this.temperatureUnit = value;
    5.16 -        this.settings.Set("TemperatureUnit", (int)temperatureUnit);
    5.17 +        this.settings.SetValue("TemperatureUnit", (int)temperatureUnit);
    5.18        }
    5.19      }
    5.20    }
     6.1 --- a/GUI/UserOption.cs	Sun Aug 08 13:57:26 2010 +0000
     6.2 +++ b/GUI/UserOption.cs	Thu Aug 12 20:53:27 2010 +0000
     6.3 @@ -54,7 +54,7 @@
     6.4        this.settings = settings;
     6.5        this.name = name;
     6.6        if (name != null)
     6.7 -        this.value = settings.Get(name, value);
     6.8 +        this.value = settings.GetValue(name, value);
     6.9        else
    6.10          this.value = value;
    6.11        this.menuItem = menuItem;
    6.12 @@ -72,7 +72,7 @@
    6.13          if (this.value != value) {
    6.14            this.value = value;
    6.15            if (this.name != null)
    6.16 -            settings.Set(name, value);
    6.17 +            settings.SetValue(name, value);
    6.18            this.menuItem.Checked = value;
    6.19            if (changed != null)
    6.20              changed(this, null);
     7.1 --- a/Hardware/ATI/ATIGPU.cs	Sun Aug 08 13:57:26 2010 +0000
     7.2 +++ b/Hardware/ATI/ATIGPU.cs	Thu Aug 12 20:53:27 2010 +0000
     7.3 @@ -37,9 +37,10 @@
     7.4  
     7.5  using System;
     7.6  using System.Collections.Generic;
     7.7 +using System.Globalization;
     7.8  
     7.9  namespace OpenHardwareMonitor.Hardware.ATI {
    7.10 -  internal class ATIGPU : Hardware {
    7.11 +  internal sealed class ATIGPU : Hardware {
    7.12  
    7.13      private string name;
    7.14      private int adapterIndex;
    7.15 @@ -80,7 +81,10 @@
    7.16      }
    7.17  
    7.18      public override Identifier Identifier {
    7.19 -      get { return new Identifier("atigpu", adapterIndex.ToString()); }
    7.20 +      get { 
    7.21 +        return new Identifier("atigpu", 
    7.22 +          adapterIndex.ToString(CultureInfo.InvariantCulture)); 
    7.23 +      }
    7.24      }
    7.25  
    7.26      public override HardwareType HardwareType {
     8.1 --- a/Hardware/ATI/ATIGroup.cs	Sun Aug 08 13:57:26 2010 +0000
     8.2 +++ b/Hardware/ATI/ATIGroup.cs	Thu Aug 12 20:53:27 2010 +0000
     8.3 @@ -37,6 +37,7 @@
     8.4  
     8.5  using System;
     8.6  using System.Collections.Generic;
     8.7 +using System.Globalization;
     8.8  using System.Text;
     8.9  
    8.10  namespace OpenHardwareMonitor.Hardware.ATI {
    8.11 @@ -55,7 +56,7 @@
    8.12          if (status == ADL.ADL_OK)
    8.13            report.AppendLine("OK");
    8.14          else
    8.15 -          report.AppendLine(status.ToString());
    8.16 +          report.AppendLine(status.ToString(CultureInfo.InvariantCulture));
    8.17          report.AppendLine();
    8.18  
    8.19          if (status == ADL.ADL_OK) {
    8.20 @@ -63,7 +64,7 @@
    8.21            ADL.ADL_Adapter_NumberOfAdapters_Get(ref numberOfAdapters);
    8.22            
    8.23            report.Append("Number of adapters: "); 
    8.24 -          report.AppendLine(numberOfAdapters.ToString());
    8.25 +          report.AppendLine(numberOfAdapters.ToString(CultureInfo.InvariantCulture));
    8.26            report.AppendLine();
    8.27  
    8.28            if (numberOfAdapters > 0) {
    8.29 @@ -78,25 +79,30 @@
    8.30                    out adapterID);
    8.31  
    8.32                  report.Append("AdapterIndex: "); 
    8.33 -                report.AppendLine(i.ToString());
    8.34 +                report.AppendLine(i.ToString(CultureInfo.InvariantCulture));
    8.35                  report.Append("isActive: "); 
    8.36 -                report.AppendLine(isActive.ToString());
    8.37 +                report.AppendLine(isActive.ToString(CultureInfo.InvariantCulture));
    8.38                  report.Append("AdapterName: "); 
    8.39                  report.AppendLine(adapterInfo[i].AdapterName);     
    8.40                  report.Append("UDID: ");
    8.41                  report.AppendLine(adapterInfo[i].UDID);
    8.42                  report.Append("Present: ");
    8.43 -                report.AppendLine(adapterInfo[i].Present.ToString());
    8.44 +                report.AppendLine(adapterInfo[i].Present.ToString(
    8.45 +                  CultureInfo.InvariantCulture));
    8.46                  report.Append("VendorID: ");
    8.47 -                report.AppendLine(adapterInfo[i].VendorID.ToString());
    8.48 +                report.AppendLine(adapterInfo[i].VendorID.ToString(
    8.49 +                  CultureInfo.InvariantCulture));
    8.50                  report.Append("BusNumber: ");
    8.51 -                report.AppendLine(adapterInfo[i].BusNumber.ToString());
    8.52 +                report.AppendLine(adapterInfo[i].BusNumber.ToString(
    8.53 +                  CultureInfo.InvariantCulture));
    8.54                  report.Append("DeviceNumber: ");
    8.55 -                report.AppendLine(adapterInfo[i].DeviceNumber.ToString());
    8.56 +                report.AppendLine(adapterInfo[i].DeviceNumber.ToString(
    8.57 +                 CultureInfo.InvariantCulture));
    8.58                  report.Append("FunctionNumber: ");
    8.59 -                report.AppendLine(adapterInfo[i].FunctionNumber.ToString());
    8.60 +                report.AppendLine(adapterInfo[i].FunctionNumber.ToString(
    8.61 +                  CultureInfo.InvariantCulture));
    8.62                  report.Append("AdapterID: 0x");
    8.63 -                report.AppendLine(adapterID.ToString("X"));
    8.64 +                report.AppendLine(adapterID.ToString("X", CultureInfo.InvariantCulture));
    8.65  
    8.66                  if (adapterID != 0 && adapterInfo[i].UDID != "" &&
    8.67                    (adapterInfo[i].VendorID == ADL.ATI_VENDOR_ID1 ||
     9.1 --- a/Hardware/CPU/AMD0FCPU.cs	Sun Aug 08 13:57:26 2010 +0000
     9.2 +++ b/Hardware/CPU/AMD0FCPU.cs	Thu Aug 12 20:53:27 2010 +0000
     9.3 @@ -37,10 +37,11 @@
     9.4  
     9.5  using System;
     9.6  using System.Collections.Generic;
     9.7 +using System.Globalization;
     9.8  using System.Text;
     9.9  
    9.10  namespace OpenHardwareMonitor.Hardware.CPU {
    9.11 -  internal class AMD0FCPU : Hardware, IHardware {
    9.12 +  internal sealed class AMD0FCPU : Hardware, IHardware {
    9.13  
    9.14      private string name;
    9.15  
    9.16 @@ -117,7 +118,10 @@
    9.17      }
    9.18  
    9.19      public override Identifier Identifier {
    9.20 -      get { return new Identifier("amdcpu", processorIndex.ToString()); }
    9.21 +      get { 
    9.22 +        return new Identifier("amdcpu", 
    9.23 +          processorIndex.ToString(CultureInfo.InvariantCulture)); 
    9.24 +      }
    9.25      }
    9.26  
    9.27      public override HardwareType HardwareType {
    10.1 --- a/Hardware/CPU/AMD10CPU.cs	Sun Aug 08 13:57:26 2010 +0000
    10.2 +++ b/Hardware/CPU/AMD10CPU.cs	Thu Aug 12 20:53:27 2010 +0000
    10.3 @@ -37,12 +37,13 @@
    10.4  
    10.5  using System;
    10.6  using System.Collections.Generic;
    10.7 +using System.Globalization;
    10.8  using System.Diagnostics;
    10.9  using System.Text;
   10.10  
   10.11  namespace OpenHardwareMonitor.Hardware.CPU {
   10.12  
   10.13 -  internal class AMD10CPU : Hardware, IHardware {
   10.14 +  internal sealed class AMD10CPU : Hardware, IHardware {
   10.15      private string name;
   10.16  
   10.17      private int processorIndex;
   10.18 @@ -101,7 +102,10 @@
   10.19      }
   10.20  
   10.21      public override Identifier Identifier {
   10.22 -      get { return new Identifier("amdcpu", processorIndex.ToString()); }
   10.23 +      get { 
   10.24 +        return new Identifier("amdcpu", 
   10.25 +          processorIndex.ToString(CultureInfo.InvariantCulture)); 
   10.26 +      }
   10.27      }
   10.28  
   10.29      public override HardwareType HardwareType {
    11.1 --- a/Hardware/CPU/CPUGroup.cs	Sun Aug 08 13:57:26 2010 +0000
    11.2 +++ b/Hardware/CPU/CPUGroup.cs	Thu Aug 12 20:53:27 2010 +0000
    11.3 @@ -37,6 +37,7 @@
    11.4  
    11.5  using System;
    11.6  using System.Collections.Generic;
    11.7 +using System.Globalization;
    11.8  using System.Diagnostics;
    11.9  using System.Text;
   11.10  
   11.11 @@ -153,10 +154,10 @@
   11.12      private void AppendCpuidData(StringBuilder r, uint[,] data, uint offset) {
   11.13        for (int i = 0; i < data.GetLength(0); i++) {
   11.14          r.Append(" ");
   11.15 -        r.Append((i + offset).ToString("X8"));
   11.16 +        r.Append((i + offset).ToString("X8", CultureInfo.InvariantCulture));
   11.17          for (int j = 0; j < 4; j++) {
   11.18            r.Append("  ");
   11.19 -          r.Append(data[i, j].ToString("X8"));
   11.20 +          r.Append(data[i, j].ToString("X8", CultureInfo.InvariantCulture));
   11.21          }
   11.22          r.AppendLine();
   11.23        }
   11.24 @@ -180,11 +181,14 @@
   11.25          r.AppendFormat("Processor Brand: {0}{1}", threads[i][0][0].BrandString,
   11.26            Environment.NewLine);
   11.27          r.AppendFormat("Family: 0x{0}{1}", 
   11.28 -          threads[i][0][0].Family.ToString("X"), Environment.NewLine);
   11.29 -        r.AppendFormat("Model: 0x{0}{1}", 
   11.30 -          threads[i][0][0].Model.ToString("X"), Environment.NewLine);
   11.31 -        r.AppendFormat("Stepping: 0x{0}{1}", 
   11.32 -          threads[i][0][0].Stepping.ToString("X"), Environment.NewLine);
   11.33 +          threads[i][0][0].Family.ToString("X", CultureInfo.InvariantCulture), 
   11.34 +          Environment.NewLine);
   11.35 +        r.AppendFormat("Model: 0x{0}{1}",
   11.36 +          threads[i][0][0].Model.ToString("X", CultureInfo.InvariantCulture), 
   11.37 +          Environment.NewLine);
   11.38 +        r.AppendFormat("Stepping: 0x{0}{1}",
   11.39 +          threads[i][0][0].Stepping.ToString("X", CultureInfo.InvariantCulture), 
   11.40 +          Environment.NewLine);
   11.41          r.AppendLine();
   11.42  
   11.43          r.AppendLine("CPUID Return Values");
    12.1 --- a/Hardware/CPU/CPULoad.cs	Sun Aug 08 13:57:26 2010 +0000
    12.2 +++ b/Hardware/CPU/CPULoad.cs	Thu Aug 12 20:53:27 2010 +0000
    12.3 @@ -127,10 +127,10 @@
    12.4        if (this.idleTimes == null)
    12.5          return;
    12.6  
    12.7 -      long systemTime = DateTime.Now.Ticks;
    12.8 -      long[] idleTimes = GetIdleTimes();
    12.9 +      long localSystemTime = DateTime.Now.Ticks;
   12.10 +      long[] localIdleTimes = GetIdleTimes();
   12.11  
   12.12 -      if (systemTime - this.systemTime < 10000)
   12.13 +      if (localSystemTime - this.systemTime < 10000)
   12.14          return;
   12.15  
   12.16        float total = 0;
   12.17 @@ -139,28 +139,28 @@
   12.18          float value = 0;
   12.19          for (int j = 0; j < cpuid[i].Length; j++) {
   12.20            long index = cpuid[i][j].Thread;
   12.21 -          if (index < idleTimes.Length) {
   12.22 -            long delta = idleTimes[index] - this.idleTimes[index];
   12.23 +          if (index < localIdleTimes.Length) {
   12.24 +            long delta = localIdleTimes[index] - this.idleTimes[index];
   12.25              value += delta;
   12.26              total += delta;
   12.27              count++;
   12.28            }
   12.29          }
   12.30          value = 1.0f - value / (cpuid[i].Length * 
   12.31 -          (systemTime - this.systemTime));
   12.32 +          (localSystemTime - this.systemTime));
   12.33          value = value < 0 ? 0 : value;
   12.34          coreLoads[i] = value * 100;
   12.35        }
   12.36        if (count > 0) {
   12.37 -        total = 1.0f - total / (count * (systemTime - this.systemTime));
   12.38 +        total = 1.0f - total / (count * (localSystemTime - this.systemTime));
   12.39          total = total < 0 ? 0 : total;
   12.40        } else {
   12.41          total = 0;
   12.42        }
   12.43        this.totalLoad = total * 100;
   12.44  
   12.45 -      this.systemTime = systemTime;
   12.46 -      this.idleTimes = idleTimes;
   12.47 +      this.systemTime = localSystemTime;
   12.48 +      this.idleTimes = localIdleTimes;
   12.49      }
   12.50  
   12.51    }
    13.1 --- a/Hardware/CPU/IntelCPU.cs	Sun Aug 08 13:57:26 2010 +0000
    13.2 +++ b/Hardware/CPU/IntelCPU.cs	Thu Aug 12 20:53:27 2010 +0000
    13.3 @@ -45,7 +45,7 @@
    13.4  using System.Text;
    13.5  
    13.6  namespace OpenHardwareMonitor.Hardware.CPU {
    13.7 -  internal class IntelCPU : Hardware, IHardware {
    13.8 +  internal sealed class IntelCPU : Hardware, IHardware {
    13.9  
   13.10      private int processorIndex;
   13.11      private CPUID[][] cpuid;
   13.12 @@ -243,7 +243,10 @@
   13.13      }
   13.14  
   13.15      public override Identifier Identifier {
   13.16 -      get { return new Identifier("intelcpu", processorIndex.ToString()); }
   13.17 +      get { 
   13.18 +        return new Identifier("intelcpu", 
   13.19 +          processorIndex.ToString(CultureInfo.InvariantCulture)); 
   13.20 +      }
   13.21      }
   13.22  
   13.23      public override HardwareType HardwareType {
   13.24 @@ -254,11 +257,11 @@
   13.25        uint eax, edx;
   13.26        if (WinRing0.RdmsrTx(msr, out eax, out edx, (UIntPtr)(1L << thread))) {
   13.27          r.Append(" ");
   13.28 -        r.Append((msr).ToString("X8"));
   13.29 +        r.Append((msr).ToString("X8", CultureInfo.InvariantCulture));
   13.30          r.Append("  ");
   13.31 -        r.Append((edx).ToString("X8"));
   13.32 +        r.Append((edx).ToString("X8", CultureInfo.InvariantCulture));
   13.33          r.Append("  ");
   13.34 -        r.Append((eax).ToString("X8"));
   13.35 +        r.Append((eax).ToString("X8", CultureInfo.InvariantCulture));
   13.36          r.AppendLine();
   13.37        }
   13.38      }
    14.1 --- a/Hardware/Computer.cs	Sun Aug 08 13:57:26 2010 +0000
    14.2 +++ b/Hardware/Computer.cs	Thu Aug 12 20:53:27 2010 +0000
    14.3 @@ -196,7 +196,7 @@
    14.4  
    14.5      public string GetReport() {
    14.6  
    14.7 -      using (StringWriter w = new StringWriter()) {
    14.8 +      using (StringWriter w = new StringWriter(CultureInfo.InvariantCulture)) {
    14.9  
   14.10          w.WriteLine();
   14.11          w.WriteLine("Open Hardware Monitor Report");
   14.12 @@ -266,7 +266,8 @@
   14.13      public event HardwareEventHandler HardwareRemoved;
   14.14  
   14.15      public void Accept(IVisitor visitor) {
   14.16 -      visitor.VisitComputer(this);
   14.17 +      if (visitor != null)
   14.18 +        visitor.VisitComputer(this);
   14.19      }
   14.20  
   14.21      public void Traverse(IVisitor visitor) {
   14.22 @@ -281,9 +282,9 @@
   14.23          return false;
   14.24        }
   14.25  
   14.26 -      public void Set(string name, string value) { }
   14.27 +      public void SetValue(string name, string value) { }
   14.28  
   14.29 -      public string Get(string name, string value) {
   14.30 +      public string GetValue(string name, string value) {
   14.31          return value;
   14.32        }
   14.33  
    15.1 --- a/Hardware/HDD/HDD.cs	Sun Aug 08 13:57:26 2010 +0000
    15.2 +++ b/Hardware/HDD/HDD.cs	Thu Aug 12 20:53:27 2010 +0000
    15.3 @@ -37,6 +37,7 @@
    15.4  
    15.5  using System;
    15.6  using System.Collections.Generic;
    15.7 +using System.Globalization;
    15.8  
    15.9  namespace OpenHardwareMonitor.Hardware.HDD {
   15.10    internal class HDD : IHardware {
   15.11 @@ -70,7 +71,10 @@
   15.12      }
   15.13  
   15.14      public Identifier Identifier {
   15.15 -      get { return new Identifier("hdd", drive.ToString()); }
   15.16 +      get { 
   15.17 +        return new Identifier("hdd", 
   15.18 +          drive.ToString(CultureInfo.InvariantCulture)); 
   15.19 +      }
   15.20      }
   15.21  
   15.22      public HardwareType HardwareType {
   15.23 @@ -113,7 +117,8 @@
   15.24      #pragma warning restore 67    
   15.25  
   15.26      public void Accept(IVisitor visitor) {
   15.27 -      visitor.VisitHardware(this);
   15.28 +      if (visitor != null)
   15.29 +        visitor.VisitHardware(this);
   15.30      }
   15.31  
   15.32      public void Traverse(IVisitor visitor) { }
    16.1 --- a/Hardware/Hardware.cs	Sun Aug 08 13:57:26 2010 +0000
    16.2 +++ b/Hardware/Hardware.cs	Thu Aug 12 20:53:27 2010 +0000
    16.3 @@ -80,7 +80,8 @@
    16.4      public abstract void Update();
    16.5  
    16.6      public void Accept(IVisitor visitor) {
    16.7 -      visitor.VisitHardware(this);
    16.8 +      if (visitor != null)
    16.9 +        visitor.VisitHardware(this);
   16.10      }
   16.11  
   16.12      public void Traverse(IVisitor visitor) {
    17.1 --- a/Hardware/ISettings.cs	Sun Aug 08 13:57:26 2010 +0000
    17.2 +++ b/Hardware/ISettings.cs	Thu Aug 12 20:53:27 2010 +0000
    17.3 @@ -43,9 +43,9 @@
    17.4  
    17.5      bool Contains(string name);
    17.6      
    17.7 -    void Set(string name, string value);
    17.8 +    void SetValue(string name, string value);
    17.9      
   17.10 -    string Get(string name, string value);
   17.11 +    string GetValue(string name, string value);
   17.12      
   17.13      void Remove(string name);
   17.14    }
    18.1 --- a/Hardware/LPC/F718XX.cs	Sun Aug 08 13:57:26 2010 +0000
    18.2 +++ b/Hardware/LPC/F718XX.cs	Thu Aug 12 20:53:27 2010 +0000
    18.3 @@ -37,6 +37,7 @@
    18.4  
    18.5  using System;
    18.6  using System.Collections.Generic;
    18.7 +using System.Globalization;
    18.8  using System.Text;
    18.9  
   18.10  namespace OpenHardwareMonitor.Hardware.LPC {
   18.11 @@ -84,7 +85,8 @@
   18.12  
   18.13        r.AppendLine("LPC " + this.GetType().Name);
   18.14        r.AppendLine();
   18.15 -      r.Append("Base Adress: 0x"); r.AppendLine(address.ToString("X4"));
   18.16 +      r.Append("Base Adress: 0x"); 
   18.17 +      r.AppendLine(address.ToString("X4", CultureInfo.InvariantCulture));
   18.18        r.AppendLine();
   18.19  
   18.20        if (!WinRing0.WaitIsaBusMutex(100))
   18.21 @@ -95,10 +97,13 @@
   18.22        r.AppendLine("      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
   18.23        r.AppendLine();
   18.24        for (int i = 0; i <= 0xF; i++) {
   18.25 -        r.Append(" "); r.Append((i << 4).ToString("X2")); r.Append("  ");
   18.26 +        r.Append(" "); 
   18.27 +        r.Append((i << 4).ToString("X2", CultureInfo.InvariantCulture)); 
   18.28 +        r.Append("  ");
   18.29          for (int j = 0; j <= 0xF; j++) {
   18.30            r.Append(" ");
   18.31 -          r.Append(ReadByte((byte)((i << 4) | j)).ToString("X2"));
   18.32 +          r.Append(ReadByte((byte)((i << 4) | j)).ToString("X2", 
   18.33 +            CultureInfo.InvariantCulture));
   18.34          }
   18.35          r.AppendLine();
   18.36        }
    19.1 --- a/Hardware/LPC/IT87XX.cs	Sun Aug 08 13:57:26 2010 +0000
    19.2 +++ b/Hardware/LPC/IT87XX.cs	Thu Aug 12 20:53:27 2010 +0000
    19.3 @@ -37,6 +37,7 @@
    19.4  
    19.5  using System;
    19.6  using System.Collections.Generic;
    19.7 +using System.Globalization;
    19.8  using System.Text;
    19.9  
   19.10  namespace OpenHardwareMonitor.Hardware.LPC {
   19.11 @@ -114,8 +115,10 @@
   19.12        r.AppendLine("LPC " + this.GetType().Name);
   19.13        r.AppendLine();
   19.14        r.Append("Chip ID: 0x"); r.AppendLine(chip.ToString("X"));
   19.15 -      r.Append("Chip Version: 0x"); r.AppendLine(version.ToString("X"));
   19.16 -      r.Append("Base Address: 0x"); r.AppendLine(address.ToString("X4"));
   19.17 +      r.Append("Chip Version: 0x"); r.AppendLine(
   19.18 +        version.ToString("X", CultureInfo.InvariantCulture));
   19.19 +      r.Append("Base Address: 0x"); r.AppendLine(
   19.20 +        address.ToString("X4", CultureInfo.InvariantCulture));
   19.21        r.AppendLine();
   19.22  
   19.23        if (!WinRing0.WaitIsaBusMutex(100))
   19.24 @@ -126,13 +129,15 @@
   19.25        r.AppendLine("      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
   19.26        r.AppendLine();
   19.27        for (int i = 0; i <= 0xA; i++) {
   19.28 -        r.Append(" "); r.Append((i << 4).ToString("X2")); r.Append("  ");
   19.29 +        r.Append(" "); 
   19.30 +        r.Append((i << 4).ToString("X2", CultureInfo.InvariantCulture)); 
   19.31 +        r.Append("  ");
   19.32          for (int j = 0; j <= 0xF; j++) {
   19.33            r.Append(" ");
   19.34            bool valid;
   19.35            byte value = ReadByte((byte)((i << 4) | j), out valid);
   19.36            if (valid)
   19.37 -            r.Append(value.ToString("X2"));
   19.38 +            r.Append(value.ToString("X2", CultureInfo.InvariantCulture));
   19.39            else
   19.40              r.Append("??");
   19.41          }
    20.1 --- a/Hardware/LPC/LMSensors.cs	Sun Aug 08 13:57:26 2010 +0000
    20.2 +++ b/Hardware/LPC/LMSensors.cs	Thu Aug 12 20:53:27 2010 +0000
    20.3 @@ -37,6 +37,7 @@
    20.4  
    20.5  using System;
    20.6  using System.Collections.Generic;
    20.7 +using System.Globalization;
    20.8  using System.IO;
    20.9  
   20.10  namespace OpenHardwareMonitor.Hardware.LPC {
   20.11 @@ -151,7 +152,8 @@
   20.12            voltageReaders[i].BaseStream.Seek(0, SeekOrigin.Begin);
   20.13            string s = voltageReaders[i].ReadLine();
   20.14            try {
   20.15 -            voltages[i] = 0.001f * long.Parse(s);
   20.16 +            voltages[i] = 0.001f * 
   20.17 +              long.Parse(s, CultureInfo.InvariantCulture);
   20.18            } catch {
   20.19              voltages[i] = null;
   20.20            }
   20.21 @@ -161,7 +163,8 @@
   20.22            temperatureReaders[i].BaseStream.Seek(0, SeekOrigin.Begin);
   20.23            string s = temperatureReaders[i].ReadLine();
   20.24            try {
   20.25 -            temperatures[i] = 0.001f * long.Parse(s);
   20.26 +            temperatures[i] = 0.001f * 
   20.27 +              long.Parse(s, CultureInfo.InvariantCulture);
   20.28            } catch {
   20.29              temperatures[i] = null;
   20.30            }
   20.31 @@ -171,7 +174,7 @@
   20.32            fanReaders[i].BaseStream.Seek(0, SeekOrigin.Begin);
   20.33            string s = fanReaders[i].ReadLine();
   20.34            try {
   20.35 -            fans[i] = long.Parse(s);
   20.36 +            fans[i] = long.Parse(s, CultureInfo.InvariantCulture);
   20.37            } catch {
   20.38              fans[i] = null;
   20.39            }
    21.1 --- a/Hardware/LPC/LPCIO.cs	Sun Aug 08 13:57:26 2010 +0000
    21.2 +++ b/Hardware/LPC/LPCIO.cs	Thu Aug 12 20:53:27 2010 +0000
    21.3 @@ -37,6 +37,7 @@
    21.4  
    21.5  using System;
    21.6  using System.Collections.Generic;
    21.7 +using System.Globalization;
    21.8  using System.Text;
    21.9  using System.Threading;
   21.10  
   21.11 @@ -238,7 +239,8 @@
   21.12              WinbondFintekExit();
   21.13  
   21.14              report.Append("Chip ID: Unknown Winbond / Fintek with ID 0x");
   21.15 -            report.AppendLine(((id << 8) | revision).ToString("X"));
   21.16 +            report.AppendLine(((id << 8) | revision).ToString("X", 
   21.17 +              CultureInfo.InvariantCulture));
   21.18              report.AppendLine();
   21.19            }
   21.20          } else {
   21.21 @@ -256,7 +258,7 @@
   21.22              report.Append("Chip ID: 0x");
   21.23              report.AppendLine(chip.ToString("X"));
   21.24              report.Append("Chip revision: 0x");
   21.25 -            report.AppendLine(revision.ToString("X"));
   21.26 +            report.AppendLine(revision.ToString("X", CultureInfo.InvariantCulture));
   21.27              report.AppendLine("Error: Address verification failed");
   21.28              report.AppendLine();
   21.29              return;
   21.30 @@ -270,9 +272,9 @@
   21.31              report.Append("Chip ID: 0x");
   21.32              report.AppendLine(chip.ToString("X"));
   21.33              report.Append("Chip revision: 0x");
   21.34 -            report.AppendLine(revision.ToString("X"));
   21.35 +            report.AppendLine(revision.ToString("X", CultureInfo.InvariantCulture));
   21.36              report.Append("Error: Invalid address 0x");
   21.37 -            report.AppendLine(address.ToString("X"));
   21.38 +            report.AppendLine(address.ToString("X", CultureInfo.InvariantCulture));
   21.39              report.AppendLine();
   21.40              return;
   21.41            }
   21.42 @@ -298,9 +300,9 @@
   21.43                  report.Append("Chip ID: 0x");
   21.44                  report.AppendLine(chip.ToString("X"));
   21.45                  report.Append("Chip revision: 0x");
   21.46 -                report.AppendLine(revision.ToString("X"));
   21.47 +                report.AppendLine(revision.ToString("X", CultureInfo.InvariantCulture));
   21.48                  report.Append("Error: Invalid vendor ID 0x");
   21.49 -                report.AppendLine(vendorID.ToString("X"));
   21.50 +                report.AppendLine(vendorID.ToString("X", CultureInfo.InvariantCulture));
   21.51                  report.AppendLine();
   21.52                  return;
   21.53                }
   21.54 @@ -328,7 +330,7 @@
   21.55              IT87Exit();
   21.56  
   21.57              report.Append("Chip ID: Unknown ITE with ID 0x");
   21.58 -            report.AppendLine(chipID.ToString("X"));
   21.59 +            report.AppendLine(chipID.ToString("X", CultureInfo.InvariantCulture));
   21.60              report.AppendLine();
   21.61            }
   21.62          } else {
   21.63 @@ -345,7 +347,7 @@
   21.64              report.Append("Chip ID: 0x");
   21.65              report.AppendLine(chip.ToString("X"));
   21.66              report.Append("Error: Invalid address 0x");
   21.67 -            report.AppendLine(address.ToString("X"));
   21.68 +            report.AppendLine(address.ToString("X", CultureInfo.InvariantCulture));
   21.69              report.AppendLine();
   21.70              return;
   21.71            }
   21.72 @@ -366,7 +368,7 @@
   21.73              SMSCExit();
   21.74  
   21.75              report.Append("Chip ID: Unknown SMSC with ID 0x");
   21.76 -            report.AppendLine(chipID.ToString("X"));
   21.77 +            report.AppendLine(chipID.ToString("X", CultureInfo.InvariantCulture));
   21.78              report.AppendLine();
   21.79            }
   21.80          } else {
    22.1 --- a/Hardware/LPC/W836XX.cs	Sun Aug 08 13:57:26 2010 +0000
    22.2 +++ b/Hardware/LPC/W836XX.cs	Thu Aug 12 20:53:27 2010 +0000
    22.3 @@ -37,6 +37,7 @@
    22.4  
    22.5  using System;
    22.6  using System.Collections.Generic;
    22.7 +using System.Globalization;
    22.8  using System.Text;
    22.9  
   22.10  namespace OpenHardwareMonitor.Hardware.LPC {
   22.11 @@ -291,8 +292,10 @@
   22.12        r.AppendLine("LPC " + this.GetType().Name);
   22.13        r.AppendLine();
   22.14        r.Append("Chip ID: 0x"); r.AppendLine(chip.ToString("X"));
   22.15 -      r.Append("Chip revision: 0x"); r.AppendLine(revision.ToString("X"));
   22.16 -      r.Append("Base Adress: 0x"); r.AppendLine(address.ToString("X4"));
   22.17 +      r.Append("Chip revision: 0x");
   22.18 +      r.AppendLine(revision.ToString("X", CultureInfo.InvariantCulture));
   22.19 +      r.Append("Base Adress: 0x");
   22.20 +      r.AppendLine(address.ToString("X4", CultureInfo.InvariantCulture));
   22.21        r.AppendLine();
   22.22  
   22.23        if (!WinRing0.WaitIsaBusMutex(100))
   22.24 @@ -303,21 +306,26 @@
   22.25        r.AppendLine("      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
   22.26        r.AppendLine();
   22.27        for (int i = 0; i <= 0x7; i++) {
   22.28 -        r.Append(" "); r.Append((i << 4).ToString("X2")); r.Append("  ");
   22.29 +        r.Append(" ");
   22.30 +        r.Append((i << 4).ToString("X2", CultureInfo.InvariantCulture)); 
   22.31 +        r.Append("  ");
   22.32          for (int j = 0; j <= 0xF; j++) {
   22.33            r.Append(" ");
   22.34 -          r.Append(ReadByte(0, (byte)((i << 4) | j)).ToString("X2"));
   22.35 +          r.Append(ReadByte(0, (byte)((i << 4) | j)).ToString(
   22.36 +            "X2", CultureInfo.InvariantCulture));
   22.37          }
   22.38          r.AppendLine();
   22.39        }
   22.40        for (int k = 1; k <= 15; k++) {
   22.41          r.AppendLine("Bank " + k);
   22.42          for (int i = 0x5; i < 0x6; i++) {
   22.43 -          r.Append(" "); r.Append((i << 4).ToString("X2")); r.Append("  ");
   22.44 +          r.Append(" "); 
   22.45 +          r.Append((i << 4).ToString("X2", CultureInfo.InvariantCulture)); 
   22.46 +          r.Append("  ");
   22.47            for (int j = 0; j <= 0xF; j++) {
   22.48              r.Append(" ");
   22.49 -            r.Append(ReadByte((byte)(k),
   22.50 -              (byte)((i << 4) | j)).ToString("X2"));
   22.51 +            r.Append(ReadByte((byte)(k), (byte)((i << 4) | j)).ToString(
   22.52 +              "X2", CultureInfo.InvariantCulture));
   22.53            }
   22.54            r.AppendLine();
   22.55          }
    23.1 --- a/Hardware/Mainboard/Mainboard.cs	Sun Aug 08 13:57:26 2010 +0000
    23.2 +++ b/Hardware/Mainboard/Mainboard.cs	Thu Aug 12 20:53:27 2010 +0000
    23.3 @@ -131,7 +131,8 @@
    23.4      #pragma warning restore 67
    23.5  
    23.6      public void Accept(IVisitor visitor) {
    23.7 -      visitor.VisitHardware(this);
    23.8 +      if (visitor != null)
    23.9 +        visitor.VisitHardware(this);
   23.10      }
   23.11  
   23.12      public void Traverse(IVisitor visitor) {
    24.1 --- a/Hardware/Mainboard/SuperIOHardware.cs	Sun Aug 08 13:57:26 2010 +0000
    24.2 +++ b/Hardware/Mainboard/SuperIOHardware.cs	Thu Aug 12 20:53:27 2010 +0000
    24.3 @@ -37,6 +37,7 @@
    24.4  
    24.5  using System;
    24.6  using System.Collections.Generic;
    24.7 +using System.Globalization;
    24.8  using OpenHardwareMonitor.Hardware.LPC;
    24.9  
   24.10  namespace OpenHardwareMonitor.Hardware.Mainboard {
   24.11 @@ -593,7 +594,10 @@
   24.12      }
   24.13  
   24.14      public override Identifier Identifier {
   24.15 -      get { return new Identifier("lpc", superIO.Chip.ToString().ToLower()); }
   24.16 +      get { 
   24.17 +        return new Identifier("lpc", 
   24.18 +          superIO.Chip.ToString().ToLower(CultureInfo.InvariantCulture)); 
   24.19 +      }
   24.20      }
   24.21  
   24.22      public override HardwareType HardwareType {
    25.1 --- a/Hardware/Nvidia/NvidiaGPU.cs	Sun Aug 08 13:57:26 2010 +0000
    25.2 +++ b/Hardware/Nvidia/NvidiaGPU.cs	Thu Aug 12 20:53:27 2010 +0000
    25.3 @@ -37,6 +37,7 @@
    25.4  
    25.5  using System;
    25.6  using System.Collections.Generic;
    25.7 +using System.Globalization;
    25.8  using System.Text;
    25.9  
   25.10  namespace OpenHardwareMonitor.Hardware.Nvidia {
   25.11 @@ -115,7 +116,10 @@
   25.12      }
   25.13  
   25.14      public override Identifier Identifier {
   25.15 -      get { return new Identifier("nvidiagpu", adapterIndex.ToString()); }
   25.16 +      get { 
   25.17 +        return new Identifier("nvidiagpu", 
   25.18 +          adapterIndex.ToString(CultureInfo.InvariantCulture)); 
   25.19 +      }
   25.20      }
   25.21  
   25.22      public override HardwareType HardwareType {
   25.23 @@ -136,12 +140,12 @@
   25.24      }
   25.25  
   25.26      private uint[] GetClocks() {
   25.27 -      NvClocks clocks = new NvClocks();
   25.28 -      clocks.Version = NVAPI.GPU_CLOCKS_VER;
   25.29 -      clocks.Clock = new uint[NVAPI.MAX_CLOCKS_PER_GPU];
   25.30 +      NvClocks allClocks = new NvClocks();
   25.31 +      allClocks.Version = NVAPI.GPU_CLOCKS_VER;
   25.32 +      allClocks.Clock = new uint[NVAPI.MAX_CLOCKS_PER_GPU];
   25.33        if (NVAPI.NvAPI_GPU_GetAllClocks != null &&
   25.34 -        NVAPI.NvAPI_GPU_GetAllClocks(handle, ref clocks) == NvStatus.OK) {
   25.35 -        return clocks.Clock;
   25.36 +        NVAPI.NvAPI_GPU_GetAllClocks(handle, ref allClocks) == NvStatus.OK) {
   25.37 +        return allClocks.Clock;
   25.38        }
   25.39        return null;
   25.40      }
   25.41 @@ -235,7 +239,7 @@
   25.42            r.Append("Driver Version: ");
   25.43            r.Append(driverVersion.DriverVersion / 100);
   25.44            r.Append(".");
   25.45 -          r.Append((driverVersion.DriverVersion % 100).ToString("00"));
   25.46 +          r.Append((driverVersion.DriverVersion % 100).ToString("00", CultureInfo.InvariantCulture));
   25.47            r.AppendLine();
   25.48            r.Append("Driver Branch: ");
   25.49            r.AppendLine(driverVersion.BuildBranch);
   25.50 @@ -275,17 +279,17 @@
   25.51        }      
   25.52  
   25.53        if (NVAPI.NvAPI_GPU_GetAllClocks != null) {
   25.54 -        NvClocks clocks = new NvClocks();
   25.55 -        clocks.Version = NVAPI.GPU_CLOCKS_VER;
   25.56 -        clocks.Clock = new uint[NVAPI.MAX_CLOCKS_PER_GPU];
   25.57 -        NvStatus status = NVAPI.NvAPI_GPU_GetAllClocks(handle, ref clocks);
   25.58 +        NvClocks allClocks = new NvClocks();
   25.59 +        allClocks.Version = NVAPI.GPU_CLOCKS_VER;
   25.60 +        allClocks.Clock = new uint[NVAPI.MAX_CLOCKS_PER_GPU];
   25.61 +        NvStatus status = NVAPI.NvAPI_GPU_GetAllClocks(handle, ref allClocks);
   25.62  
   25.63          r.AppendLine("Clocks");
   25.64          r.AppendLine();
   25.65          if (status == NvStatus.OK) {
   25.66 -          for (int i = 0; i < clocks.Clock.Length; i++)
   25.67 -            if (clocks.Clock[i] > 0) {
   25.68 -              r.AppendFormat(" Clock[{0}]: {1}{2}", i, clocks.Clock[i],
   25.69 +          for (int i = 0; i < allClocks.Clock.Length; i++)
   25.70 +            if (allClocks.Clock[i] > 0) {
   25.71 +              r.AppendFormat(" Clock[{0}]: {1}{2}", i, allClocks.Clock[i],
   25.72                  Environment.NewLine);
   25.73              }
   25.74          } else {
    26.1 --- a/Hardware/Nvidia/NvidiaGroup.cs	Sun Aug 08 13:57:26 2010 +0000
    26.2 +++ b/Hardware/Nvidia/NvidiaGroup.cs	Thu Aug 12 20:53:27 2010 +0000
    26.3 @@ -37,6 +37,7 @@
    26.4  
    26.5  using System;
    26.6  using System.Collections.Generic;
    26.7 +using System.Globalization;
    26.8  using System.Text;
    26.9  
   26.10  namespace OpenHardwareMonitor.Hardware.Nvidia {
   26.11 @@ -104,7 +105,7 @@
   26.12        }
   26.13  
   26.14        report.Append("Number of GPUs: ");
   26.15 -      report.AppendLine(count.ToString());      
   26.16 +      report.AppendLine(count.ToString(CultureInfo.InvariantCulture));      
   26.17        
   26.18        for (int i = 0; i < count; i++) {    
   26.19          NvDisplayHandle displayHandle;
    27.1 --- a/Hardware/Parameter.cs	Sun Aug 08 13:57:26 2010 +0000
    27.2 +++ b/Hardware/Parameter.cs	Thu Aug 12 20:53:27 2010 +0000
    27.3 @@ -36,6 +36,7 @@
    27.4  */
    27.5  
    27.6  using System;
    27.7 +using System.Globalization;
    27.8  using System.Collections.Generic;
    27.9  
   27.10  namespace OpenHardwareMonitor.Hardware {
   27.11 @@ -75,9 +76,9 @@
   27.12        this.isDefault = !settings.Contains(Identifier.ToString());
   27.13        this.value = description.DefaultValue;
   27.14        if (!this.isDefault) {
   27.15 -        if (!float.TryParse(settings.Get(Identifier.ToString(), "0"),
   27.16 -          System.Globalization.NumberStyles.Float,
   27.17 -          System.Globalization.CultureInfo.InvariantCulture,
   27.18 +        if (!float.TryParse(settings.GetValue(Identifier.ToString(), "0"),
   27.19 +          NumberStyles.Float,
   27.20 +          CultureInfo.InvariantCulture,
   27.21            out this.value))
   27.22            this.value = description.DefaultValue;
   27.23        }
   27.24 @@ -91,8 +92,8 @@
   27.25  
   27.26      public Identifier Identifier {
   27.27        get {
   27.28 -        return new Identifier(sensor.Identifier, "parameter", 
   27.29 -          Name.Replace(" ", "").ToLower());
   27.30 +        return new Identifier(sensor.Identifier, "parameter",
   27.31 +          Name.Replace(" ", "").ToLowerInvariant());
   27.32        }
   27.33      }
   27.34  
   27.35 @@ -107,8 +108,8 @@
   27.36        set {
   27.37          this.isDefault = false;
   27.38          this.value = value;
   27.39 -        this.settings.Set(Identifier.ToString(), value.ToString(
   27.40 -          System.Globalization.CultureInfo.InvariantCulture.NumberFormat));
   27.41 +        this.settings.SetValue(Identifier.ToString(), value.ToString(
   27.42 +          CultureInfo.InvariantCulture));
   27.43        }
   27.44      }
   27.45  
   27.46 @@ -128,7 +129,8 @@
   27.47      }
   27.48  
   27.49      public void Accept(IVisitor visitor) {
   27.50 -      visitor.VisitParameter(this);
   27.51 +      if (visitor != null)
   27.52 +        visitor.VisitParameter(this);
   27.53      }
   27.54  
   27.55      public void Traverse(IVisitor visitor) { }
    28.1 --- a/Hardware/Sensor.cs	Sun Aug 08 13:57:26 2010 +0000
    28.2 +++ b/Hardware/Sensor.cs	Thu Aug 12 20:53:27 2010 +0000
    28.3 @@ -37,6 +37,7 @@
    28.4  
    28.5  using System;
    28.6  using System.Collections.Generic;
    28.7 +using System.Globalization;
    28.8  using OpenHardwareMonitor.Collections;
    28.9  
   28.10  namespace OpenHardwareMonitor.Hardware {
   28.11 @@ -88,7 +89,7 @@
   28.12  
   28.13        this.settings = settings;
   28.14        this.defaultName = name; 
   28.15 -      this.name = settings.Get(
   28.16 +      this.name = settings.GetValue(
   28.17          new Identifier(Identifier, "name").ToString(), name);
   28.18      }
   28.19  
   28.20 @@ -102,8 +103,9 @@
   28.21  
   28.22      public Identifier Identifier {
   28.23        get {
   28.24 -        return new Identifier(hardware.Identifier, 
   28.25 -          sensorType.ToString().ToLower(), index.ToString());
   28.26 +        return new Identifier(hardware.Identifier,
   28.27 +          sensorType.ToString().ToLowerInvariant(),
   28.28 +          index.ToString(CultureInfo.InvariantCulture));
   28.29        }
   28.30      }
   28.31  
   28.32 @@ -116,7 +118,7 @@
   28.33            name = value;          
   28.34          else 
   28.35            name = defaultName;
   28.36 -        settings.Set(new Identifier(Identifier, "name").ToString(), name);
   28.37 +        settings.SetValue(new Identifier(Identifier, "name").ToString(), name);
   28.38        }
   28.39      }
   28.40  
   28.41 @@ -175,7 +177,8 @@
   28.42      }    
   28.43  
   28.44      public void Accept(IVisitor visitor) {
   28.45 -      visitor.VisitSensor(this);
   28.46 +      if (visitor != null)
   28.47 +        visitor.VisitSensor(this);
   28.48      }
   28.49  
   28.50      public void Traverse(IVisitor visitor) {
    29.1 --- a/Hardware/TBalancer/TBalancer.cs	Sun Aug 08 13:57:26 2010 +0000
    29.2 +++ b/Hardware/TBalancer/TBalancer.cs	Thu Aug 12 20:53:27 2010 +0000
    29.3 @@ -38,6 +38,7 @@
    29.4  using System;
    29.5  using System.Collections.Generic;
    29.6  using System.Configuration;
    29.7 +using System.Globalization;
    29.8  using System.Text;
    29.9  
   29.10  namespace OpenHardwareMonitor.Hardware.TBalancer {
   29.11 @@ -276,7 +277,10 @@
   29.12      }
   29.13  
   29.14      public Identifier Identifier {
   29.15 -      get { return new Identifier("bigng", this.portIndex.ToString()); }
   29.16 +      get { 
   29.17 +        return new Identifier("bigng",
   29.18 +          this.portIndex.ToString(CultureInfo.InvariantCulture));
   29.19 +      }
   29.20      }
   29.21  
   29.22      public IHardware[] SubHardware {
   29.23 @@ -292,7 +296,8 @@
   29.24  
   29.25        r.AppendLine("T-Balancer bigNG");
   29.26        r.AppendLine();
   29.27 -      r.Append("Port Index: "); r.AppendLine(portIndex.ToString());
   29.28 +      r.Append("Port Index: "); 
   29.29 +      r.AppendLine(portIndex.ToString(CultureInfo.InvariantCulture));
   29.30        r.AppendLine();
   29.31  
   29.32        r.AppendLine("Primary System Information Answer");
   29.33 @@ -300,12 +305,14 @@
   29.34        r.AppendLine("       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
   29.35        r.AppendLine();
   29.36        for (int i = 0; i <= 0x11; i++) {
   29.37 -        r.Append(" "); r.Append((i << 4).ToString("X3")); r.Append("  ");
   29.38 +        r.Append(" "); 
   29.39 +        r.Append((i << 4).ToString("X3", CultureInfo.InvariantCulture)); 
   29.40 +        r.Append("  ");
   29.41          for (int j = 0; j <= 0xF; j++) {
   29.42            int index = ((i << 4) | j);
   29.43            if (index < primaryData.Length) {
   29.44              r.Append(" ");
   29.45 -            r.Append(primaryData[index].ToString("X2"));
   29.46 +            r.Append(primaryData[index].ToString("X2", CultureInfo.InvariantCulture));
   29.47            }          
   29.48          }
   29.49          r.AppendLine();
   29.50 @@ -318,12 +325,14 @@
   29.51          r.AppendLine("       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
   29.52          r.AppendLine();
   29.53          for (int i = 0; i <= 0x11; i++) {
   29.54 -          r.Append(" "); r.Append((i << 4).ToString("X3")); r.Append("  ");
   29.55 +          r.Append(" "); 
   29.56 +          r.Append((i << 4).ToString("X3", CultureInfo.InvariantCulture)); 
   29.57 +          r.Append("  ");
   29.58            for (int j = 0; j <= 0xF; j++) {
   29.59              int index = ((i << 4) | j);
   29.60              if (index < alternativeData.Length) {
   29.61                r.Append(" ");
   29.62 -              r.Append(alternativeData[index].ToString("X2"));
   29.63 +              r.Append(alternativeData[index].ToString("X2", CultureInfo.InvariantCulture));
   29.64              }
   29.65            }
   29.66            r.AppendLine();
   29.67 @@ -367,7 +376,8 @@
   29.68      public event SensorEventHandler SensorRemoved;
   29.69  
   29.70      public void Accept(IVisitor visitor) {
   29.71 -      visitor.VisitHardware(this);
   29.72 +      if (visitor != null)
   29.73 +        visitor.VisitHardware(this);
   29.74      }
   29.75  
   29.76      public void Traverse(IVisitor visitor) { }
    30.1 --- a/Hardware/TBalancer/TBalancerGroup.cs	Sun Aug 08 13:57:26 2010 +0000
    30.2 +++ b/Hardware/TBalancer/TBalancerGroup.cs	Thu Aug 12 20:53:27 2010 +0000
    30.3 @@ -37,6 +37,7 @@
    30.4  
    30.5  using System;
    30.6  using System.Collections.Generic;
    30.7 +using System.Globalization;
    30.8  using System.IO;
    30.9  using System.IO.Ports;
   30.10  using System.Text;
   30.11 @@ -62,7 +63,8 @@
   30.12        FTD2XX.FT_GetDeviceInfoList(info, ref numDevices);
   30.13  
   30.14        for (int i = 0; i < numDevices; i++) {
   30.15 -        report.Append("Device Index: "); report.AppendLine(i.ToString());
   30.16 +        report.Append("Device Index: ");
   30.17 +        report.AppendLine(i.ToString(CultureInfo.InvariantCulture));
   30.18          
   30.19          FT_HANDLE handle;
   30.20          FT_STATUS status;
   30.21 @@ -112,7 +114,8 @@
   30.22                protocolVersion = data[274];
   30.23                if (!isValid) {
   30.24                  report.Append("Status: Wrong Protocol Version: 0x");
   30.25 -                report.AppendLine(protocolVersion.ToString("X"));
   30.26 +                report.AppendLine(
   30.27 +                  protocolVersion.ToString("X", CultureInfo.InvariantCulture));
   30.28                }
   30.29              } else {
   30.30                report.AppendLine("Status: Wrong Message Length: " + length);
    31.1 --- a/OpenHardwareMonitor.csproj	Sun Aug 08 13:57:26 2010 +0000
    31.2 +++ b/OpenHardwareMonitor.csproj	Thu Aug 12 20:53:27 2010 +0000
    31.3 @@ -1,5 +1,5 @@
    31.4  <?xml version="1.0" encoding="utf-8"?>
    31.5 -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
    31.6 +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
    31.7    <PropertyGroup>
    31.8      <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    31.9      <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
   31.10 @@ -15,6 +15,25 @@
   31.11      <ApplicationIcon>Resources\icon.ico</ApplicationIcon>
   31.12      <ApplicationManifest>Resources\app.manifest</ApplicationManifest>
   31.13      <StartupObject>OpenHardwareMonitor.Program</StartupObject>
   31.14 +    <FileUpgradeFlags>
   31.15 +    </FileUpgradeFlags>
   31.16 +    <OldToolsVersion>3.5</OldToolsVersion>
   31.17 +    <UpgradeBackupLocation />
   31.18 +    <PublishUrl>publish\</PublishUrl>
   31.19 +    <Install>true</Install>
   31.20 +    <InstallFrom>Disk</InstallFrom>
   31.21 +    <UpdateEnabled>false</UpdateEnabled>
   31.22 +    <UpdateMode>Foreground</UpdateMode>
   31.23 +    <UpdateInterval>7</UpdateInterval>
   31.24 +    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
   31.25 +    <UpdatePeriodically>false</UpdatePeriodically>
   31.26 +    <UpdateRequired>false</UpdateRequired>
   31.27 +    <MapFileExtensions>true</MapFileExtensions>
   31.28 +    <ApplicationRevision>0</ApplicationRevision>
   31.29 +    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
   31.30 +    <IsWebBootstrapper>false</IsWebBootstrapper>
   31.31 +    <UseApplicationTrust>false</UseApplicationTrust>
   31.32 +    <BootstrapperEnabled>true</BootstrapperEnabled>
   31.33    </PropertyGroup>
   31.34    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
   31.35      <DebugSymbols>true</DebugSymbols>
   31.36 @@ -25,6 +44,7 @@
   31.37      <ErrorReport>prompt</ErrorReport>
   31.38      <WarningLevel>4</WarningLevel>
   31.39      <UseVSHostingProcess>false</UseVSHostingProcess>
   31.40 +    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   31.41    </PropertyGroup>
   31.42    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
   31.43      <DebugType>none</DebugType>
   31.44 @@ -34,17 +54,7 @@
   31.45      <ErrorReport>prompt</ErrorReport>
   31.46      <WarningLevel>4</WarningLevel>
   31.47      <UseVSHostingProcess>false</UseVSHostingProcess>
   31.48 -  </PropertyGroup>
   31.49 -  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Merge|AnyCPU' ">
   31.50 -    <OutputPath>bin\Merge\</OutputPath>
   31.51 -    <DefineConstants>TRACE</DefineConstants>
   31.52 -    <Optimize>true</Optimize>
   31.53 -    <PlatformTarget>AnyCPU</PlatformTarget>
   31.54 -    <UseVSHostingProcess>false</UseVSHostingProcess>
   31.55 -    <ErrorReport>prompt</ErrorReport>
   31.56 -    <OutputType>Module</OutputType>
   31.57 -    <DebugType>none</DebugType>
   31.58 -    <WarningLevel>4</WarningLevel>
   31.59 +    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   31.60    </PropertyGroup>
   31.61    <ItemGroup>
   31.62      <Reference Include="System" />
   31.63 @@ -94,6 +104,7 @@
   31.64      <Compile Include="GUI\UnitManager.cs" />
   31.65      <Compile Include="GUI\UpdateVisitor.cs" />
   31.66      <Compile Include="GUI\UserOption.cs" />
   31.67 +    <Compile Include="Properties\AssemblyVersion.cs" />
   31.68      <Compile Include="Utilities\PersistentSettings.cs" />
   31.69      <Compile Include="Properties\AssemblyInfo.cs" />
   31.70      <Compile Include="GUI\AboutBox.cs">
   31.71 @@ -169,6 +180,23 @@
   31.72        <Name>OpenHardwareMonitorLib</Name>
   31.73      </ProjectReference>
   31.74    </ItemGroup>
   31.75 +  <ItemGroup>
   31.76 +    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
   31.77 +      <Visible>False</Visible>
   31.78 +      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
   31.79 +      <Install>false</Install>
   31.80 +    </BootstrapperPackage>
   31.81 +    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
   31.82 +      <Visible>False</Visible>
   31.83 +      <ProductName>.NET Framework 3.5 SP1</ProductName>
   31.84 +      <Install>true</Install>
   31.85 +    </BootstrapperPackage>
   31.86 +    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
   31.87 +      <Visible>False</Visible>
   31.88 +      <ProductName>Windows Installer 3.1</ProductName>
   31.89 +      <Install>true</Install>
   31.90 +    </BootstrapperPackage>
   31.91 +  </ItemGroup>
   31.92    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   31.93    <ProjectExtensions>
   31.94      <VisualStudio AllowExistingFolder="true" />
    32.1 --- a/OpenHardwareMonitor.sln	Sun Aug 08 13:57:26 2010 +0000
    32.2 +++ b/OpenHardwareMonitor.sln	Thu Aug 12 20:53:27 2010 +0000
    32.3 @@ -1,6 +1,6 @@
    32.4  
    32.5 -Microsoft Visual Studio Solution File, Format Version 10.00
    32.6 -# Visual Studio 2008
    32.7 +Microsoft Visual Studio Solution File, Format Version 11.00
    32.8 +# Visual Studio 2010
    32.9  Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHardwareMonitorLib", "OpenHardwareMonitorLib.csproj", "{B0397530-545A-471D-BB74-027AE456DF1A}"
   32.10  EndProject
   32.11  Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHardwareMonitor", "OpenHardwareMonitor.csproj", "{F5E0C1F7-9E9B-46F2-AC88-8C9C1C923880}"
    33.1 --- a/OpenHardwareMonitorLib.csproj	Sun Aug 08 13:57:26 2010 +0000
    33.2 +++ b/OpenHardwareMonitorLib.csproj	Thu Aug 12 20:53:27 2010 +0000
    33.3 @@ -1,5 +1,5 @@
    33.4  <?xml version="1.0" encoding="utf-8"?>
    33.5 -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    33.6 +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    33.7    <PropertyGroup>
    33.8      <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    33.9      <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
   33.10 @@ -12,8 +12,25 @@
   33.11      <AssemblyName>OpenHardwareMonitorLib</AssemblyName>
   33.12      <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
   33.13      <FileAlignment>512</FileAlignment>
   33.14 -    <TargetFrameworkSubset>
   33.15 -    </TargetFrameworkSubset>
   33.16 +    <FileUpgradeFlags>
   33.17 +    </FileUpgradeFlags>
   33.18 +    <OldToolsVersion>3.5</OldToolsVersion>
   33.19 +    <UpgradeBackupLocation />
   33.20 +    <PublishUrl>publish\</PublishUrl>
   33.21 +    <Install>true</Install>
   33.22 +    <InstallFrom>Disk</InstallFrom>
   33.23 +    <UpdateEnabled>false</UpdateEnabled>
   33.24 +    <UpdateMode>Foreground</UpdateMode>
   33.25 +    <UpdateInterval>7</UpdateInterval>
   33.26 +    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
   33.27 +    <UpdatePeriodically>false</UpdatePeriodically>
   33.28 +    <UpdateRequired>false</UpdateRequired>
   33.29 +    <MapFileExtensions>true</MapFileExtensions>
   33.30 +    <ApplicationRevision>0</ApplicationRevision>
   33.31 +    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
   33.32 +    <IsWebBootstrapper>false</IsWebBootstrapper>
   33.33 +    <UseApplicationTrust>false</UseApplicationTrust>
   33.34 +    <BootstrapperEnabled>true</BootstrapperEnabled>
   33.35    </PropertyGroup>
   33.36    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
   33.37      <DebugSymbols>true</DebugSymbols>
   33.38 @@ -23,6 +40,7 @@
   33.39      <DefineConstants>TRACE;DEBUG</DefineConstants>
   33.40      <ErrorReport>prompt</ErrorReport>
   33.41      <WarningLevel>4</WarningLevel>
   33.42 +    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   33.43    </PropertyGroup>
   33.44    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
   33.45      <DebugType>none</DebugType>
   33.46 @@ -31,6 +49,7 @@
   33.47      <DefineConstants>TRACE</DefineConstants>
   33.48      <ErrorReport>prompt</ErrorReport>
   33.49      <WarningLevel>4</WarningLevel>
   33.50 +    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   33.51    </PropertyGroup>
   33.52    <ItemGroup>
   33.53      <Reference Include="System" />
   33.54 @@ -83,12 +102,30 @@
   33.55      <Compile Include="Hardware\TBalancer\TBalancerGroup.cs" />
   33.56      <Compile Include="Hardware\WinRing0.cs" />
   33.57      <Compile Include="Hardware\ISettings.cs" />
   33.58 -    <Compile Include="Properties\AssemblyInfo.cs" />
   33.59      <Compile Include="Hardware\HexStringArray.cs" />
   33.60      <Compile Include="Collections\IReadOnlyArray.cs" />
   33.61      <Compile Include="Collections\ListSet.cs" />
   33.62      <Compile Include="Hardware\PInvokeDelegateFactory.cs" />
   33.63      <Compile Include="Collections\ReadOnlyArray.cs" />
   33.64 +    <Compile Include="Properties\AssemblyLibInfo.cs" />
   33.65 +    <Compile Include="Properties\AssemblyVersion.cs" />
   33.66 +  </ItemGroup>
   33.67 +  <ItemGroup>
   33.68 +    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
   33.69 +      <Visible>False</Visible>
   33.70 +      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
   33.71 +      <Install>false</Install>
   33.72 +    </BootstrapperPackage>
   33.73 +    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
   33.74 +      <Visible>False</Visible>
   33.75 +      <ProductName>.NET Framework 3.5 SP1</ProductName>
   33.76 +      <Install>true</Install>
   33.77 +    </BootstrapperPackage>
   33.78 +    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
   33.79 +      <Visible>False</Visible>
   33.80 +      <ProductName>Windows Installer 3.1</ProductName>
   33.81 +      <Install>true</Install>
   33.82 +    </BootstrapperPackage>
   33.83    </ItemGroup>
   33.84    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   33.85    <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
    34.1 --- a/Properties/AssemblyInfo.cs	Sun Aug 08 13:57:26 2010 +0000
    34.2 +++ b/Properties/AssemblyInfo.cs	Thu Aug 12 20:53:27 2010 +0000
    34.3 @@ -35,13 +35,11 @@
    34.4   
    34.5  */
    34.6  
    34.7 +using System;
    34.8  using System.Reflection;
    34.9  using System.Runtime.CompilerServices;
   34.10  using System.Runtime.InteropServices;
   34.11  
   34.12 -// General Information about an assembly is controlled through the following 
   34.13 -// set of attributes. Change these attribute values to modify the information
   34.14 -// associated with an assembly.
   34.15  [assembly: AssemblyTitle("Open Hardware Monitor")]
   34.16  [assembly: AssemblyDescription("")]
   34.17  [assembly: AssemblyConfiguration("")]
   34.18 @@ -51,23 +49,4 @@
   34.19  [assembly: AssemblyTrademark("")]
   34.20  [assembly: AssemblyCulture("")]
   34.21  
   34.22 -// Setting ComVisible to false makes the types in this assembly not visible 
   34.23 -// to COM components.  If you need to access a type in this assembly from 
   34.24 -// COM, set the ComVisible attribute to true on that type.
   34.25  [assembly: ComVisible(false)]
   34.26 -
   34.27 -// The following GUID is for the ID of the typelib if this project is exposed to COM
   34.28 -[assembly: Guid("f7a1c873-0bec-4762-8707-2edce3a6444d")]
   34.29 -
   34.30 -// Version information for an assembly consists of the following four values:
   34.31 -//
   34.32 -//      Major Version
   34.33 -//      Minor Version 
   34.34 -//      Build Number
   34.35 -//      Revision
   34.36 -//
   34.37 -// You can specify all the values or you can default the Build and Revision Numbers 
   34.38 -// by using the '*' as shown below:
   34.39 -// [assembly: AssemblyVersion("1.0.*")]
   34.40 -[assembly: AssemblyVersion("0.1.37.3")]
   34.41 -[assembly: AssemblyFileVersion("0.1.37.3")]
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/Properties/AssemblyLibInfo.cs	Thu Aug 12 20:53:27 2010 +0000
    35.3 @@ -0,0 +1,53 @@
    35.4 +/*
    35.5 +  
    35.6 +  Version: MPL 1.1/GPL 2.0/LGPL 2.1
    35.7 +
    35.8 +  The contents of this file are subject to the Mozilla Public License Version
    35.9 +  1.1 (the "License"); you may not use this file except in compliance with
   35.10 +  the License. You may obtain a copy of the License at
   35.11 + 
   35.12 +  http://www.mozilla.org/MPL/
   35.13 +
   35.14 +  Software distributed under the License is distributed on an "AS IS" basis,
   35.15 +  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   35.16 +  for the specific language governing rights and limitations under the License.
   35.17 +
   35.18 +  The Original Code is the Open Hardware Monitor code.
   35.19 +
   35.20 +  The Initial Developer of the Original Code is 
   35.21 +  Michael Möller <m.moeller@gmx.ch>.
   35.22 +  Portions created by the Initial Developer are Copyright (C) 2009-2010
   35.23 +  the Initial Developer. All Rights Reserved.
   35.24 +
   35.25 +  Contributor(s):
   35.26 +
   35.27 +  Alternatively, the contents of this file may be used under the terms of
   35.28 +  either the GNU General Public License Version 2 or later (the "GPL"), or
   35.29 +  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   35.30 +  in which case the provisions of the GPL or the LGPL are applicable instead
   35.31 +  of those above. If you wish to allow use of your version of this file only
   35.32 +  under the terms of either the GPL or the LGPL, and not to allow others to
   35.33 +  use your version of this file under the terms of the MPL, indicate your
   35.34 +  decision by deleting the provisions above and replace them with the notice
   35.35 +  and other provisions required by the GPL or the LGPL. If you do not delete
   35.36 +  the provisions above, a recipient may use your version of this file under
   35.37 +  the terms of any one of the MPL, the GPL or the LGPL.
   35.38 + 
   35.39 +*/
   35.40 +
   35.41 +using System;
   35.42 +using System.Reflection;
   35.43 +using System.Runtime.CompilerServices;
   35.44 +using System.Runtime.InteropServices;
   35.45 +
   35.46 +[assembly: AssemblyTitle("Open Hardware Monitor Library")]
   35.47 +[assembly: AssemblyDescription("")]
   35.48 +[assembly: AssemblyConfiguration("")]
   35.49 +[assembly: AssemblyCompany("")]
   35.50 +[assembly: AssemblyProduct("Open Hardware Monitor Library")]
   35.51 +[assembly: AssemblyCopyright("Copyright © 2009-2010 Michael Möller")]
   35.52 +[assembly: AssemblyTrademark("")]
   35.53 +[assembly: AssemblyCulture("")]
   35.54 +
   35.55 +[assembly: ComVisible(false)]
   35.56 +[assembly: CLSCompliant(true)]
   35.57 \ No newline at end of file
    36.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.2 +++ b/Properties/AssemblyVersion.cs	Thu Aug 12 20:53:27 2010 +0000
    36.3 @@ -0,0 +1,42 @@
    36.4 +/*
    36.5 +  
    36.6 +  Version: MPL 1.1/GPL 2.0/LGPL 2.1
    36.7 +
    36.8 +  The contents of this file are subject to the Mozilla Public License Version
    36.9 +  1.1 (the "License"); you may not use this file except in compliance with
   36.10 +  the License. You may obtain a copy of the License at
   36.11 + 
   36.12 +  http://www.mozilla.org/MPL/
   36.13 +
   36.14 +  Software distributed under the License is distributed on an "AS IS" basis,
   36.15 +  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   36.16 +  for the specific language governing rights and limitations under the License.
   36.17 +
   36.18 +  The Original Code is the Open Hardware Monitor code.
   36.19 +
   36.20 +  The Initial Developer of the Original Code is 
   36.21 +  Michael Möller <m.moeller@gmx.ch>.
   36.22 +  Portions created by the Initial Developer are Copyright (C) 2009-2010
   36.23 +  the Initial Developer. All Rights Reserved.
   36.24 +
   36.25 +  Contributor(s):
   36.26 +
   36.27 +  Alternatively, the contents of this file may be used under the terms of
   36.28 +  either the GNU General Public License Version 2 or later (the "GPL"), or
   36.29 +  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   36.30 +  in which case the provisions of the GPL or the LGPL are applicable instead
   36.31 +  of those above. If you wish to allow use of your version of this file only
   36.32 +  under the terms of either the GPL or the LGPL, and not to allow others to
   36.33 +  use your version of this file under the terms of the MPL, indicate your
   36.34 +  decision by deleting the provisions above and replace them with the notice
   36.35 +  and other provisions required by the GPL or the LGPL. If you do not delete
   36.36 +  the provisions above, a recipient may use your version of this file under
   36.37 +  the terms of any one of the MPL, the GPL or the LGPL.
   36.38 + 
   36.39 +*/
   36.40 +
   36.41 +using System;
   36.42 +using System.Reflection;
   36.43 +
   36.44 +[assembly: AssemblyVersion("0.1.37.3")]
   36.45 +[assembly: AssemblyFileVersion("0.1.37.3")]
    37.1 --- a/Utilities/PersistentSettings.cs	Sun Aug 08 13:57:26 2010 +0000
    37.2 +++ b/Utilities/PersistentSettings.cs	Thu Aug 12 20:53:27 2010 +0000
    37.3 @@ -95,11 +95,11 @@
    37.4        return settings.ContainsKey(name);
    37.5      }
    37.6  
    37.7 -    public void Set(string name, string value) {
    37.8 +    public void SetValue(string name, string value) {
    37.9        settings[name] = value;
   37.10      }
   37.11  
   37.12 -    public string Get(string name, string value) {
   37.13 +    public string GetValue(string name, string value) {
   37.14        string result;
   37.15        if (settings.TryGetValue(name, out result))
   37.16          return result;
   37.17 @@ -111,11 +111,11 @@
   37.18        settings.Remove(name);
   37.19      }
   37.20  
   37.21 -    public void Set(string name, int value) {
   37.22 +    public void SetValue(string name, int value) {
   37.23        settings[name] = value.ToString();
   37.24      }
   37.25  
   37.26 -    public int Get(string name, int value) {
   37.27 +    public int GetValue(string name, int value) {
   37.28        string str;
   37.29        if (settings.TryGetValue(name, out str)) {
   37.30          int parsedValue;
   37.31 @@ -128,11 +128,11 @@
   37.32        }
   37.33      }
   37.34  
   37.35 -    public void Set(string name, bool value) {
   37.36 +    public void SetValue(string name, bool value) {
   37.37        settings[name] = value ? "true" : "false";
   37.38      }
   37.39  
   37.40 -    public bool Get(string name, bool value) {
   37.41 +    public bool GetValue(string name, bool value) {
   37.42        string str;
   37.43        if (settings.TryGetValue(name, out str)) {
   37.44          return str == "true";
   37.45 @@ -141,11 +141,11 @@
   37.46        }
   37.47      }
   37.48  
   37.49 -    public void Set(string name, Color color) {
   37.50 +    public void SetValue(string name, Color color) {
   37.51        settings[name] = color.ToArgb().ToString("X8");
   37.52      }
   37.53  
   37.54 -    public Color Get(string name, Color value) {
   37.55 +    public Color GetValue(string name, Color value) {
   37.56        string str;
   37.57        if (settings.TryGetValue(name, out str)) {
   37.58          int parsedValue;