Created a devices service and moved the CDashDisplay service to the sahdow realm

This commit is contained in:
2026-08-25 14:46:20 +01:00
parent fe86993c6d
commit f4bde52f40
19 changed files with 444 additions and 184 deletions
+9 -6
View File
@@ -14,8 +14,8 @@ import (
// TelemetryService will be our base struct to handle telemetry data
// It should hook to a data sink and handle it like iRacing, BeamNG, AC and so on
type TelemetryService struct {
logger *slog.Logger
cdash *CDashService
logger *slog.Logger
devService *DeviceService
// Concurrency protection
mut sync.RWMutex
ativeProvider telem.TelemetryProvider
@@ -24,13 +24,16 @@ type TelemetryService struct {
cancelForward context.CancelFunc
}
func NewTelemetryService(logger *slog.Logger, cdash *CDashService) *TelemetryService {
func NewTelemetryService(logger *slog.Logger, devServo *DeviceService) *TelemetryService {
newService := &TelemetryService{
logger: logger,
cdash: cdash,
listeners: make(map[string]chan telem.TelemetryData),
logger: logger,
devService: devServo,
listeners: make(map[string]chan telem.TelemetryData),
}
// TODO: do not create and set a provider here, a background job should be
// detecting providers instead
// Need to instantiate a default provider here
// source := "/home/esilva/Desktop/projetos/simracing_peripherals/testTelemetry/gt3_mustang_bathurst.ibt"
firstProvider := providers.NewIRacingProvider(slog.Default(), goirsdk.Options{