From 4e816552395c1b57868ccd29f6f2e9b70d7272a5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 10 May 2014 13:28:03 -0400 Subject: updated mono build --- MediaBrowser.ServerApplication/Native/NativeApp.cs | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.ServerApplication/Native/NativeApp.cs') 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 { /// @@ -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); + } + } } } -- cgit v1.2.3