Radarr/src/NzbDrone.Core/Messaging/Commands/Command.cs

46 lines
1.3 KiB
C#
Raw Normal View History

2013-09-11 06:33:47 +00:00
using System;
using System.Text.Json.Serialization;
using NzbDrone.Common.Serializer;
2013-09-11 06:33:47 +00:00
namespace NzbDrone.Core.Messaging.Commands
{
[JsonConverter(typeof(PolymorphicWriteOnlyJsonConverter<Command>))]
public abstract class Command
2013-09-11 06:33:47 +00:00
{
2018-11-23 07:03:32 +00:00
private bool _sendUpdatesToClient;
2013-09-11 06:33:47 +00:00
2018-11-23 07:03:32 +00:00
public virtual bool SendUpdatesToClient
{
get
{
return _sendUpdatesToClient;
}
2018-11-23 07:03:32 +00:00
set
{
_sendUpdatesToClient = value;
}
}
public virtual bool UpdateScheduledTask => true;
public virtual string CompletionMessage => null;
2018-11-23 07:03:32 +00:00
public virtual bool RequiresDiskAccess => false;
public virtual bool IsExclusive => false;
public virtual bool IsTypeExclusive => false;
public virtual bool IsLongRunning => false;
2013-09-11 06:33:47 +00:00
public string Name { get; private set; }
public DateTime? LastExecutionTime { get; set; }
public DateTime? LastStartTime { get; set; }
public CommandTrigger Trigger { get; set; }
2018-11-23 07:03:32 +00:00
public bool SuppressMessages { get; set; }
2013-09-11 06:33:47 +00:00
public string ClientUserAgent { get; set; }
public Command()
2013-09-11 06:33:47 +00:00
{
Name = GetType().Name.Replace("Command", "");
}
}
}