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