2012-01-15 03:47:23 +01:00
|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
2011-12-02 02:33:17 +01:00
|
|
|
|
using NzbDrone.Core.Model.Notification;
|
2011-04-20 09:44:13 +02:00
|
|
|
|
|
2013-03-05 06:20:47 +01:00
|
|
|
|
namespace NzbDrone.Core.Jobs.Framework
|
2011-04-20 09:44:13 +02:00
|
|
|
|
{
|
|
|
|
|
public interface IJob
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Name of the timer.
|
|
|
|
|
/// This is the name that will be visible in all UI elements
|
2011-08-22 02:48:37 +02:00
|
|
|
|
/// </summary>\\\
|
2011-04-20 09:44:13 +02:00
|
|
|
|
string Name { get; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Default Interval that this job should run at. In seconds.
|
|
|
|
|
/// </summary>
|
2011-05-11 20:25:32 +02:00
|
|
|
|
/// <remarks>Setting this value to 0 means the job will not be
|
|
|
|
|
/// executed by the schedule and is only triggered manually.</remarks>
|
2012-01-15 03:47:23 +01:00
|
|
|
|
TimeSpan DefaultInterval { get; }
|
2011-04-20 09:44:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Starts the job
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="notification">Notification object that is passed in by JobProvider.
|
|
|
|
|
/// this object should be used to update the progress on the UI</param>
|
|
|
|
|
/// <param name="targetId">The that should be used to limit the target of this job</param>
|
2011-08-22 02:48:37 +02:00
|
|
|
|
/// /// <param name="secondaryTargetId">The that should be used to limit the target of this job</param>
|
2012-09-10 21:04:17 +02:00
|
|
|
|
void Start(ProgressNotification notification, dynamic options);
|
2011-04-20 09:44:13 +02:00
|
|
|
|
}
|
|
|
|
|
}
|