Make PluginBase a singleton.

This commit is contained in:
2022-12-17 20:50:17 +00:00
parent f5f9dc1ad4
commit 7a2b37496b
24 changed files with 194 additions and 105 deletions

View File

@@ -62,7 +62,7 @@ public sealed class PluginsViewModel : ViewModelBase
CloseCommand = ReactiveCommand.Create(ExecuteCloseCommand);
// TODO: Takes too much time
foreach(Type filterType in GetPluginBase.Instance.Filters.Values)
foreach(Type filterType in PluginBase.Singleton.Filters.Values)
{
if(Activator.CreateInstance(filterType) is not IFilter filter)
continue;
@@ -76,7 +76,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type imageType in GetPluginBase.Instance.FloppyImages.Values)
foreach(Type imageType in PluginBase.Singleton.FloppyImages.Values)
{
if(Activator.CreateInstance(imageType) is not IFloppyImage floppyImage)
continue;
@@ -90,7 +90,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type imageType in GetPluginBase.Instance.MediaImages.Values)
foreach(Type imageType in PluginBase.Singleton.MediaImages.Values)
{
if(Activator.CreateInstance(imageType) is not IMediaImage mediaImage)
continue;
@@ -104,7 +104,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type partitionType in GetPluginBase.Instance.Partitions.Values)
foreach(Type partitionType in PluginBase.Singleton.Partitions.Values)
{
if(Activator.CreateInstance(partitionType) is not IPartition partition)
continue;
@@ -118,7 +118,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type filesystem in GetPluginBase.Instance.Filesystems.Values)
foreach(Type filesystem in PluginBase.Singleton.Filesystems.Values)
{
if(Activator.CreateInstance(filesystem) is not IFilesystem fs)
continue;
@@ -132,7 +132,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type readOnlyFilesystem in GetPluginBase.Instance.ReadOnlyFilesystems.Values)
foreach(Type readOnlyFilesystem in PluginBase.Singleton.ReadOnlyFilesystems.Values)
{
if(Activator.CreateInstance(readOnlyFilesystem) is not IReadOnlyFilesystem fs)
continue;
@@ -146,7 +146,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type imageType in GetPluginBase.Instance.WritableFloppyImages.Values)
foreach(Type imageType in PluginBase.Singleton.WritableFloppyImages.Values)
{
if(Activator.CreateInstance(imageType) is not IWritableFloppyImage writableFloppyImage)
continue;
@@ -160,7 +160,7 @@ public sealed class PluginsViewModel : ViewModelBase
});
}
foreach(Type baseWritableImageType in GetPluginBase.Instance.WritableImages.Values)
foreach(Type baseWritableImageType in PluginBase.Singleton.WritableImages.Values)
{
if(Activator.CreateInstance(baseWritableImageType) is not IWritableImage writableImage)
continue;

View File

@@ -41,7 +41,6 @@ using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Aaru.CommonTypes;
using Aaru.CommonTypes.AaruMetadata;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -200,7 +199,7 @@ public sealed class ImageConvertViewModel : ViewModelBase
DriveSerialNumberVisible = !string.IsNullOrWhiteSpace(inputFormat.Info.DriveSerialNumber);
DriveFirmwareRevisionVisible = !string.IsNullOrWhiteSpace(inputFormat.Info.DriveFirmwareRevision);
PluginBase plugins = GetPluginBase.Instance;
PluginBase plugins = PluginBase.Singleton;
foreach(Type pluginType in plugins.WritableImages.Values)
{

View File

@@ -594,7 +594,7 @@ public sealed class MainWindowViewModel : ViewModelBase
bool checkRaw = false;
List<string> idPlugins;
Type pluginType;
PluginBase plugins = GetPluginBase.Instance;
PluginBase plugins = PluginBase.Singleton;
if(partitions.Count == 0)
{

View File

@@ -42,7 +42,6 @@ using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using System.Xml.Serialization;
using Aaru.CommonTypes;
using Aaru.CommonTypes.AaruMetadata;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -166,7 +165,7 @@ public sealed class MediaDumpViewModel : ViewModelBase
break;
}
PluginBase plugins = GetPluginBase.Instance;
PluginBase plugins = PluginBase.Singleton;
foreach(Type pluginType in plugins.WritableImages.Values)
{