aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/Native/Standby.cs
diff options
context:
space:
mode:
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);
+ }
+ }
+ }
+}