using LANCommander.Server.Services.Providers.Metadata; using Microsoft.Extensions.DependencyInjection; namespace LANCommander.Server.Services; public class MetadataService(IServiceProvider serviceProvider) { public IEnumerable GetProviderNames() { var providers = serviceProvider.GetServices(); return providers.Where(p => p.IsAvailable).Select(p => p.ProviderName); } public IMetadataProvider? GetProvider(string providerName) { var providers = serviceProvider.GetServices(); return providers.FirstOrDefault(p => p.ProviderName == providerName); } }