diff --git a/src/BizHawk.Client.Common/Api/BasicApiProvider.cs b/src/BizHawk.Client.Common/Api/BasicApiProvider.cs index a2d9114f7a..d20e897058 100644 --- a/src/BizHawk.Client.Common/Api/BasicApiProvider.cs +++ b/src/BizHawk.Client.Common/Api/BasicApiProvider.cs @@ -8,14 +8,14 @@ namespace BizHawk.Client.Common { public class BasicApiProvider : IExternalApiProvider { - private readonly IReadOnlyDictionary _libs; + public IReadOnlyCollection AvailableApis => Container.Libraries.Keys.ToList(); - public IReadOnlyCollection AvailableApis => _libs.Keys.ToList(); + public ApiContainer Container { get; } - public BasicApiProvider(ApiContainer apiContainer) => _libs = apiContainer.Libraries; + public BasicApiProvider(ApiContainer apiContainer) => Container = apiContainer; - public object? GetApi(Type t) => _libs.TryGetValue(t, out var api) ? api : null; + public object? GetApi(Type t) => Container.Libraries.TryGetValue(t, out var api) ? api : null; - public bool HasApi(Type t) => _libs.ContainsKey(t); + public bool HasApi(Type t) => Container.Libraries.ContainsKey(t); } } diff --git a/src/BizHawk.Client.Common/Api/IExternalApiProvider.cs b/src/BizHawk.Client.Common/Api/IExternalApiProvider.cs index eefa6c855c..2842c9f0d2 100644 --- a/src/BizHawk.Client.Common/Api/IExternalApiProvider.cs +++ b/src/BizHawk.Client.Common/Api/IExternalApiProvider.cs @@ -10,6 +10,8 @@ namespace BizHawk.Client.Common /// a list of all currently registered APIs that are available IReadOnlyCollection AvailableApis { get; } + ApiContainer Container { get; } + /// an instance of the iff available else object? GetApi(Type t);