You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jellyfin/MediaBrowser.Server.Startup.../SystemEvents.cs

35 lines
1.1 KiB

using System;
using MediaBrowser.Common.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.System;
namespace MediaBrowser.Server.Startup.Common
{
public class SystemEvents : ISystemEvents
{
public event EventHandler Resume;
public event EventHandler Suspend;
private readonly ILogger _logger;
public SystemEvents(ILogger logger)
{
_logger = logger;
Microsoft.Win32.SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
}
private void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e)
{
switch (e.Mode)
{
case Microsoft.Win32.PowerModes.Resume:
EventHelper.FireEventIfNotNull(Resume, this, EventArgs.Empty, _logger);
break;
case Microsoft.Win32.PowerModes.Suspend:
EventHelper.FireEventIfNotNull(Suspend, this, EventArgs.Empty, _logger);
break;
}
}
}
}