using System.Collections.Generic; using System.Linq; using NLog; using NzbDrone.Common.Composition; using NzbDrone.Core.ThingiProvider; namespace NzbDrone.Core.Download { public interface IDownloadClientFactory : IProviderFactory { List Enabled(); } public class DownloadClientFactory : ProviderFactory, IDownloadClientFactory { private readonly IDownloadClientRepository _providerRepository; public DownloadClientFactory(IDownloadClientRepository providerRepository, IEnumerable providers, IContainer container, Logger logger) : base(providerRepository, providers, container, logger) { _providerRepository = providerRepository; } public List Enabled() { return GetAvailableProviders().Where(n => ((DownloadClientDefinition)n.Definition).Enable).ToList(); } } }