merge common implementations and server implementations

This commit is contained in:
Luke Pulverenti
2017-08-16 02:43:41 -04:00
parent e3531534b8
commit bfcd1b520f
389 changed files with 1212 additions and 1626 deletions

View File

@@ -0,0 +1,36 @@
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();
}
}
}

View File

@@ -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);
}
}
}