public void Dispose() { if (!_disposed) { _disposed = true; if (_monitor is not null) { _monitor.Dispose(); _monitor = null; } if (_heartbeatService is not null) { _heartbeatService.Dispose(); _heartbeatService = null; } if (_parametersService is not null) { _parametersService.Dispose(); _parametersService = null; } } }
internal CommunicationServicesProvider(UavcanService uavcanService) { if (uavcanService is null) { throw new ArgumentNullException(nameof(uavcanService)); } _monitor = new NodeMonitor(uavcanService.Engine); _heartbeatService = new HeartbeatService(uavcanService.Engine); _parametersService = new ParametersService(uavcanService.Engine); }