Files
Toolkit2/Toolkit.Foundation/MicrocontrollerBuilder.cs
T
2025-02-07 09:20:43 +00:00

24 lines
1.1 KiB
C#

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