1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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;
- namespace Emby.Server.Implementations.EntryPoints
- {
- public class SystemEvents : IServerEntryPoint
- {
- private readonly ISystemEvents _systemEvents;
- private readonly IApplicationHost _appHost;
- public SystemEvents(ISystemEvents systemEvents, IApplicationHost 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;
- }
- }
- }
|