refactor: hardware services

This commit is contained in:
2026-02-12 08:34:19 +03:00
parent eaa20dbe75
commit 691129eff4
6 changed files with 126 additions and 116 deletions
+21 -13
View File
@@ -1,15 +1,19 @@
using System.Drawing;
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using Grpc.Core;
using Grpc.Net.Client;
using GSS2.LightsControl.CSharpClient;
using GSS2.Core.Abstractions;
namespace GSS2.Core.Hardware;
public class LightsService
{
public class LightsServiceConfiguration()
public record LightsServiceConfiguration : ServiceConfigurationBase
{
public static LightsServiceConfiguration Default => new LightsServiceConfiguration
{
@@ -27,23 +31,27 @@ public class LightsService
{
_logger = logger;
_logger.LogInformation("Lights initialization");
_logger.LogInformation("Initialization");
if (configuration is null)
{
_logger.LogWarning("Lights configuration not set. Using default configuration.");
_configuration = LightsServiceConfiguration.Default;
}
else
try
{
if (configuration is null)
{
configuration = LightsServiceConfiguration.Default;
_logger.LogWarning("Configuration not set. Using default configuration.");
}
_configuration = configuration;
_logger.LogInformation("Using following configuration: \n{}", _configuration.ToString("\n", 4));
_client = new Lights.LightsClient(GrpcChannel.ForAddress(_configuration.ServerAddress));
}
catch (Exception e)
{
_logger.LogCritical(e, "An exception occurred while initialization");
throw;
}
_logger.LogDebug(@$"Lights use following configuration:
ServerAddress: {_configuration.ServerAddress}
");
_client = new Lights.LightsClient(GrpcChannel.ForAddress(_configuration.ServerAddress));
_logger.LogInformation("Initialized");
}
public async Task Run(CancellationToken cancellationToken)