jellyfin/Emby.Server.Implementations/EntryPoints/SystemEvents.cs

49 lines
1.3 KiB
C#
Raw Normal View History

2016-11-13 23:44:21 -07:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MediaBrowser.Model.System;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Common;
2017-01-21 13:27:07 -07:00
using MediaBrowser.Controller;
2016-11-13 23:44:21 -07:00
namespace Emby.Server.Implementations.EntryPoints
{
public class SystemEvents : IServerEntryPoint
{
private readonly ISystemEvents _systemEvents;
2017-01-21 13:27:07 -07:00
private readonly IServerApplicationHost _appHost;
2016-11-13 23:44:21 -07:00
2017-01-21 13:27:07 -07:00
public SystemEvents(ISystemEvents systemEvents, IServerApplicationHost appHost)
2016-11-13 23:44:21 -07:00
{
_systemEvents = systemEvents;
_appHost = appHost;
}
public void Run()
{
_systemEvents.SessionLogoff += _systemEvents_SessionLogoff;
_systemEvents.SystemShutdown += _systemEvents_SystemShutdown;
}
private void _systemEvents_SessionLogoff(object sender, EventArgs e)
{
if (!_appHost.IsRunningAsService)
{
_appHost.Shutdown();
}
}
private void _systemEvents_SystemShutdown(object sender, EventArgs e)
{
_appHost.Shutdown();
}
public void Dispose()
{
_systemEvents.SystemShutdown -= _systemEvents_SystemShutdown;
}
}
}