Some checks failed
Deploy to Gitea Releases / deploy-to-gitea-releases (push) Failing after 9s
41 lines
2.0 KiB
C#
41 lines
2.0 KiB
C#
namespace HardwareMonitorStatusWindow.Service;
|
|
|
|
public class Hardware
|
|
{
|
|
public required HardwareType Type { get; set; }
|
|
public required string Identifier { get; set; }
|
|
public required string Name { get; set; }
|
|
public required IEnumerable<Sensor> Sensors { get; set; }
|
|
|
|
internal static Hardware Create(LibreHardwareMonitor.Hardware.IHardware hardware)
|
|
{
|
|
return new Hardware
|
|
{
|
|
Type = MapHardwareType(hardware.HardwareType),
|
|
Name = hardware.Name,
|
|
Identifier = hardware.Identifier.ToString(),
|
|
Sensors = hardware.Sensors.Select(Sensor.Create)
|
|
};
|
|
}
|
|
|
|
private static HardwareType MapHardwareType(LibreHardwareMonitor.Hardware.HardwareType hardwareType)
|
|
{
|
|
return hardwareType switch
|
|
{
|
|
LibreHardwareMonitor.Hardware.HardwareType.Motherboard => HardwareType.Motherboard,
|
|
LibreHardwareMonitor.Hardware.HardwareType.SuperIO => HardwareType.SuperIo,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Cpu => HardwareType.Cpu,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Memory => HardwareType.Memory,
|
|
LibreHardwareMonitor.Hardware.HardwareType.GpuNvidia => HardwareType.GpuNvidia,
|
|
LibreHardwareMonitor.Hardware.HardwareType.GpuAmd => HardwareType.GpuAmd,
|
|
LibreHardwareMonitor.Hardware.HardwareType.GpuIntel => HardwareType.GpuIntel,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Storage => HardwareType.Storage,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Network => HardwareType.Network,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Cooler => HardwareType.Cooler,
|
|
LibreHardwareMonitor.Hardware.HardwareType.EmbeddedController => HardwareType.EmbeddedController,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Psu => HardwareType.Psu,
|
|
LibreHardwareMonitor.Hardware.HardwareType.Battery => HardwareType.Battery,
|
|
_ => throw new ArgumentOutOfRangeException(nameof(hardwareType), hardwareType, null)
|
|
};
|
|
}
|
|
} |