42 lines
No EOL
1.4 KiB
C#
42 lines
No EOL
1.4 KiB
C#
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
namespace NucuCar.Sensors
|
|
{
|
|
public class Program
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
CreateHostBuilder(args).Build().Run();
|
|
}
|
|
|
|
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
|
Host.CreateDefaultBuilder(args)
|
|
.ConfigureServices((hostContext, services) =>
|
|
{
|
|
var config = hostContext.Configuration;
|
|
|
|
// Singletons
|
|
services.AddSingleton<Telemetry.SensorTelemetry>();
|
|
services.AddSingleton<EnvironmentSensor.Bme680Sensor>();
|
|
|
|
// Workers
|
|
if (config.GetValue<bool>("Telemetry:Enabled"))
|
|
{
|
|
services.AddHostedService<Telemetry.TelemetryWorker>();
|
|
}
|
|
|
|
if (config.GetValue<bool>("EnvironmentSensor:Enabled"))
|
|
{
|
|
services.AddHostedService<EnvironmentSensor.Bme680Worker>();
|
|
}
|
|
|
|
})
|
|
.ConfigureWebHostDefaults(webBuilder =>
|
|
{
|
|
webBuilder.UseStartup<GrpcStartup>();
|
|
});
|
|
}
|
|
} |