Class FileToolLoadoutRegistry
An IToolLoadoutRegistry that discovers and loads
*.loadout.yaml files from one or more configured search paths.
public sealed class FileToolLoadoutRegistry : IToolLoadoutRegistry
- Inheritance
-
FileToolLoadoutRegistry
- Implements
- Inherited Members
Remarks
Files are loaded once at construction. Invalid or unreadable files are skipped silently so that a single bad file does not prevent other loadouts from loading.
Constructors
FileToolLoadoutRegistry(IEnumerable<string>)
Initialises the registry by scanning all supplied paths for
*.loadout.yaml files (recursive).
public FileToolLoadoutRegistry(IEnumerable<string> searchPaths)
Parameters
searchPathsIEnumerable<string>
Properties
LoadedCount
Number of loadouts successfully loaded from disk.
public int LoadedCount { get; }
Property Value
Methods
GetAll()
Returns all registered loadouts in registration order.
public IReadOnlyList<ToolLoadout> GetAll()
Returns
GetLoadout(string)
Returns the loadout with the given name, or null if not found.
public ToolLoadout? GetLoadout(string name)
Parameters
namestring
Returns
Register(ToolLoadout)
Registers a loadout. Overwrites any existing loadout with the same name.
public void Register(ToolLoadout loadout)
Parameters
loadoutToolLoadout
ResolveActivePlugins(string, IEnumerable<KernelPlugin>)
Resolves the set of plugin names that should be actively loaded for the given loadout,
drawing from availablePlugins. Respects inheritance, category
mapping, and disabled-plugin overrides.
public IReadOnlySet<string> ResolveActivePlugins(string loadoutName, IEnumerable<KernelPlugin> availablePlugins)
Parameters
loadoutNamestringName of the loadout to resolve.
availablePluginsIEnumerable<KernelPlugin>All plugins registered on the kernel.
Returns
- IReadOnlySet<string>
Plugin names that should be loaded for this loadout.
ResolveDiscoverablePlugins(string, IEnumerable<KernelPlugin>)
Resolves the set of plugin names that are discoverable (lazy) for the given loadout. These plugins are not loaded by default but can be enabled on request at runtime. Active and disabled plugins are excluded from the discoverable set.
public IReadOnlySet<string> ResolveDiscoverablePlugins(string loadoutName, IEnumerable<KernelPlugin> availablePlugins)
Parameters
loadoutNamestringName of the loadout to resolve.
availablePluginsIEnumerable<KernelPlugin>All plugins registered on the kernel.
Returns
- IReadOnlySet<string>
Plugin names that are discoverable but not currently active.