# HG changeset patch
# User paulwerelds
# Date 1287238541 0
# Node ID be9534663a55d037e3faa40fb9e56873b0de6ef6
# Parent  39f73ac8c2f4625e9bd5727050064181451c3da1
Added license to the WMI stuff and refactored a few things a little.
diff -r 39f73ac8c2f4 -r be9534663a55 OpenHardwareMonitor.csproj
--- a/OpenHardwareMonitor.csproj	Sat Oct 16 13:29:06 2010 +0000
+++ b/OpenHardwareMonitor.csproj	Sat Oct 16 14:15:41 2010 +0000
@@ -129,7 +129,7 @@
     
     
     
-    
+    
     
     
       Component
diff -r 39f73ac8c2f4 -r be9534663a55 WMIProvider/Hardware.cs
--- a/WMIProvider/Hardware.cs	Sat Oct 16 13:29:06 2010 +0000
+++ b/WMIProvider/Hardware.cs	Sat Oct 16 14:15:41 2010 +0000
@@ -1,13 +1,54 @@
-using System.Management.Instrumentation;
+/*
+  
+  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+  The contents of this file are subject to the Mozilla Public License Version
+  1.1 (the "License"); you may not use this file except in compliance with
+  the License. You may obtain a copy of the License at
+ 
+  http://www.mozilla.org/MPL/
+
+  Software distributed under the License is distributed on an "AS IS" basis,
+  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+  for the specific language governing rights and limitations under the License.
+
+  The Original Code is the Open Hardware Monitor code.
+
+  The Initial Developer of the Original Code is 
+  Paul Werelds .
+  Portions created by the Initial Developer are Copyright (C) 2009-2010
+  the Initial Developer. All Rights Reserved.
+
+  Contributor(s):
+
+  Alternatively, the contents of this file may be used under the terms of
+  either the GNU General Public License Version 2 or later (the "GPL"), or
+  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+  in which case the provisions of the GPL or the LGPL are applicable instead
+  of those above. If you wish to allow use of your version of this file only
+  under the terms of either the GPL or the LGPL, and not to allow others to
+  use your version of this file under the terms of the MPL, indicate your
+  decision by deleting the provisions above and replace them with the notice
+  and other provisions required by the GPL or the LGPL. If you do not delete
+  the provisions above, a recipient may use your version of this file under
+  the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+using System.Management.Instrumentation;
 using OpenHardwareMonitor.Hardware;
 
 namespace OpenHardwareMonitor.WMIProvider {
   [InstrumentationClass(InstrumentationType.Instance)]
-  public class Hardware : IWmiClass {
+  public class Hardware : IWmiObject {
+    #region WMI Exposed
+    
     public string HardwareType { get; private set; }
     public string Identifier { get; private set; }
     public string Name { get; private set; }
 
+    #endregion
+
     public Hardware(IHardware hardware) {
       Name = hardware.Name;
       Identifier = hardware.Identifier.ToString();
diff -r 39f73ac8c2f4 -r be9534663a55 WMIProvider/IWmiClass.cs
--- a/WMIProvider/IWmiClass.cs	Sat Oct 16 13:29:06 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-namespace OpenHardwareMonitor.WMIProvider {
-  interface IWmiClass {
-    string Name { get; }
-    string Identifier { get; }
-
-    void Update();
-  }
-}
diff -r 39f73ac8c2f4 -r be9534663a55 WMIProvider/IWmiObject.cs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WMIProvider/IWmiObject.cs	Sat Oct 16 14:15:41 2010 +0000
@@ -0,0 +1,47 @@
+/*
+  
+  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+  The contents of this file are subject to the Mozilla Public License Version
+  1.1 (the "License"); you may not use this file except in compliance with
+  the License. You may obtain a copy of the License at
+ 
+  http://www.mozilla.org/MPL/
+
+  Software distributed under the License is distributed on an "AS IS" basis,
+  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+  for the specific language governing rights and limitations under the License.
+
+  The Original Code is the Open Hardware Monitor code.
+
+  The Initial Developer of the Original Code is 
+  Paul Werelds .
+  Portions created by the Initial Developer are Copyright (C) 2009-2010
+  the Initial Developer. All Rights Reserved.
+
+  Contributor(s):
+
+  Alternatively, the contents of this file may be used under the terms of
+  either the GNU General Public License Version 2 or later (the "GPL"), or
+  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+  in which case the provisions of the GPL or the LGPL are applicable instead
+  of those above. If you wish to allow use of your version of this file only
+  under the terms of either the GPL or the LGPL, and not to allow others to
+  use your version of this file under the terms of the MPL, indicate your
+  decision by deleting the provisions above and replace them with the notice
+  and other provisions required by the GPL or the LGPL. If you do not delete
+  the provisions above, a recipient may use your version of this file under
+  the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+namespace OpenHardwareMonitor.WMIProvider {
+  interface IWmiObject {
+    // Both of these get exposed to WMI
+    string Name { get; }
+    string Identifier { get; }
+
+    // Not exposed.
+    void Update();
+  }
+}
diff -r 39f73ac8c2f4 -r be9534663a55 WMIProvider/Sensor.cs
--- a/WMIProvider/Sensor.cs	Sat Oct 16 13:29:06 2010 +0000
+++ b/WMIProvider/Sensor.cs	Sat Oct 16 14:15:41 2010 +0000
@@ -1,11 +1,49 @@
+/*
+  
+  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+  The contents of this file are subject to the Mozilla Public License Version
+  1.1 (the "License"); you may not use this file except in compliance with
+  the License. You may obtain a copy of the License at
+ 
+  http://www.mozilla.org/MPL/
+
+  Software distributed under the License is distributed on an "AS IS" basis,
+  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+  for the specific language governing rights and limitations under the License.
+
+  The Original Code is the Open Hardware Monitor code.
+
+  The Initial Developer of the Original Code is 
+  Paul Werelds .
+  Portions created by the Initial Developer are Copyright (C) 2009-2010
+  the Initial Developer. All Rights Reserved.
+
+  Contributor(s):
+
+  Alternatively, the contents of this file may be used under the terms of
+  either the GNU General Public License Version 2 or later (the "GPL"), or
+  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+  in which case the provisions of the GPL or the LGPL are applicable instead
+  of those above. If you wish to allow use of your version of this file only
+  under the terms of either the GPL or the LGPL, and not to allow others to
+  use your version of this file under the terms of the MPL, indicate your
+  decision by deleting the provisions above and replace them with the notice
+  and other provisions required by the GPL or the LGPL. If you do not delete
+  the provisions above, a recipient may use your version of this file under
+  the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
 using System.Management.Instrumentation;
 using OpenHardwareMonitor.Hardware;
 
 namespace OpenHardwareMonitor.WMIProvider {
   [InstrumentationClass(InstrumentationType.Instance)]
-  public class Sensor : IWmiClass {
+  public class Sensor : IWmiObject {
+    private ISensor sensor;
 
-    private ISensor _sensor;
+    #region WMI Exposed
 
     public string SensorType { get; private set; }
     public string Identifier { get; private set; }
@@ -16,25 +54,27 @@
     public float Max { get; private set; }
     public int Index { get; private set; }
 
-    public Sensor(ISensor sensor) {
-      Name = sensor.Name;
-      Index = sensor.Index;
+    #endregion
 
-      SensorType = sensor.SensorType.ToString();
-      Identifier = sensor.Identifier.ToString();
-      Parent = sensor.Hardware.Identifier.ToString();
+    public Sensor(ISensor data) {
+      Name = data.Name;
+      Index = data.Index;
 
-      _sensor = sensor;
+      SensorType = data.SensorType.ToString();
+      Identifier = data.Identifier.ToString();
+      Parent = data.Hardware.Identifier.ToString();
+
+      sensor = data;
     }
     
     public void Update() {
-      Value = (_sensor.Value != null) ? (float)_sensor.Value : 0;
+      Value = (sensor.Value != null) ? (float)sensor.Value : 0;
 
-      if (_sensor.Min != null)
-        Min = (float)_sensor.Min;
+      if (sensor.Min != null)
+        Min = (float)sensor.Min;
 
-      if (_sensor.Max != null)
-        Max = (float)_sensor.Max;
+      if (sensor.Max != null)
+        Max = (float)sensor.Max;
     }
   }
 }
diff -r 39f73ac8c2f4 -r be9534663a55 WMIProvider/WMIProvider.cs
--- a/WMIProvider/WMIProvider.cs	Sat Oct 16 13:29:06 2010 +0000
+++ b/WMIProvider/WMIProvider.cs	Sat Oct 16 14:15:41 2010 +0000
@@ -1,3 +1,40 @@
+/*
+  
+  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+  The contents of this file are subject to the Mozilla Public License Version
+  1.1 (the "License"); you may not use this file except in compliance with
+  the License. You may obtain a copy of the License at
+ 
+  http://www.mozilla.org/MPL/
+
+  Software distributed under the License is distributed on an "AS IS" basis,
+  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+  for the specific language governing rights and limitations under the License.
+
+  The Original Code is the Open Hardware Monitor code.
+
+  The Initial Developer of the Original Code is 
+  Paul Werelds .
+  Portions created by the Initial Developer are Copyright (C) 2009-2010
+  the Initial Developer. All Rights Reserved.
+
+  Contributor(s):
+
+  Alternatively, the contents of this file may be used under the terms of
+  either the GNU General Public License Version 2 or later (the "GPL"), or
+  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+  in which case the provisions of the GPL or the LGPL are applicable instead
+  of those above. If you wish to allow use of your version of this file only
+  under the terms of either the GPL or the LGPL, and not to allow others to
+  use your version of this file under the terms of the MPL, indicate your
+  decision by deleting the provisions above and replace them with the notice
+  and other provisions required by the GPL or the LGPL. If you do not delete
+  the provisions above, a recipient may use your version of this file under
+  the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
 using System;
 using System.Collections.Generic;
 using System.Management.Instrumentation;
@@ -9,11 +46,15 @@
 public class InstanceInstaller : DefaultManagementProjectInstaller { }
 
 namespace OpenHardwareMonitor.WMIProvider {
+  /// 
+  /// The WMI Provider.
+  /// This class is not exposed to WMI itself.
+  /// 
   public class WmiProvider : IDisposable {
-    private List _activeInstances;
+    private List _activeInstances;
 
     public WmiProvider(IComputer computer) {
-      _activeInstances = new List();
+      _activeInstances = new List();
 
       foreach (IHardware hardware in computer.Hardware)
         ComputerHardwareAdded(hardware);
@@ -23,7 +64,7 @@
     }
 
     public void Update() {
-      foreach (IWmiClass instance in _activeInstances)
+      foreach (IWmiObject instance in _activeInstances)
         instance.Update();
     }
 
@@ -92,7 +133,7 @@
     #endregion
 
     public void Dispose() {
-      foreach (IWmiClass instance in _activeInstances)
+      foreach (IWmiObject instance in _activeInstances)
         Instrumentation.Revoke(instance);
       _activeInstances = null;
     }