diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes index c6506f7b8..a5cdad33c 160000 --- a/Aaru.CommonTypes +++ b/Aaru.CommonTypes @@ -1 +1 @@ -Subproject commit c6506f7b8945fe1d8df533543974809f46749ba6 +Subproject commit a5cdad33c13a82b0a7113989d0f09cc0e4c9cd4e diff --git a/Aaru.Generators/PluginRegisterGenerator.cs b/Aaru.Generators/PluginRegisterGenerator.cs index 5dbecc376..1e1218193 100644 --- a/Aaru.Generators/PluginRegisterGenerator.cs +++ b/Aaru.Generators/PluginRegisterGenerator.cs @@ -217,16 +217,16 @@ public class PluginRegisterGenerator : ISourceGenerator if(writableFloppyImagePlugins?.Count > 0) { - sb.AppendLine(" public List GetAllWritableFloppyImagePlugins() => new()"); + sb.AppendLine(" public void RegisterWritableFloppyImagePlugins(IServiceCollection services)"); sb.AppendLine(" {"); foreach(string plugin in writableFloppyImagePlugins) - sb.AppendLine($" typeof({plugin}),"); + sb.AppendLine($" services.AddTransient();"); - sb.AppendLine(" };"); + sb.AppendLine(" }"); } else - sb.AppendLine(" public List GetAllWritableFloppyImagePlugins() => null;"); + sb.AppendLine(" public void RegisterWritableFloppyImagePlugins(IServiceCollection services) {}"); sb.AppendLine(); diff --git a/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs b/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs index 04022f134..f6396ef0c 100644 --- a/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs +++ b/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs @@ -146,16 +146,16 @@ public sealed class PluginsViewModel : ViewModelBase }); } - foreach(Type imageType in PluginRegister.Singleton.WritableFloppyImages.Values) + foreach(IWritableFloppyImage writableFloppyImage in PluginRegister.Singleton.WritableFloppyImages.Values) { - if(Activator.CreateInstance(imageType) is not IWritableFloppyImage writableFloppyImage) + if(writableFloppyImage is null) continue; WritableFloppyImages.Add(new PluginModel { Name = writableFloppyImage.Name, Uuid = writableFloppyImage.Id, - Version = Assembly.GetAssembly(imageType)?.GetName().Version?.ToString(), + Version = Assembly.GetAssembly(writableFloppyImage.GetType())?.GetName().Version?.ToString(), Author = writableFloppyImage.Author }); }