You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.1 KiB
49 lines
1.1 KiB
|
|
using NzbDrone.Core.Datastore;
|
|
using NzbDrone.Core.Messaging.Events;
|
|
|
|
namespace NzbDrone.Core.ThingiProvider
|
|
{
|
|
|
|
|
|
public class DownloadProviderRepository : BasicRepository<DownloadProviderModel>
|
|
{
|
|
public DownloadProviderRepository(IDatabase database, IEventAggregator eventAggregator)
|
|
: base(database, eventAggregator)
|
|
{
|
|
}
|
|
}
|
|
|
|
public class DownloadProviderModel : Provider<DownloadProviderConfig>
|
|
{
|
|
|
|
}
|
|
|
|
public class DownloadProviderConfig : ProviderSetting
|
|
{
|
|
|
|
}
|
|
|
|
|
|
public abstract class Provider<TSettings> : ModelBase
|
|
where TSettings : ProviderSetting
|
|
{
|
|
public string Implementation { get; set; }
|
|
public TSettings Config { get; set; }
|
|
}
|
|
|
|
public abstract class ProviderSetting : IEmbeddedDocument
|
|
{
|
|
|
|
}
|
|
|
|
public abstract class ProviderBase<TSettings> where TSettings : ProviderSetting
|
|
{
|
|
public TSettings Settings { get; private set; }
|
|
|
|
public void LoadSettings(TSettings setting)
|
|
{
|
|
Settings = setting;
|
|
}
|
|
}
|
|
} |