forked from amkovkov/GranuSightSoftware2
refactor: hardware services
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user