mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
fixed more tests.
This commit is contained in:
54
NzbDrone.Core/Download/DownloadClientProvider.cs
Normal file
54
NzbDrone.Core/Download/DownloadClientProvider.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Download.Clients;
|
||||
using NzbDrone.Core.Download.Clients.Nzbget;
|
||||
using NzbDrone.Core.Download.Clients.Sabnzbd;
|
||||
using NzbDrone.Core.Model;
|
||||
|
||||
namespace NzbDrone.Core.Download
|
||||
{
|
||||
public interface IProvideDownloadClient
|
||||
{
|
||||
IDownloadClient GetDownloadClient();
|
||||
}
|
||||
|
||||
public class DownloadClientProvider : IProvideDownloadClient
|
||||
{
|
||||
|
||||
private readonly SabProvider _sabProvider;
|
||||
private readonly IConfigService _configService;
|
||||
private readonly BlackholeProvider _blackholeProvider;
|
||||
private readonly PneumaticProvider _pneumaticProvider;
|
||||
private readonly NzbgetProvider _nzbgetProvider;
|
||||
|
||||
|
||||
public DownloadClientProvider(SabProvider sabProvider, IConfigService configService,
|
||||
BlackholeProvider blackholeProvider,
|
||||
PneumaticProvider pneumaticProvider,
|
||||
NzbgetProvider nzbgetProvider)
|
||||
{
|
||||
_sabProvider = sabProvider;
|
||||
_configService = configService;
|
||||
_blackholeProvider = blackholeProvider;
|
||||
_pneumaticProvider = pneumaticProvider;
|
||||
_nzbgetProvider = nzbgetProvider;
|
||||
}
|
||||
|
||||
public IDownloadClient GetDownloadClient()
|
||||
{
|
||||
switch (_configService.DownloadClient)
|
||||
{
|
||||
case DownloadClientType.Blackhole:
|
||||
return _blackholeProvider;
|
||||
|
||||
case DownloadClientType.Pneumatic:
|
||||
return _pneumaticProvider;
|
||||
|
||||
case DownloadClientType.Nzbget:
|
||||
return _nzbgetProvider;
|
||||
|
||||
default:
|
||||
return _sabProvider;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user