From 95d614796e23e2791a1e5c8dd8d8b80f2946eff7 Mon Sep 17 00:00:00 2001 From: theolivenbaum Date: Mon, 12 Jul 2021 21:27:40 +0200 Subject: [PATCH] works --- ElectronNET.API/App.cs | 2 +- .../Entities/CookieChangedCause.cs | 9 +++++ ElectronNET.API/Entities/Display.cs | 5 +++ .../Entities/TrayClickEventArgs.cs | 1 + .../Entities/TrayClickEventResponse.cs | 8 +++++ ElectronNET.API/Screen.cs | 35 +++++++++---------- ElectronNET.API/Shell.cs | 16 ++++----- ElectronNET.API/Tray.cs | 21 ++++------- ElectronNET.API/WebContents.cs | 14 ++++---- ElectronNET.Host/api/app.js | 2 +- ElectronNET.Host/api/screen.js | 2 +- ElectronNET.Host/api/tray.js | 6 ++-- ElectronNET.WebApp/Program.cs | 2 +- 13 files changed, 65 insertions(+), 58 deletions(-) create mode 100644 ElectronNET.API/Entities/TrayClickEventResponse.cs diff --git a/ElectronNET.API/App.cs b/ElectronNET.API/App.cs index a4ed890..eabbbfc 100644 --- a/ElectronNET.API/App.cs +++ b/ElectronNET.API/App.cs @@ -338,7 +338,7 @@ namespace ElectronNET.API { if (_accessibilitySupportChanged == null) { - BridgeConnector.On("app-accessibility-support-changed" + GetHashCode(), (state) => + BridgeConnector.On("app-accessibility-support-changed" + GetHashCode(), (state) => { _accessibilitySupportChanged((bool)state); }); diff --git a/ElectronNET.API/Entities/CookieChangedCause.cs b/ElectronNET.API/Entities/CookieChangedCause.cs index d42430d..ee467a3 100644 --- a/ElectronNET.API/Entities/CookieChangedCause.cs +++ b/ElectronNET.API/Entities/CookieChangedCause.cs @@ -2,6 +2,15 @@ using Newtonsoft.Json.Converters; namespace ElectronNET.API.Entities { + + public class CookieRemovedResponse + { + public Cookie cookie {get;set;} + + public CookieChangedCause cause { get; set; } + public bool removed { get; set; } + } + /// /// The cause of the change /// diff --git a/ElectronNET.API/Entities/Display.cs b/ElectronNET.API/Entities/Display.cs index cdf9ac8..4d44f32 100644 --- a/ElectronNET.API/Entities/Display.cs +++ b/ElectronNET.API/Entities/Display.cs @@ -1,5 +1,10 @@ namespace ElectronNET.API.Entities { + public class DisplayChanged + { + public Display display { get; set; } + public string[] metrics { get; set; } + } /// /// /// diff --git a/ElectronNET.API/Entities/TrayClickEventArgs.cs b/ElectronNET.API/Entities/TrayClickEventArgs.cs index 516e192..ca3a444 100644 --- a/ElectronNET.API/Entities/TrayClickEventArgs.cs +++ b/ElectronNET.API/Entities/TrayClickEventArgs.cs @@ -1,5 +1,6 @@ namespace ElectronNET.API { + /// /// /// diff --git a/ElectronNET.API/Entities/TrayClickEventResponse.cs b/ElectronNET.API/Entities/TrayClickEventResponse.cs new file mode 100644 index 0000000..e0a5170 --- /dev/null +++ b/ElectronNET.API/Entities/TrayClickEventResponse.cs @@ -0,0 +1,8 @@ +namespace ElectronNET.API.Entities +{ + public class TrayClickEventResponse + { + public TrayClickEventArgs eventArgs { get; set; } + public Rectangle bounds { get; set; } + } +} \ No newline at end of file diff --git a/ElectronNET.API/Screen.cs b/ElectronNET.API/Screen.cs index 6c9382f..dbcb8ba 100644 --- a/ElectronNET.API/Screen.cs +++ b/ElectronNET.API/Screen.cs @@ -50,9 +50,9 @@ namespace ElectronNET.API { if (_onDisplayRemoved == null) { - BridgeConnector.On("screen-display-removed-event" + GetHashCode(), (display) => + BridgeConnector.On("screen-display-removed-event" + GetHashCode(), (display) => { - _onDisplayRemoved(((JObject)display).ToObject()); + _onDisplayRemoved(display); }); BridgeConnector.Emit("register-screen-display-removed", GetHashCode()); @@ -81,12 +81,9 @@ namespace ElectronNET.API { if (_onDisplayMetricsChanged == null) { - BridgeConnector.On("screen-display-metrics-changed-event" + GetHashCode(), (args) => + BridgeConnector.On("screen-display-metrics-changed-event" + GetHashCode(), (args) => { - var display = ((JArray)args).First.ToObject(); - var metrics = ((JArray)args).Last.ToObject(); - - _onDisplayMetricsChanged(display, metrics); + _onDisplayMetricsChanged(args.display, args.metrics); }); BridgeConnector.Emit("register-screen-display-metrics-changed", GetHashCode()); @@ -136,11 +133,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("screen-getCursorScreenPointCompleted", (point) => + BridgeConnector.On("screen-getCursorScreenPointCompleted", (point) => { BridgeConnector.Off("screen-getCursorScreenPointCompleted"); - taskCompletionSource.SetResult(((JObject)point).ToObject()); + taskCompletionSource.SetResult(point); }); BridgeConnector.Emit("screen-getCursorScreenPoint"); @@ -156,11 +153,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("screen-getMenuBarHeightCompleted", (height) => + BridgeConnector.On("screen-getMenuBarHeightCompleted", (height) => { BridgeConnector.Off("screen-getMenuBarHeightCompleted"); - taskCompletionSource.SetResult(int.Parse(height.ToString())); + taskCompletionSource.SetResult(height); }); BridgeConnector.Emit("screen-getMenuBarHeight"); @@ -176,11 +173,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("screen-getPrimaryDisplayCompleted", (display) => + BridgeConnector.On("screen-getPrimaryDisplayCompleted", (display) => { BridgeConnector.Off("screen-getPrimaryDisplayCompleted"); - taskCompletionSource.SetResult(((JObject)display).ToObject()); + taskCompletionSource.SetResult(display); }); BridgeConnector.Emit("screen-getPrimaryDisplay"); @@ -196,11 +193,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("screen-getAllDisplaysCompleted", (displays) => + BridgeConnector.On("screen-getAllDisplaysCompleted", (displays) => { BridgeConnector.Off("screen-getAllDisplaysCompleted"); - taskCompletionSource.SetResult(((JArray)displays).ToObject()); + taskCompletionSource.SetResult(displays); }); BridgeConnector.Emit("screen-getAllDisplays"); @@ -216,11 +213,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("screen-getDisplayNearestPointCompleted", (display) => + BridgeConnector.On("screen-getDisplayNearestPointCompleted", (display) => { BridgeConnector.Off("screen-getDisplayNearestPointCompleted"); - taskCompletionSource.SetResult(((JObject)display).ToObject()); + taskCompletionSource.SetResult(display); }); BridgeConnector.Emit("screen-getDisplayNearestPoint", JObject.FromObject(point, _jsonSerializer)); @@ -237,11 +234,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("screen-getDisplayMatching", (display) => + BridgeConnector.On("screen-getDisplayMatching", (display) => { BridgeConnector.Off("screen-getDisplayMatching"); - taskCompletionSource.SetResult(((JObject)display).ToObject()); + taskCompletionSource.SetResult(display); }); BridgeConnector.Emit("screen-getDisplayMatching", JObject.FromObject(rectangle, _jsonSerializer)); diff --git a/ElectronNET.API/Shell.cs b/ElectronNET.API/Shell.cs index 432fad6..308e7f9 100644 --- a/ElectronNET.API/Shell.cs +++ b/ElectronNET.API/Shell.cs @@ -63,7 +63,7 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("shell-openPathCompleted", (errorMessage) => + BridgeConnector.On("shell-openPathCompleted", (errorMessage) => { BridgeConnector.Off("shell-openPathCompleted"); @@ -97,7 +97,7 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("shell-openExternalCompleted", (error) => + BridgeConnector.On("shell-openExternalCompleted", (error) => { BridgeConnector.Off("shell-openExternalCompleted"); @@ -125,7 +125,7 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("shell-trashItem-completed", (success) => + BridgeConnector.On("shell-trashItem-completed", (success) => { BridgeConnector.Off("shell-trashItem-completed"); @@ -156,7 +156,7 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("shell-writeShortcutLinkCompleted", (success) => + BridgeConnector.On("shell-writeShortcutLinkCompleted", (success) => { BridgeConnector.Off("shell-writeShortcutLinkCompleted"); @@ -178,14 +178,10 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("shell-readShortcutLinkCompleted", (shortcutDetails) => + BridgeConnector.On("shell-readShortcutLinkCompleted", (shortcutDetails) => { BridgeConnector.Off("shell-readShortcutLinkCompleted"); - - var shortcutObject = shortcutDetails as JObject; - var details = shortcutObject?.ToObject(); - - taskCompletionSource.SetResult(details); + taskCompletionSource.SetResult(shortcutDetails); }); BridgeConnector.Emit("shell-readShortcutLink", shortcutPath); diff --git a/ElectronNET.API/Tray.cs b/ElectronNET.API/Tray.cs index bf44cc9..ff484f7 100644 --- a/ElectronNET.API/Tray.cs +++ b/ElectronNET.API/Tray.cs @@ -23,12 +23,9 @@ namespace ElectronNET.API { if (_click == null) { - BridgeConnector.On("tray-click-event" + GetHashCode(), (result) => + BridgeConnector.On("tray-click-event" + GetHashCode(), (result) => { - var args = ((JArray)result).ToObject(); - var trayClickEventArgs = ((JObject)args[0]).ToObject(); - var bounds = ((JObject)args[1]).ToObject(); - _click(trayClickEventArgs, bounds); + _click(result.eventArgs, result.bounds); }); BridgeConnector.Emit("register-tray-click", GetHashCode()); @@ -55,12 +52,9 @@ namespace ElectronNET.API { if (_rightClick == null) { - BridgeConnector.On("tray-right-click-event" + GetHashCode(), (result) => + BridgeConnector.On("tray-right-click-event" + GetHashCode(), (result) => { - var args = ((JArray)result).ToObject(); - var trayClickEventArgs = ((JObject)args[0]).ToObject(); - var bounds = ((JObject)args[1]).ToObject(); - _rightClick(trayClickEventArgs, bounds); + _rightClick(result.eventArgs, result.bounds); }); BridgeConnector.Emit("register-tray-right-click", GetHashCode()); @@ -87,12 +81,9 @@ namespace ElectronNET.API { if (_doubleClick == null) { - BridgeConnector.On("tray-double-click-event" + GetHashCode(), (result) => + BridgeConnector.On("tray-double-click-event" + GetHashCode(), (result) => { - var args = ((JArray)result).ToObject(); - var trayClickEventArgs = ((JObject)args[0]).ToObject(); - var bounds = ((JObject)args[1]).ToObject(); - _doubleClick(trayClickEventArgs, bounds); + _doubleClick(result.eventArgs, result.bounds); }); BridgeConnector.Emit("register-tray-double-click", GetHashCode()); diff --git a/ElectronNET.API/WebContents.cs b/ElectronNET.API/WebContents.cs index 943fe8d..36b7f80 100644 --- a/ElectronNET.API/WebContents.cs +++ b/ElectronNET.API/WebContents.cs @@ -34,7 +34,7 @@ namespace ElectronNET.API { if (_crashed == null) { - BridgeConnector.On("webContents-crashed" + Id, (killed) => + BridgeConnector.On("webContents-crashed" + Id, (killed) => { _crashed((bool)killed); }); @@ -115,11 +115,11 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("webContents-getPrinters-completed", (printers) => + BridgeConnector.On("webContents-getPrinters-completed", (printers) => { BridgeConnector.Off("webContents-getPrinters-completed"); - taskCompletionSource.SetResult(((Newtonsoft.Json.Linq.JArray)printers).ToObject()); + taskCompletionSource.SetResult(printers); }); BridgeConnector.Emit("webContents-getPrinters", Id); @@ -136,7 +136,7 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("webContents-print-completed", (success) => + BridgeConnector.On("webContents-print-completed", (success) => { BridgeConnector.Off("webContents-print-completed"); taskCompletionSource.SetResult((bool)success); @@ -167,7 +167,7 @@ namespace ElectronNET.API { var taskCompletionSource = new TaskCompletionSource(); - BridgeConnector.On("webContents-printToPDF-completed", (success) => + BridgeConnector.On("webContents-printToPDF-completed", (success) => { BridgeConnector.Off("webContents-printToPDF-completed"); taskCompletionSource.SetResult((bool)success); @@ -195,7 +195,7 @@ namespace ElectronNET.API var taskCompletionSource = new TaskCompletionSource(); var eventString = "webContents-getUrl" + Id; - BridgeConnector.On(eventString, (url) => + BridgeConnector.On(eventString, (url) => { BridgeConnector.Off(eventString); taskCompletionSource.SetResult((string)url); @@ -247,7 +247,7 @@ namespace ElectronNET.API taskCompletionSource.SetResult(null); }); - BridgeConnector.On("webContents-loadURL-error" + Id, (error) => + BridgeConnector.On("webContents-loadURL-error" + Id, (error) => { BridgeConnector.Off("webContents-loadURL-error" + Id); taskCompletionSource.SetException(new InvalidOperationException(error.ToString())); diff --git a/ElectronNET.Host/api/app.js b/ElectronNET.Host/api/app.js index d7e504d..bff2625 100644 --- a/ElectronNET.Host/api/app.js +++ b/ElectronNET.Host/api/app.js @@ -151,7 +151,7 @@ module.exports = (socket, app) => { const success = app.requestSingleInstanceLock(); electronSocket.emit('appRequestSingleInstanceLockCompleted', success); app.on('second-instance', (event, args = [], workingDirectory = '') => { - electronSocket.emit('secondInstance', new { args: args, workingDirectory: workingDirectory }]); + electronSocket.emit('secondInstance', new { args: args, workingDirectory: workingDirectory }); }); }); socket.on('appHasSingleInstanceLock', () => { diff --git a/ElectronNET.Host/api/screen.js b/ElectronNET.Host/api/screen.js index cfd025a..5247695 100644 --- a/ElectronNET.Host/api/screen.js +++ b/ElectronNET.Host/api/screen.js @@ -15,7 +15,7 @@ module.exports = (socket) => { }); socket.on('register-screen-display-metrics-changed', (id) => { electron_1.screen.on('display-metrics-changed', (event, display, changedMetrics) => { - electronSocket.emit('screen-display-metrics-changed-event' + id, [display, changedMetrics]); + electronSocket.emit('screen-display-metrics-changed-event' + id, new {display: display, changedMetrics: changedMetrics}); }); }); socket.on('screen-getCursorScreenPoint', () => { diff --git a/ElectronNET.Host/api/tray.js b/ElectronNET.Host/api/tray.js index 98fb740..a446a73 100644 --- a/ElectronNET.Host/api/tray.js +++ b/ElectronNET.Host/api/tray.js @@ -7,21 +7,21 @@ module.exports = (socket) => { socket.on('register-tray-click', (id) => { if (tray.value) { tray.value.on('click', (event, bounds) => { - electronSocket.emit('tray-click-event' + id, [event.__proto__, bounds]); + electronSocket.emit('tray-click-event' + id, new { eventArgs: event.__proto__, bounds: bounds }); }); } }); socket.on('register-tray-right-click', (id) => { if (tray.value) { tray.value.on('right-click', (event, bounds) => { - electronSocket.emit('tray-right-click-event' + id, [event.__proto__, bounds]); + electronSocket.emit('tray-right-click-event' + id, new { eventArgs: event.__proto__, bounds: bounds }); }); } }); socket.on('register-tray-double-click', (id) => { if (tray.value) { tray.value.on('double-click', (event, bounds) => { - electronSocket.emit('tray-double-click-event' + id, [event.__proto__, bounds]); + electronSocket.emit('tray-double-click-event' + id, new { eventArgs: event.__proto__, bounds: bounds }); }); } }); diff --git a/ElectronNET.WebApp/Program.cs b/ElectronNET.WebApp/Program.cs index c79b260..54512d2 100644 --- a/ElectronNET.WebApp/Program.cs +++ b/ElectronNET.WebApp/Program.cs @@ -10,7 +10,7 @@ namespace ElectronNET.WebApp { public static void Main(string[] args) { - Debugger.Launch(); + //Debugger.Launch(); CreateWebHostBuilder(args).Build().Run(); }