Initial WIP commit
Some checks failed
Deploy to Gitea Releases / deploy-to-gitea-releases (push) Failing after 9s

This commit is contained in:
2026-01-27 18:58:09 -05:00
commit 853e8eab0d
45 changed files with 2920 additions and 0 deletions

54
StatusWindow/Data.cs Normal file
View File

@@ -0,0 +1,54 @@
using System;
using HardwareMonitorStatusWindow.Service;
using PipeMethodCalls;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
namespace HardwareMonitorStatusWindow.StatusWindow;
internal static class Data
{
private static PipeClient<IHardwareMonitorService> _pipeClient;
private static IEnumerable<Hardware> _hardware;
internal static ObservableCollection<SensorEntry> SensorEntries { get; set; }
internal static async Task LoadComputer()
{
try
{
_pipeClient = new PipeClient<IHardwareMonitorService>(new HardwarePipeSerializer(), HardwareMonitorService.PipeName);
await _pipeClient.ConnectAsync();
}
catch (Exception exception)
{
}
}
internal static void RefreshComputer()
{
_hardware = _pipeClient.InvokeAsync(service => service.GetHardware()).Result;
}
internal static void CloseComputer()
{
_pipeClient.Dispose();
}
internal static IList<Hardware> ComputerHardware => _hardware.ToList();
internal static void Load()
{
SensorEntries = JsonSerializer.Deserialize<ObservableCollection<SensorEntry>>(Settings.Default.Sensors);
}
internal static void Save()
{
Settings.Default.Sensors = JsonSerializer.Serialize(SensorEntries);
Settings.Default.Save();
}
}