NucuCar/NucuCar.Domain.Telemetry/Telemetry.cs

34 lines
957 B
C#
Raw Normal View History

using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using NucuCar.Domain.Telemetry;
2019-12-28 15:09:17 +00:00
// ReSharper disable ClassWithVirtualMembersNeverInherited.Global
namespace NucuCar.Telemetry
{
public class Telemetry
{
public TelemetryPublisher Publisher { get; set; }
/// <summary>
/// Class used together with the DI, holds a Publisher instance that's being create by options from
/// TelemetryConfig.
/// </summary>
public Telemetry()
{
}
2019-12-28 15:09:17 +00:00
public Telemetry(ILogger<Telemetry> logger, IOptions<TelemetryConfig> options)
{
if (options.Value.ServiceEnabled)
{
2019-12-28 15:09:17 +00:00
Publisher = TelemetryPublisherFactory.Create(options.Value.Publisher, options.Value.ConnectionString,
"NucuCar.Sensors", logger);
}
else
{
Publisher = null;
}
}
}
}