using Microsoft.Extensions.Configuration; using System.Collections.ObjectModel; using TheXamlGuy.Framework.Serial; namespace TheXamlGuy.Framework.Microcontroller; public class MicrocontrollerBuilder : IMicrocontrollerBuilder { private readonly List configurations = new(); public IReadOnlyCollection Configurations => new ReadOnlyCollection(configurations); public IMicrocontrollerBuilderConfiguration Add(IConfiguration configuration) where TConfiguration : IMicrocontrollerConfiguration, new() where TSerialReader : SerialReader where TReadDeserializer : IMicrocontrollerModuleDeserializer, new() { MicrocontrollerBuilderConfiguration? builderConfiguration = new(configuration); configurations.Add(builderConfiguration); return builderConfiguration; } }