Initial WIP commit
Some checks failed
Deploy to Gitea Releases / deploy-to-gitea-releases (push) Failing after 9s
Some checks failed
Deploy to Gitea Releases / deploy-to-gitea-releases (push) Failing after 9s
This commit is contained in:
41
Service/Hardware.cs
Normal file
41
Service/Hardware.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
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)
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user