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