83 lines
1.5 KiB
C#
83 lines
1.5 KiB
C#
|
using System;
|
|||
|
using System.Timers;
|
|||
|
|
|||
|
namespace LeanCloud.Realtime.Internal
|
|||
|
{
|
|||
|
public class AVTimer : IAVTimer
|
|||
|
{
|
|||
|
public AVTimer()
|
|||
|
{
|
|||
|
timer = new Timer();
|
|||
|
}
|
|||
|
|
|||
|
Timer timer;
|
|||
|
|
|||
|
public bool Enabled
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return timer.Enabled;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
timer.Enabled = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public double Interval
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return timer.Interval;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
timer.Interval = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
long executed;
|
|||
|
|
|||
|
public long Executed
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return executed;
|
|||
|
}
|
|||
|
|
|||
|
internal set
|
|||
|
{
|
|||
|
executed = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void Start()
|
|||
|
{
|
|||
|
timer.Start();
|
|||
|
}
|
|||
|
|
|||
|
public void Stop()
|
|||
|
{
|
|||
|
timer.Stop();
|
|||
|
}
|
|||
|
|
|||
|
public event EventHandler<TimerEventArgs> Elapsed
|
|||
|
{
|
|||
|
add
|
|||
|
{
|
|||
|
timer.Elapsed += (object sender, ElapsedEventArgs e) =>
|
|||
|
{
|
|||
|
value(this, new TimerEventArgs(e.SignalTime));
|
|||
|
};
|
|||
|
}
|
|||
|
remove
|
|||
|
{
|
|||
|
timer.Elapsed -= (object sender, ElapsedEventArgs e) =>
|
|||
|
{
|
|||
|
value(this, new TimerEventArgs(e.SignalTime));
|
|||
|
}; ;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|