2013-09-21 00:18:11 +00:00
|
|
|
|
|
|
|
|
|
using NzbDrone.Core.Datastore;
|
|
|
|
|
using NzbDrone.Core.Messaging.Events;
|
2013-09-21 06:39:26 +00:00
|
|
|
|
using NzbDrone.Core.Notifications;
|
2013-09-21 00:18:11 +00:00
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Core.ThingiProvider
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class DownloadProviderRepository : BasicRepository<DownloadProviderModel>
|
|
|
|
|
{
|
|
|
|
|
public DownloadProviderRepository(IDatabase database, IEventAggregator eventAggregator)
|
|
|
|
|
: base(database, eventAggregator)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public class NotificationProviderRepository : BasicRepository<NotificationProviderModel>
|
|
|
|
|
{
|
|
|
|
|
public NotificationProviderRepository(IDatabase database, IEventAggregator eventAggregator)
|
|
|
|
|
: base(database, eventAggregator)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-09-21 00:18:11 +00:00
|
|
|
|
}
|
|
|
|
|
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public class DownloadProviderModel : Provider
|
2013-09-21 00:18:11 +00:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public abstract class Provider : ModelBase
|
2013-09-21 00:18:11 +00:00
|
|
|
|
{
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public string Name { get; set; }
|
2013-09-21 00:18:11 +00:00
|
|
|
|
public string Implementation { get; set; }
|
|
|
|
|
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public string ConfigContract
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (Settings == null) return null;
|
|
|
|
|
return Settings.GetType().Name;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
2013-09-21 00:18:11 +00:00
|
|
|
|
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public IProviderConfig Settings { get; set; }
|
2013-09-21 00:18:11 +00:00
|
|
|
|
}
|
|
|
|
|
|
2013-09-21 06:39:26 +00:00
|
|
|
|
public interface IProviderConfig
|
2013-09-21 00:18:11 +00:00
|
|
|
|
{
|
2013-09-21 06:39:26 +00:00
|
|
|
|
bool IsValid { get; }
|
2013-09-21 00:18:11 +00:00
|
|
|
|
}
|
|
|
|
|
}
|