WMI/Sensor.cs
author moel.mich
Thu, 26 Jul 2012 06:50:56 +0000
changeset 376 df64b56ece65
parent 229 940d86b60be7
permissions -rw-r--r--
Fixed an error where loading config files from previous versions would crash the application.
     1 /*
     2  
     3   This Source Code Form is subject to the terms of the Mozilla Public
     4   License, v. 2.0. If a copy of the MPL was not distributed with this
     5   file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6  
     7   Copyright (C) 2009-2010 Paul Werelds <paul@werelds.net>
     8 	
     9 */
    10 
    11 using System.Management.Instrumentation;
    12 using OpenHardwareMonitor.Hardware;
    13 
    14 namespace OpenHardwareMonitor.WMI {
    15   [InstrumentationClass(InstrumentationType.Instance)]
    16   public class Sensor : IWmiObject {
    17     private ISensor sensor;
    18 
    19     #region WMI Exposed
    20 
    21     public string SensorType { get; private set; }
    22     public string Identifier { get; private set; }
    23     public string Parent { get; private set; }
    24     public string Name { get; private set; }
    25     public float Value { get; private set; }
    26     public float Min { get; private set; }
    27     public float Max { get; private set; }
    28     public int Index { get; private set; }
    29 
    30     #endregion
    31 
    32     public Sensor(ISensor sensor) {
    33       Name = sensor.Name;
    34       Index = sensor.Index;
    35 
    36       SensorType = sensor.SensorType.ToString();
    37       Identifier = sensor.Identifier.ToString();
    38       Parent = sensor.Hardware.Identifier.ToString();
    39 
    40       this.sensor = sensor;
    41     }
    42     
    43     public void Update() {
    44       Value = (sensor.Value != null) ? (float)sensor.Value : 0;
    45 
    46       if (sensor.Min != null)
    47         Min = (float)sensor.Min;
    48 
    49       if (sensor.Max != null)
    50         Max = (float)sensor.Max;
    51     }
    52   }
    53 }