# 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; }