1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-05 02:22:31 +01:00
Radarr/NzbDrone.Core/Notifications/NotificationBase.cs
Mark McDowall 8cac7ed1cd Notifications can be tested
Notification ImplementationType was added for showing in UI (Humanized/Title cased of Implementation)
2013-06-12 23:47:56 -07:00

29 lines
864 B
C#

using System;
using NLog;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Tv;
namespace NzbDrone.Core.Notifications
{
public abstract class NotificationBase<TSetting> : INotification where TSetting : class, INotifcationSettings, new()
{
public abstract string Name { get; }
public abstract string ImplementationName { get; }
public NotificationDefinition InstanceDefinition { get; set; }
public abstract void OnGrab(string message);
public abstract void OnDownload(string message, Series series);
public abstract void AfterRename(Series series);
public TSetting Settings { get; private set; }
public TSetting ImportSettingsFromJson(string json)
{
Settings = Json.Deserialize<TSetting>(json) ?? new TSetting();
return Settings;
}
}
}