aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/Native/NativeApp.cs
diff options
context:
space:
mode:
author7illusions <z@7illusions.com>2014-05-12 16:55:07 +0200
committer7illusions <z@7illusions.com>2014-05-12 16:55:07 +0200
commitbaf5cf2544fcaad2246923f60caaf3fed4a94aaf (patch)
treea808b700095f876e437b95c432c0220e241f9fda /MediaBrowser.ServerApplication/Native/NativeApp.cs
parent8f3a6279e173dcbaaa05a56556afb410ee12dd4d (diff)
parentb9b568de13d81f9db1a8502d50940475c1d79c72 (diff)
Merge pull request #3 from MediaBrowser/master
Sync with Master
Diffstat (limited to 'MediaBrowser.ServerApplication/Native/NativeApp.cs')
-rw-r--r--MediaBrowser.ServerApplication/Native/NativeApp.cs29
1 files changed, 28 insertions, 1 deletions
diff --git a/MediaBrowser.ServerApplication/Native/NativeApp.cs b/MediaBrowser.ServerApplication/Native/NativeApp.cs
index 646a7bc98..2388b610b 100644
--- a/MediaBrowser.ServerApplication/Native/NativeApp.cs
+++ b/MediaBrowser.ServerApplication/Native/NativeApp.cs
@@ -1,4 +1,5 @@
-
+using System.Runtime.InteropServices;
+
namespace MediaBrowser.ServerApplication.Native
{
/// <summary>
@@ -57,5 +58,31 @@ namespace MediaBrowser.ServerApplication.Native
return MainStartup.CanSelfUpdate;
}
}
+
+ public static void PreventSystemStandby()
+ {
+ SystemHelper.ResetStandbyTimer();
+ }
+
+ internal enum EXECUTION_STATE : uint
+ {
+ ES_NONE = 0,
+ ES_SYSTEM_REQUIRED = 0x00000001,
+ ES_DISPLAY_REQUIRED = 0x00000002,
+ ES_USER_PRESENT = 0x00000004,
+ ES_AWAYMODE_REQUIRED = 0x00000040,
+ ES_CONTINUOUS = 0x80000000
+ }
+
+ public class SystemHelper
+ {
+ [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
+
+ public static void ResetStandbyTimer()
+ {
+ EXECUTION_STATE es = SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED);
+ }
+ }
}
}