Cleaned up Notifications a bit

This commit is contained in:
Mark McDowall 2013-05-19 19:43:22 -07:00
commit a153599d50
14 changed files with 23 additions and 62 deletions

View file

@ -1,10 +1,11 @@
using System;
using NLog;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Tv;
namespace NzbDrone.Core.Notifications
{
public abstract class NotificationBase : INotification
public abstract class NotificationBase<TSetting> : INotification where TSetting : class, INotifcationSettings, new()
{
public abstract string Name { get; }
@ -13,5 +14,14 @@ namespace NzbDrone.Core.Notifications
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;
}
}
}