WMI/Sensor.cs
author sl
Thu, 01 Jan 2015 23:35:49 +0100
changeset 405 5715aefd2bcc
parent 229 940d86b60be7
permissions -rw-r--r--
SharpDisplay: Migrating to new robust client scheme.
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
}