2013-09-11 06:33:47 +00:00
|
|
|
using System;
|
2021-04-26 20:56:38 +00:00
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
using NzbDrone.Common.Serializer;
|
2013-09-11 06:33:47 +00:00
|
|
|
|
|
|
|
namespace NzbDrone.Core.Messaging.Commands
|
|
|
|
{
|
2021-04-26 20:56:38 +00:00
|
|
|
[JsonConverter(typeof(PolymorphicWriteOnlyJsonConverter<Command>))]
|
2015-01-16 00:30:09 +00:00
|
|
|
public abstract class Command
|
2013-09-11 06:33:47 +00:00
|
|
|
{
|
2017-09-04 02:20:56 +00:00
|
|
|
private bool _sendUpdatesToClient;
|
|
|
|
|
|
|
|
public virtual bool SendUpdatesToClient
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return _sendUpdatesToClient;
|
|
|
|
}
|
|
|
|
|
|
|
|
set
|
|
|
|
{
|
|
|
|
_sendUpdatesToClient = value;
|
|
|
|
}
|
|
|
|
}
|
2013-09-11 06:33:47 +00:00
|
|
|
|
2016-12-09 06:54:15 +00:00
|
|
|
public virtual bool UpdateScheduledTask => true;
|
|
|
|
public virtual string CompletionMessage => "Completed";
|
2018-08-29 03:01:02 +00:00
|
|
|
public virtual bool RequiresDiskAccess => false;
|
|
|
|
public virtual bool IsExclusive => false;
|
2013-09-11 06:33:47 +00:00
|
|
|
|
2019-07-14 21:17:00 +00:00
|
|
|
public virtual bool IsTypeExclusive => false;
|
|
|
|
|
2015-10-03 17:45:26 +00:00
|
|
|
public string Name { get; private set; }
|
2014-04-12 20:49:41 +00:00
|
|
|
public DateTime? LastExecutionTime { get; set; }
|
2020-02-19 20:27:25 +00:00
|
|
|
public DateTime? LastStartTime { get; set; }
|
2015-01-16 00:30:09 +00:00
|
|
|
public CommandTrigger Trigger { get; set; }
|
2017-09-04 02:20:56 +00:00
|
|
|
public bool SuppressMessages { get; set; }
|
2013-09-11 06:33:47 +00:00
|
|
|
|
2021-05-23 05:27:22 +00:00
|
|
|
public string ClientUserAgent { get; set; }
|
|
|
|
|
2015-01-16 00:30:09 +00:00
|
|
|
public Command()
|
2013-09-11 06:33:47 +00:00
|
|
|
{
|
|
|
|
Name = GetType().Name.Replace("Command", "");
|
|
|
|
}
|
|
|
|
}
|
2015-01-16 00:30:09 +00:00
|
|
|
}
|