Sonarr/src/NzbDrone.Core/ThingiProvider/ProviderDefinition.cs

47 lines
1.1 KiB
C#
Raw Normal View History

using System.Collections.Generic;
using System.Text.Json.Serialization;
using Equ;
2017-02-11 06:46:39 +00:00
using NzbDrone.Core.Datastore;
2013-10-01 17:13:40 +00:00
namespace NzbDrone.Core.ThingiProvider
{
public abstract class ProviderDefinition : ModelBase
{
2017-02-11 06:46:39 +00:00
protected ProviderDefinition()
{
Tags = new HashSet<int>();
}
2013-10-01 17:13:40 +00:00
private IProviderConfig _settings;
2015-04-25 16:02:17 +00:00
public string Name { get; set; }
[JsonIgnore]
[MemberwiseEqualityIgnore]
2015-04-25 16:02:17 +00:00
public string ImplementationName { get; set; }
2015-04-25 16:02:17 +00:00
public string Implementation { get; set; }
public string ConfigContract { get; set; }
public virtual bool Enable { get; set; }
[MemberwiseEqualityIgnore]
public ProviderMessage Message { get; set; }
2017-02-11 06:46:39 +00:00
public HashSet<int> Tags { get; set; }
2013-10-01 17:13:40 +00:00
[MemberwiseEqualityIgnore]
2013-10-01 17:13:40 +00:00
public IProviderConfig Settings
{
get => _settings;
2013-10-01 17:13:40 +00:00
set
{
_settings = value;
if (value != null)
{
ConfigContract = value.GetType().Name;
}
}
}
}
}