WMI/Sensor.cs
author moel.mich
Mon, 02 Jul 2012 21:14:40 +0000
changeset 357 fb8dc26f65a4
parent 229 940d86b60be7
permissions -rw-r--r--
Added mainboard specific configurations for the following Gigabyte mainboards: EX58-UD3R, G41M-Combo, G41MT-S2, G41MT-S2P, GA-MA770T-UD3P, GA-MA785GM-US2H, GA-MA78LM-S2H, GA-MA790X-UD3P, H55-USB3, H55N-USB3, H61M-DS2 REV 1.2, H61M-USB3-B3 REV 2.0, H67A-USB3-B3, P55A-UD3, P67A-UD3-B3, P67A-UD3R-B3, Z68A-D3H-B3, Z68AP-D3, Z68X-UD3H-B3.
paulwerelds@224
     1
/*
paulwerelds@224
     2
 
moel@344
     3
  This Source Code Form is subject to the terms of the Mozilla Public
moel@344
     4
  License, v. 2.0. If a copy of the MPL was not distributed with this
moel@344
     5
  file, You can obtain one at http://mozilla.org/MPL/2.0/.
paulwerelds@224
     6
 
moel@344
     7
  Copyright (C) 2009-2010 Paul Werelds <paul@werelds.net>
moel@344
     8
	
paulwerelds@224
     9
*/
paulwerelds@224
    10
paulwerelds@223
    11
using System.Management.Instrumentation;
paulwerelds@223
    12
using OpenHardwareMonitor.Hardware;
paulwerelds@223
    13
paulwerelds@227
    14
namespace OpenHardwareMonitor.WMI {
paulwerelds@223
    15
  [InstrumentationClass(InstrumentationType.Instance)]
paulwerelds@224
    16
  public class Sensor : IWmiObject {
paulwerelds@224
    17
    private ISensor sensor;
paulwerelds@223
    18
paulwerelds@224
    19
    #region WMI Exposed
paulwerelds@223
    20
paulwerelds@223
    21
    public string SensorType { get; private set; }
paulwerelds@223
    22
    public string Identifier { get; private set; }
paulwerelds@223
    23
    public string Parent { get; private set; }
paulwerelds@223
    24
    public string Name { get; private set; }
paulwerelds@223
    25
    public float Value { get; private set; }
paulwerelds@223
    26
    public float Min { get; private set; }
paulwerelds@223
    27
    public float Max { get; private set; }
paulwerelds@223
    28
    public int Index { get; private set; }
paulwerelds@223
    29
paulwerelds@224
    30
    #endregion
paulwerelds@223
    31
paulwerelds@225
    32
    public Sensor(ISensor sensor) {
paulwerelds@225
    33
      Name = sensor.Name;
paulwerelds@225
    34
      Index = sensor.Index;
paulwerelds@223
    35
paulwerelds@225
    36
      SensorType = sensor.SensorType.ToString();
paulwerelds@225
    37
      Identifier = sensor.Identifier.ToString();
paulwerelds@225
    38
      Parent = sensor.Hardware.Identifier.ToString();
paulwerelds@224
    39
paulwerelds@225
    40
      this.sensor = sensor;
paulwerelds@223
    41
    }
paulwerelds@223
    42
    
paulwerelds@223
    43
    public void Update() {
paulwerelds@224
    44
      Value = (sensor.Value != null) ? (float)sensor.Value : 0;
paulwerelds@223
    45
paulwerelds@224
    46
      if (sensor.Min != null)
paulwerelds@224
    47
        Min = (float)sensor.Min;
paulwerelds@223
    48
paulwerelds@224
    49
      if (sensor.Max != null)
paulwerelds@224
    50
        Max = (float)sensor.Max;
paulwerelds@223
    51
    }
paulwerelds@223
    52
  }
paulwerelds@223
    53
}