diff options
Diffstat (limited to 'Emby.Server.Implementations/Threading')
| -rw-r--r-- | Emby.Server.Implementations/Threading/CommonTimer.cs | 37 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Threading/TimerFactory.cs | 18 |
2 files changed, 55 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Threading/CommonTimer.cs b/Emby.Server.Implementations/Threading/CommonTimer.cs new file mode 100644 index 000000000..bb67325d1 --- /dev/null +++ b/Emby.Server.Implementations/Threading/CommonTimer.cs @@ -0,0 +1,37 @@ +using System; +using System.Threading; +using MediaBrowser.Model.Threading; + +namespace Emby.Server.Implementations.Threading +{ + public class CommonTimer : ITimer + { + private readonly Timer _timer; + + public CommonTimer(Action<object> callback, object state, TimeSpan dueTime, TimeSpan period) + { + _timer = new Timer(new TimerCallback(callback), state, dueTime, period); + } + + public CommonTimer(Action<object> callback, object state, int dueTimeMs, int periodMs) + { + _timer = new Timer(new TimerCallback(callback), state, dueTimeMs, periodMs); + } + + public void Change(TimeSpan dueTime, TimeSpan period) + { + _timer.Change(dueTime, period); + } + + public void Change(int dueTimeMs, int periodMs) + { + _timer.Change(dueTimeMs, periodMs); + } + + public void Dispose() + { + _timer.Dispose(); + GC.SuppressFinalize(this); + } + } +} diff --git a/Emby.Server.Implementations/Threading/TimerFactory.cs b/Emby.Server.Implementations/Threading/TimerFactory.cs new file mode 100644 index 000000000..4ab6f6fc4 --- /dev/null +++ b/Emby.Server.Implementations/Threading/TimerFactory.cs @@ -0,0 +1,18 @@ +using System; +using MediaBrowser.Model.Threading; + +namespace Emby.Server.Implementations.Threading +{ + public class TimerFactory : ITimerFactory + { + public ITimer Create(Action<object> callback, object state, TimeSpan dueTime, TimeSpan period) + { + return new CommonTimer(callback, state, dueTime, period); + } + + public ITimer Create(Action<object> callback, object state, int dueTimeMs, int periodMs) + { + return new CommonTimer(callback, state, dueTimeMs, periodMs); + } + } +} |
