mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-19 20:09:03 -07:00
49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
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;
|
|
using MediaBrowser.Controller;
|
|
|
|
namespace Emby.Server.Implementations.EntryPoints
|
|
{
|
|
public class SystemEvents : IServerEntryPoint
|
|
{
|
|
private readonly ISystemEvents _systemEvents;
|
|
private readonly IServerApplicationHost _appHost;
|
|
|
|
public SystemEvents(ISystemEvents systemEvents, IServerApplicationHost appHost)
|
|
{
|
|
_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;
|
|
}
|
|
}
|
|
}
|