Lidarr/src/NzbDrone.Core/Notifications/INotification.cs

40 lines
1.6 KiB
C#

using System.Collections.Generic;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Music;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Notifications
{
public interface INotification : IProvider
{
string Link { get; }
void OnGrab(GrabMessage grabMessage);
void OnReleaseImport(AlbumDownloadMessage message);
void OnRename(Artist artist, List<RenamedTrackFile> renamedFiles);
void OnAlbumDelete(AlbumDeleteMessage deleteMessage);
void OnArtistDelete(ArtistDeleteMessage deleteMessage);
void OnHealthIssue(HealthCheck.HealthCheck healthCheck);
void OnHealthRestored(HealthCheck.HealthCheck previousCheck);
void OnApplicationUpdate(ApplicationUpdateMessage updateMessage);
void OnManualInteractionRequired(ManualInteractionRequiredMessage message);
void OnDownloadFailure(DownloadFailedMessage message);
void OnImportFailure(AlbumDownloadMessage message);
void OnTrackRetag(TrackRetagMessage message);
void ProcessQueue();
bool SupportsOnGrab { get; }
bool SupportsOnReleaseImport { get; }
bool SupportsOnUpgrade { get; }
bool SupportsOnRename { get; }
bool SupportsOnAlbumDelete { get; }
bool SupportsOnArtistDelete { get; }
bool SupportsOnHealthIssue { get; }
bool SupportsOnHealthRestored { get; }
bool SupportsOnApplicationUpdate { get; }
bool SupportsOnManualInteractionRequired { get; }
bool SupportsOnDownloadFailure { get; }
bool SupportsOnImportFailure { get; }
bool SupportsOnTrackRetag { get; }
}
}