Adding All PowerMonitor Methods, Fixing Comments

This commit is contained in:
Gustavo Lara
2020-05-18 16:14:03 -05:00
parent 8fe60bfcda
commit bbab114c54
5 changed files with 70 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.Threading.Tasks;
namespace ElectronNET.API
{
@@ -66,7 +67,7 @@ namespace ElectronNET.API
private event Action _unlockScreen;
/// <summary>
///Emitted when the system is suspending.
/// Emitted when the system is suspending.
/// </summary>
public event Action OnSuspend
{
@@ -95,7 +96,7 @@ namespace ElectronNET.API
private event Action _suspend;
/// <summary>
///Emitted when system is resuming.
/// Emitted when system is resuming.
/// </summary>
public event Action OnResume
{
@@ -124,7 +125,7 @@ namespace ElectronNET.API
private event Action _resume;
/// <summary>
///Emitted when the system changes to AC power.
/// Emitted when the system changes to AC power.
/// </summary>
public event Action OnAC
{
@@ -153,7 +154,7 @@ namespace ElectronNET.API
private event Action _onAC;
/// <summary>
///Emitted when system changes to battery power.
/// Emitted when system changes to battery power.
/// </summary>
public event Action OnBattery
{
@@ -183,10 +184,10 @@ namespace ElectronNET.API
/// <summary>
///Emitted when the system is about to reboot or shut down. If the event handler
///invokes `e.preventDefault()`, Electron will attempt to delay system shutdown in
///order for the app to exit cleanly.If `e.preventDefault()` is called, the app
///should exit as soon as possible by calling something like `app.quit()`.
/// Emitted when the system is about to reboot or shut down. If the event handler
/// invokes `e.preventDefault()`, Electron will attempt to delay system shutdown in
/// order for the app to exit cleanly.If `e.preventDefault()` is called, the app
/// should exit as soon as possible by calling something like `app.quit()`.
/// </summary>
public event Action OnShutdown
{
@@ -214,6 +215,47 @@ namespace ElectronNET.API
private event Action _shutdown;
/// <summary>
/// Idle time in seconds
/// Calculate system idle time in seconds.
/// </summary>
public Task<int> GetSystemIdleTimeAsync()
{
var taskCompletionSource = new TaskCompletionSource<int>();
BridgeConnector.Socket.On("pm-getSystemIdleTime-completed", (idleTime) =>
{
BridgeConnector.Socket.Off("pm-getSystemIdleTime-completed");
taskCompletionSource.SetResult((int)idleTime);
});
BridgeConnector.Socket.Emit("pm-getSystemIdleTime");
return taskCompletionSource.Task;
}
/// <summary>
/// The system's current state. Can be `active`, `idle`, `locked` or `unknown`.
///
/// Calculate the system idle state. `idleThreshold` is the amount of time (in
/// seconds) before considered idle. `locked` is available on supported systems
/// only.
/// </summary>
public Task<string> GetSystemIdleStateAsync(int IdleThreshold)
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On("pm-getSystemIdleState-completed", (idleTime) =>
{
BridgeConnector.Socket.Off("pm-getSystemIdleState-completed");
taskCompletionSource.SetResult((string)idleTime);
});
BridgeConnector.Socket.Emit("pm-getSystemIdleState");
return taskCompletionSource.Task;
}
private static PowerMonitor _powerMonitor;
private static object _syncRoot = new object();

View File

@@ -38,5 +38,13 @@ module.exports = (socket) => {
electronSocket.emit('pm-shutdown');
});
});
socket.on('pm-getSystemIdleTime', () => {
var idleTime = electron_1.powerMonitor.getSystemIdleTime();
electronSocket.emit('pm-getSystemIdleTime-completed', idleTime);
});
socket.on('pm-getSystemIdleState', (idleThreshold) => {
var idleState = electron_1.powerMonitor.getSystemIdleState(idleThreshold);
electronSocket.emit('pm-getSystemIdleState-completed', idleState);
});
};
//# sourceMappingURL=powerMonitor.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"powerMonitor.js","sourceRoot":"","sources":["powerMonitor.ts"],"names":[],"mappings":";AAAA,uCAAwC;AACxC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAuB,EAAE,EAAE;IACjC,cAAc,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,uBAAY,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAChC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACxC,uBAAY,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YAClC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAClC,uBAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QACjC,uBAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAChC,uBAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACrC,uBAAY,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACnC,uBAAY,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
{"version":3,"file":"powerMonitor.js","sourceRoot":"","sources":["powerMonitor.ts"],"names":[],"mappings":";AAAA,uCAAwC;AACxC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAuB,EAAE,EAAE;IACjC,cAAc,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,uBAAY,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAChC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACxC,uBAAY,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YAClC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAClC,uBAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QACjC,uBAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAChC,uBAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACrC,uBAAY,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACnC,uBAAY,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACnC,IAAI,QAAQ,GAAG,uBAAY,CAAC,iBAAiB,EAAE,CAAC;QAEhD,cAAc,CAAC,IAAI,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,aAAa,EAAG,EAAE;QAClD,IAAI,SAAS,GAAG,uBAAY,CAAC,kBAAkB,CAAC,aAAa,CAAE,CAAC;QAEhE,cAAc,CAAC,IAAI,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}

View File

@@ -38,4 +38,14 @@ export = (socket: SocketIO.Socket) => {
electronSocket.emit('pm-shutdown');
});
});
socket.on('pm-getSystemIdleTime', () => {
var idleTime = powerMonitor.getSystemIdleTime();
electronSocket.emit('pm-getSystemIdleTime-completed', idleTime);
});
socket.on('pm-getSystemIdleState', (idleThreshold ) => {
var idleState = powerMonitor.getSystemIdleState(idleThreshold );
electronSocket.emit('pm-getSystemIdleState-completed', idleState);
});
};

View File

@@ -37,7 +37,7 @@ namespace ElectronNET.WebApp.Controllers
Electron.PowerMonitor.OnBattery += () =>
{
Console.WriteLine("The system about to reboot or shut down.");
Console.WriteLine("The system about to changes to battery power");
};
}