aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Startup.Common/SystemEvents.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-11-14 02:29:42 -0500
committerGitHub <noreply@github.com>2016-11-14 02:29:42 -0500
commit54d3c2eed767b6d030961f9a75216c447f94abef (patch)
tree1855731242b35ffbed16beb1c96de1e6442a797e /MediaBrowser.Server.Startup.Common/SystemEvents.cs
parente8379b865c301cb8ab65eb5b883c44abdbedcf79 (diff)
parent43c69713835afee3d27ced041e5f96ec36fa0ce3 (diff)
Merge pull request #2288 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Startup.Common/SystemEvents.cs')
-rw-r--r--MediaBrowser.Server.Startup.Common/SystemEvents.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Startup.Common/SystemEvents.cs b/MediaBrowser.Server.Startup.Common/SystemEvents.cs
index 088d04a249..8d5cd4ad8c 100644
--- a/MediaBrowser.Server.Startup.Common/SystemEvents.cs
+++ b/MediaBrowser.Server.Startup.Common/SystemEvents.cs
@@ -9,6 +9,8 @@ namespace MediaBrowser.Server.Startup.Common
{
public event EventHandler Resume;
public event EventHandler Suspend;
+ public event EventHandler SessionLogoff;
+ public event EventHandler SystemShutdown;
private readonly ILogger _logger;
@@ -16,6 +18,20 @@ namespace MediaBrowser.Server.Startup.Common
{
_logger = logger;
Microsoft.Win32.SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
+ Microsoft.Win32.SystemEvents.SessionEnding += SystemEvents_SessionEnding;
+ }
+
+ private void SystemEvents_SessionEnding(object sender, Microsoft.Win32.SessionEndingEventArgs e)
+ {
+ switch (e.Reason)
+ {
+ case Microsoft.Win32.SessionEndReasons.Logoff:
+ EventHelper.FireEventIfNotNull(SessionLogoff, this, EventArgs.Empty, _logger);
+ break;
+ case Microsoft.Win32.SessionEndReasons.SystemShutdown:
+ EventHelper.FireEventIfNotNull(SystemShutdown, this, EventArgs.Empty, _logger);
+ break;
+ }
}
private void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e)