This commit is contained in:
theolivenbaum
2021-07-12 21:33:35 +02:00
parent e6214491cf
commit b03bc7c9eb
14 changed files with 64 additions and 110 deletions

View File

@@ -340,7 +340,7 @@ namespace ElectronNET.API
{
BridgeConnector.On<bool>("app-accessibility-support-changed" + GetHashCode(), (state) =>
{
_accessibilitySupportChanged((bool)state);
_accessibilitySupportChanged(state);
});
BridgeConnector.Emit("register-app-accessibility-support-changed-event", GetHashCode());

View File

@@ -23,7 +23,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("autoUpdater-autoDownload-get-reply", (result) =>
{
BridgeConnector.Off("autoUpdater-autoDownload-get-reply");
taskCompletionSource.SetResult((bool)result);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Emit("autoUpdater-autoDownload-get");
@@ -43,7 +43,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("autoUpdater-autoInstallOnAppQuit-get-reply", (result) =>
{
BridgeConnector.Off("autoUpdater-autoInstallOnAppQuit-get-reply");
taskCompletionSource.SetResult((bool)result);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Emit("autoUpdater-autoInstallOnAppQuit-get");
@@ -64,7 +64,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("autoUpdater-allowPrerelease-get-reply", (result) =>
{
BridgeConnector.Off("autoUpdater-allowPrerelease-get-reply");
taskCompletionSource.SetResult((bool)result);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Emit("autoUpdater-allowPrerelease-get");
@@ -83,7 +83,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("autoUpdater-fullChangelog-get-reply", (result) =>
{
BridgeConnector.Off("autoUpdater-fullChangelog-get-reply");
taskCompletionSource.SetResult((bool)result);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Emit("autoUpdater-fullChangelog-get");
@@ -98,7 +98,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("autoUpdater-allowDowngrade-get-reply", (result) =>
{
BridgeConnector.Off("autoUpdater-allowDowngrade-get-reply");
taskCompletionSource.SetResult((bool)result);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Emit("autoUpdater-allowDowngrade-get");

View File

@@ -1,4 +1,5 @@
using System;
using System.Threading.Tasks;
using SocketIOClient;
using SocketIOClient.Newtonsoft.Json;
@@ -10,21 +11,22 @@ namespace ElectronNET.API
private static object _syncRoot = new object();
public static void Emit(string eventString, params object[] args) => Socket.EmitAsync(eventString, args);
public static void Emit(string eventString, params object[] args)
{
//We don't care about waiting for the event to be emitted, so this doesn't need to be async
Task.Run(() => Socket.EmitAsync(eventString, args));
}
public static void Off(string eventString) => Socket.Off(eventString);
public static void On(string eventString, Action fn) => Socket.On(eventString, _ => fn());
public static void On<T>(string eventString, Action<T> fn) => Socket.On(eventString, (o) =>
{
fn(o.GetValue<T>(0));
});
public static void On<T>(string eventString, Action<T> fn) => Socket.On(eventString, (o) => fn(o.GetValue<T>(0)));
public static void Once<T>(string eventString, Action<T> fn) => Socket.On(eventString, (o) =>
{
Socket.Off(eventString);
fn(o.GetValue<T>(0));
});
private static SocketIO Socket
{
get
@@ -67,55 +69,4 @@ namespace ElectronNET.API
}
}
}
public interface IListener : System.IComparable<IListener>
{
int GetId();
void Call(params object[] args);
}
public class ListenerImpl : IListener
{
private static int id_counter = 0;
private int Id;
private readonly Action fn1;
private readonly Action<object> fn;
public ListenerImpl(Action<object> fn)
{
this.fn = fn;
this.Id = id_counter++;
}
public ListenerImpl(Action fn)
{
this.fn1 = fn;
this.Id = id_counter++;
}
public void Call(params object[] args)
{
if (fn != null)
{
var arg = args.Length > 0 ? args[0] : null;
fn(arg);
}
else
{
fn1();
}
}
public int CompareTo(IListener other)
{
return this.GetId().CompareTo(other.GetId());
}
public int GetId()
{
return Id;
}
}
}

View File

@@ -956,7 +956,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isFocused-completed", (isFocused) => {
BridgeConnector.Off("browserWindow-isFocused-completed");
taskCompletionSource.SetResult((bool)isFocused);
taskCompletionSource.SetResult(isFocused);
});
BridgeConnector.Emit("browserWindowIsFocused", Id);
@@ -975,7 +975,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isDestroyed-completed", (isDestroyed) => {
BridgeConnector.Off("browserWindow-isDestroyed-completed");
taskCompletionSource.SetResult((bool)isDestroyed);
taskCompletionSource.SetResult(isDestroyed);
});
BridgeConnector.Emit("browserWindowIsDestroyed", Id);
@@ -1018,7 +1018,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isVisible-completed", (isVisible) => {
BridgeConnector.Off("browserWindow-isVisible-completed");
taskCompletionSource.SetResult((bool)isVisible);
taskCompletionSource.SetResult(isVisible);
});
BridgeConnector.Emit("browserWindowIsVisible", Id);
@@ -1037,7 +1037,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isModal-completed", (isModal) => {
BridgeConnector.Off("browserWindow-isModal-completed");
taskCompletionSource.SetResult((bool)isModal);
taskCompletionSource.SetResult(isModal);
});
BridgeConnector.Emit("browserWindowIsModal", Id);
@@ -1072,7 +1072,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMaximized-completed", (isMaximized) => {
BridgeConnector.Off("browserWindow-isMaximized-completed");
taskCompletionSource.SetResult((bool)isMaximized);
taskCompletionSource.SetResult(isMaximized);
});
BridgeConnector.Emit("browserWindowIsMaximized", Id);
@@ -1107,7 +1107,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMinimized-completed", (isMinimized) => {
BridgeConnector.Off("browserWindow-isMinimized-completed");
taskCompletionSource.SetResult((bool)isMinimized);
taskCompletionSource.SetResult(isMinimized);
});
BridgeConnector.Emit("browserWindowIsMinimized", Id);
@@ -1134,7 +1134,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isFullScreen-completed", (isFullScreen) => {
BridgeConnector.Off("browserWindow-isFullScreen-completed");
taskCompletionSource.SetResult((bool)isFullScreen);
taskCompletionSource.SetResult(isFullScreen);
});
BridgeConnector.Emit("browserWindowIsFullScreen", Id);
@@ -1427,7 +1427,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isResizable-completed", (resizable) => {
BridgeConnector.Off("browserWindow-isResizable-completed");
taskCompletionSource.SetResult((bool)resizable);
taskCompletionSource.SetResult(resizable);
});
BridgeConnector.Emit("browserWindowIsResizable", Id);
@@ -1457,7 +1457,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMovable-completed", (movable) => {
BridgeConnector.Off("browserWindow-isMovable-completed");
taskCompletionSource.SetResult((bool)movable);
taskCompletionSource.SetResult(movable);
});
BridgeConnector.Emit("browserWindowIsMovable", Id);
@@ -1487,7 +1487,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMinimizable-completed", (minimizable) => {
BridgeConnector.Off("browserWindow-isMinimizable-completed");
taskCompletionSource.SetResult((bool)minimizable);
taskCompletionSource.SetResult(minimizable);
});
BridgeConnector.Emit("browserWindowIsMinimizable", Id);
@@ -1517,7 +1517,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMaximizable-completed", (maximizable) => {
BridgeConnector.Off("browserWindow-isMaximizable-completed");
taskCompletionSource.SetResult((bool)maximizable);
taskCompletionSource.SetResult(maximizable);
});
BridgeConnector.Emit("browserWindowIsMaximizable", Id);
@@ -1545,7 +1545,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isFullScreenable-completed", (fullscreenable) => {
BridgeConnector.Off("browserWindow-isFullScreenable-completed");
taskCompletionSource.SetResult((bool)fullscreenable);
taskCompletionSource.SetResult(fullscreenable);
});
BridgeConnector.Emit("browserWindowIsFullScreenable", Id);
@@ -1575,7 +1575,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isClosable-completed", (closable) => {
BridgeConnector.Off("browserWindow-isClosable-completed");
taskCompletionSource.SetResult((bool)closable);
taskCompletionSource.SetResult(closable);
});
BridgeConnector.Emit("browserWindowIsClosable", Id);
@@ -1635,7 +1635,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isAlwaysOnTop-completed", (isAlwaysOnTop) => {
BridgeConnector.Off("browserWindow-isAlwaysOnTop-completed");
taskCompletionSource.SetResult((bool)isAlwaysOnTop);
taskCompletionSource.SetResult(isAlwaysOnTop);
});
BridgeConnector.Emit("browserWindowIsAlwaysOnTop", Id);
@@ -1801,7 +1801,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isKiosk-completed", (isKiosk) => {
BridgeConnector.Off("browserWindow-isKiosk-completed");
taskCompletionSource.SetResult((bool)isKiosk);
taskCompletionSource.SetResult(isKiosk);
});
BridgeConnector.Emit("browserWindowIsKiosk", Id);
@@ -1878,7 +1878,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isDocumentEdited-completed", (edited) => {
BridgeConnector.Off("browserWindow-isDocumentEdited-completed");
taskCompletionSource.SetResult((bool)edited);
taskCompletionSource.SetResult(edited);
});
BridgeConnector.Emit("browserWindowIsDocumentEdited", Id);
@@ -2021,7 +2021,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-hasShadow-completed", (hasShadow) => {
BridgeConnector.Off("browserWindow-hasShadow-completed");
taskCompletionSource.SetResult((bool)hasShadow);
taskCompletionSource.SetResult(hasShadow);
});
BridgeConnector.Emit("browserWindowHasShadow", Id);
@@ -2057,7 +2057,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindowSetThumbarButtons-completed", (success) => {
BridgeConnector.Off("browserWindowSetThumbarButtons-completed");
taskCompletionSource.SetResult((bool)success);
taskCompletionSource.SetResult(success);
});
thumbarButtons.AddThumbarButtonsId();
@@ -2137,7 +2137,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMenuBarAutoHide-completed", (isMenuBarAutoHide) => {
BridgeConnector.Off("browserWindow-isMenuBarAutoHide-completed");
taskCompletionSource.SetResult((bool)isMenuBarAutoHide);
taskCompletionSource.SetResult(isMenuBarAutoHide);
});
BridgeConnector.Emit("browserWindowIsMenuBarAutoHide", Id);
@@ -2166,7 +2166,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isMenuBarVisible-completed", (isMenuBarVisible) => {
BridgeConnector.Off("browserWindow-isMenuBarVisible-completed");
taskCompletionSource.SetResult((bool)isMenuBarVisible);
taskCompletionSource.SetResult(isMenuBarVisible);
});
BridgeConnector.Emit("browserWindowIsMenuBarVisible", Id);
@@ -2198,7 +2198,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("browserWindow-isVisibleOnAllWorkspaces-completed", (isVisibleOnAllWorkspaces) => {
BridgeConnector.Off("browserWindow-isVisibleOnAllWorkspaces-completed");
taskCompletionSource.SetResult((bool)isVisibleOnAllWorkspaces);
taskCompletionSource.SetResult(isVisibleOnAllWorkspaces);
});
BridgeConnector.Emit("browserWindowIsVisibleOnAllWorkspaces", Id);

View File

@@ -76,7 +76,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("appCommandLineHasSwitchCompleted", (result) =>
{
BridgeConnector.Off("appCommandLineHasSwitchCompleted");
taskCompletionSource.SetResult((bool)result);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Emit("appCommandLineHasSwitch", switchName);

View File

@@ -154,7 +154,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("dock-isVisible-completed", (isVisible) =>
{
BridgeConnector.Off("dock-isVisible-completed");
taskCompletionSource.SetResult((bool) isVisible);
taskCompletionSource.SetResult(isVisible);
});
BridgeConnector.Emit("dock-isVisible");

View File

@@ -1,15 +1,8 @@
using Newtonsoft.Json;
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; }
}
namespace ElectronNET.API.Entities
{
/// <summary>
/// The cause of the change

View File

@@ -0,0 +1,10 @@
namespace ElectronNET.API.Entities
{
public class CookieRemovedResponse
{
public Cookie cookie {get;set;}
public CookieChangedCause cause { get; set; }
public bool removed { get; set; }
}
}

View File

@@ -131,7 +131,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("nativeTheme-shouldUseDarkColors-completed", (shouldUseDarkColors) => {
BridgeConnector.Off("nativeTheme-shouldUseDarkColors-completed");
taskCompletionSource.SetResult((bool)shouldUseDarkColors);
taskCompletionSource.SetResult(shouldUseDarkColors);
});
BridgeConnector.Emit("nativeTheme-shouldUseDarkColors");
@@ -150,7 +150,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("nativeTheme-shouldUseHighContrastColors-completed", (shouldUseHighContrastColors) => {
BridgeConnector.Off("nativeTheme-shouldUseHighContrastColors-completed");
taskCompletionSource.SetResult((bool)shouldUseHighContrastColors);
taskCompletionSource.SetResult(shouldUseHighContrastColors);
});
BridgeConnector.Emit("nativeTheme-shouldUseHighContrastColors");
@@ -169,7 +169,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("nativeTheme-shouldUseInvertedColorScheme-completed", (shouldUseInvertedColorScheme) => {
BridgeConnector.Off("nativeTheme-shouldUseInvertedColorScheme-completed");
taskCompletionSource.SetResult((bool)shouldUseInvertedColorScheme);
taskCompletionSource.SetResult(shouldUseInvertedColorScheme);
});
BridgeConnector.Emit("nativeTheme-shouldUseInvertedColorScheme");

View File

@@ -127,7 +127,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("notificationIsSupportedComplete", (isSupported) =>
{
BridgeConnector.Off("notificationIsSupportedComplete");
taskCompletionSource.SetResult((bool)isSupported);
taskCompletionSource.SetResult(isSupported);
});
BridgeConnector.Emit("notificationIsSupported");

View File

@@ -233,7 +233,7 @@ namespace ElectronNET.API
BridgeConnector.On<int>("webContents-session-getCacheSize-completed" + guid, (size) =>
{
BridgeConnector.Off("webContents-session-getCacheSize-completed" + guid);
taskCompletionSource.SetResult((int)size);
taskCompletionSource.SetResult(size);
});
BridgeConnector.Emit("webContents-session-getCacheSize", Id, guid);

View File

@@ -67,7 +67,7 @@ namespace ElectronNET.API
{
BridgeConnector.Off("shell-openPathCompleted");
taskCompletionSource.SetResult((string) errorMessage);
taskCompletionSource.SetResult(errorMessage);
});
BridgeConnector.Emit("shell-openPath", path);
@@ -101,7 +101,7 @@ namespace ElectronNET.API
{
BridgeConnector.Off("shell-openExternalCompleted");
taskCompletionSource.SetResult((string) error);
taskCompletionSource.SetResult(error);
});
if (options == null)
@@ -129,7 +129,7 @@ namespace ElectronNET.API
{
BridgeConnector.Off("shell-trashItem-completed");
taskCompletionSource.SetResult((bool) success);
taskCompletionSource.SetResult(success);
});
BridgeConnector.Emit("shell-trashItem", fullPath);
@@ -160,7 +160,7 @@ namespace ElectronNET.API
{
BridgeConnector.Off("shell-writeShortcutLinkCompleted");
taskCompletionSource.SetResult((bool) success);
taskCompletionSource.SetResult(success);
});
BridgeConnector.Emit("shell-writeShortcutLink", shortcutPath, operation.GetDescription(), JObject.FromObject(options, _jsonSerializer));

View File

@@ -329,7 +329,7 @@ namespace ElectronNET.API
{
BridgeConnector.Off("tray-isDestroyedCompleted");
taskCompletionSource.SetResult((bool)isDestroyed);
taskCompletionSource.SetResult(isDestroyed);
});
BridgeConnector.Emit("tray-isDestroyed");

View File

@@ -36,7 +36,7 @@ namespace ElectronNET.API
{
BridgeConnector.On<bool>("webContents-crashed" + Id, (killed) =>
{
_crashed((bool)killed);
_crashed(killed);
});
BridgeConnector.Emit("register-webContents-crashed", Id);
@@ -139,7 +139,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("webContents-print-completed", (success) =>
{
BridgeConnector.Off("webContents-print-completed");
taskCompletionSource.SetResult((bool)success);
taskCompletionSource.SetResult(success);
});
if(options == null)
@@ -170,7 +170,7 @@ namespace ElectronNET.API
BridgeConnector.On<bool>("webContents-printToPDF-completed", (success) =>
{
BridgeConnector.Off("webContents-printToPDF-completed");
taskCompletionSource.SetResult((bool)success);
taskCompletionSource.SetResult(success);
});
if(options == null)
@@ -198,7 +198,7 @@ namespace ElectronNET.API
BridgeConnector.On<string>(eventString, (url) =>
{
BridgeConnector.Off(eventString);
taskCompletionSource.SetResult((string)url);
taskCompletionSource.SetResult(url);
});
BridgeConnector.Emit("webContents-getUrl", Id);