aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-27 11:25:04 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-27 11:25:04 -0500
commitf0f897e97e45a489f1c02e1d81dc838a4ab5bd13 (patch)
tree159dafeff5ffcefb0ce7560797275b1722bfd914 /MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs
parent74625cc580076fe8f67f2ff40f99ecf7a33f13e6 (diff)
updated nuget
Diffstat (limited to 'MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs')
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs58
1 files changed, 58 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs b/MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs
new file mode 100644
index 000000000..56e92f82c
--- /dev/null
+++ b/MediaBrowser.Server.Implementations/LiveTv/CleanDatabaseScheduledTask.cs
@@ -0,0 +1,58 @@
+using MediaBrowser.Common.ScheduledTasks;
+using MediaBrowser.Controller.LiveTv;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Server.Implementations.LiveTv
+{
+ class CleanDatabaseScheduledTask : IScheduledTask, IConfigurableScheduledTask
+ {
+ private readonly ILiveTvManager _liveTvManager;
+
+ public CleanDatabaseScheduledTask(ILiveTvManager liveTvManager)
+ {
+ _liveTvManager = liveTvManager;
+ }
+
+ public string Name
+ {
+ get { return "Clean TV Database"; }
+ }
+
+ public string Description
+ {
+ get { return "Deletes old programs from the tv database."; }
+ }
+
+ public string Category
+ {
+ get { return "Live TV"; }
+ }
+
+ public Task Execute(System.Threading.CancellationToken cancellationToken, IProgress<double> progress)
+ {
+ var manager = (LiveTvManager)_liveTvManager;
+
+ return manager.CleanDatabase(progress, cancellationToken);
+ }
+
+ public IEnumerable<ITaskTrigger> GetDefaultTriggers()
+ {
+ return new ITaskTrigger[]
+ {
+ new IntervalTrigger{ Interval = TimeSpan.FromHours(24)}
+ };
+ }
+
+ public bool IsHidden
+ {
+ get { return _liveTvManager.ActiveService == null; }
+ }
+
+ public bool IsEnabled
+ {
+ get { return true; }
+ }
+ }
+}