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