73 lines
1.6 KiB
C#
Raw Normal View History

2010-01-26 22:37:48 +00:00
/*
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
2010-01-26 22:37:48 +00:00
Copyright (C) 2009-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
2010-01-26 22:37:48 +00:00
*/
using System;
using System.Collections.Generic;
using OpenHardwareMonitor.Collections;
2010-01-26 22:37:48 +00:00
namespace OpenHardwareMonitor.Hardware {
public enum SensorType {
Voltage, // V
Clock, // MHz
Temperature, // °C
Load, // %
Fan, // RPM
Flow, // L/h
Control, // %
Level, // %
Factor, // 1
Power, // W
Data, // GB = 2^30 Bytes
2016-04-28 19:58:59 +02:00
SmallData, // MB = 2^20 Bytes
Throughput, // MB/s = 2^20 Bytes/s
2010-01-26 22:37:48 +00:00
}
public struct SensorValue {
private readonly float value;
private readonly DateTime time;
public SensorValue(float value, DateTime time) {
this.value = value;
this.time = time;
}
public float Value { get { return value; } }
public DateTime Time { get { return time; } }
2010-01-26 22:37:48 +00:00
}
public interface ISensor : IElement {
IHardware Hardware { get; }
2010-01-26 22:37:48 +00:00
SensorType SensorType { get; }
Identifier Identifier { get; }
2010-01-26 22:37:48 +00:00
string Name { get; set; }
int Index { get; }
bool IsDefaultHidden { get; }
IReadOnlyArray<IParameter> Parameters { get; }
2010-01-26 22:37:48 +00:00
float? Value { get; }
float? Min { get; }
2010-07-04 12:49:16 +00:00
float? Max { get; }
void ResetMin();
void ResetMax();
IEnumerable<SensorValue> Values { get; }
IControl Control { get; }
2010-01-26 22:37:48 +00:00
}
}