using System; using System.Linq; using NzbDrone.Core.Model.Notification; namespace NzbDrone.Core.Jobs.Framework { public interface IJob { /// /// Name of the timer. /// This is the name that will be visible in all UI elements /// \\\ string Name { get; } /// /// Default Interval that this job should run at. In seconds. /// /// Setting this value to 0 means the job will not be /// executed by the schedule and is only triggered manually. TimeSpan DefaultInterval { get; } /// /// Starts the job /// /// Notification object that is passed in by JobProvider. /// this object should be used to update the progress on the UI /// The that should be used to limit the target of this job /// /// The that should be used to limit the target of this job void Start(ProgressNotification notification, dynamic options); } }