WMI/Sensor.cs
author StephaneLenclud
Thu, 18 Apr 2013 23:25:10 +0200
branchMiniDisplay
changeset 444 9b09e2ee0968
parent 229 940d86b60be7
permissions -rw-r--r--
Front View plug-in does not init if no sensor added.
Fixing some format to make strings shorter.
Now trying to start SoundGraphAccess.exe process from same directory.
Packed mode now can display three sensors along with the current time.
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
}