[Plugin system] Move filesystems to dependency injection.

This commit is contained in:
2023-10-05 16:39:06 +01:00
parent e19cdd942a
commit bc7e02b24c
9 changed files with 46 additions and 55 deletions

View File

@@ -118,17 +118,17 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type filesystem in PluginRegister.Singleton.Filesystems.Values)
foreach(IFilesystem filesystem in PluginRegister.Singleton.Filesystems.Values)
{
if(Activator.CreateInstance(filesystem) is not IFilesystem fs)
if(filesystem is null)
continue;
Filesystems.Add(new PluginModel
{
Name = fs.Name,
Uuid = fs.Id,
Version = Assembly.GetAssembly(filesystem)?.GetName().Version?.ToString(),
Author = fs.Author
Name = filesystem.Name,
Uuid = filesystem.Id,
Version = Assembly.GetAssembly(filesystem.GetType())?.GetName().Version?.ToString(),
Author = filesystem.Author
});
}

View File

@@ -651,9 +651,9 @@ public sealed class MainWindowViewModel : ViewModelBase
foreach(string pluginName in idPlugins)
{
if(!plugins.Filesystems.TryGetValue(pluginName, out pluginType))
if(!plugins.Filesystems.TryGetValue(pluginName, out IFilesystem fs))
continue;
if(Activator.CreateInstance(pluginType) is not IFilesystem fs)
if(fs is null)
continue;
fs.GetInformation(imageFormat, partition, null, out string information,
@@ -726,9 +726,9 @@ public sealed class MainWindowViewModel : ViewModelBase
foreach(string pluginName in idPlugins)
{
if(!plugins.Filesystems.TryGetValue(pluginName, out pluginType))
if(!plugins.Filesystems.TryGetValue(pluginName, out IFilesystem fs))
continue;
if(Activator.CreateInstance(pluginType) is not IFilesystem fs)
if(fs is null)
continue;
fs.GetInformation(imageFormat, wholePart, null, out string information,