aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/Native/Standby.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-11-09 13:24:57 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-11-09 13:24:57 -0500
commit1a80362a0f04c3cc571456af64f9de19c0c30d2a (patch)
tree31916eea422d8ac861aa36a47cae832eee168ad8 /MediaBrowser.ServerApplication/Native/Standby.cs
parent40897bac1494791e1ec6abcfe85cda27d4664a32 (diff)
created common startup project for mono & windows
Diffstat (limited to 'MediaBrowser.ServerApplication/Native/Standby.cs')
-rw-r--r--MediaBrowser.ServerApplication/Native/Standby.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/MediaBrowser.ServerApplication/Native/Standby.cs b/MediaBrowser.ServerApplication/Native/Standby.cs
new file mode 100644
index 000000000..274c72b25
--- /dev/null
+++ b/MediaBrowser.ServerApplication/Native/Standby.cs
@@ -0,0 +1,36 @@
+using System.Runtime.InteropServices;
+
+namespace MediaBrowser.ServerApplication.Native
+{
+ /// <summary>
+ /// Class NativeApp
+ /// </summary>
+ public static class Standby
+ {
+ 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);
+ }
+ }
+ }
+}