fix: using correct deserialization type instead JsonElement for everyting except mixed arrays

This commit is contained in:
Denny09310
2025-11-09 15:46:33 +01:00
parent 168eceac8c
commit 0522bc425b
20 changed files with 191 additions and 242 deletions

View File

@@ -152,7 +152,7 @@
var messageName = apiBase.propertyMessageNames.GetOrAdd(callerName, s => apiBase.objectName + s.StripAsync());
BridgeConnector.Socket.On<JsonElement>(eventName, (result) =>
BridgeConnector.Socket.On<T>(eventName, (result) =>
{
BridgeConnector.Socket.Off(eventName);
@@ -160,7 +160,7 @@
{
try
{
var value = result.Deserialize<T>(ElectronJson.Options);
var value = result;
this.tcs?.SetResult(value);
}
catch (Exception ex)

View File

@@ -547,11 +547,11 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appGetPathCompleted", (path) =>
BridgeConnector.Socket.On<string>("appGetPathCompleted", (path) =>
{
BridgeConnector.Socket.Off("appGetPathCompleted");
taskCompletionSource.SetResult(path.GetString());
taskCompletionSource.SetResult(path);
});
BridgeConnector.Socket.Emit("appGetPath", pathName.GetDescription());
@@ -716,10 +716,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appSetAsDefaultProtocolClientCompleted", (success) =>
BridgeConnector.Socket.On<bool>("appSetAsDefaultProtocolClientCompleted", (success) =>
{
BridgeConnector.Socket.Off("appSetAsDefaultProtocolClientCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("appSetAsDefaultProtocolClient", protocol, path, args);
@@ -770,10 +770,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appRemoveAsDefaultProtocolClientCompleted", (success) =>
BridgeConnector.Socket.On<bool>("appRemoveAsDefaultProtocolClientCompleted", (success) =>
{
BridgeConnector.Socket.Off("appRemoveAsDefaultProtocolClientCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("appRemoveAsDefaultProtocolClient", protocol, path, args);
@@ -842,10 +842,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appIsDefaultProtocolClientCompleted", (success) =>
BridgeConnector.Socket.On<bool>("appIsDefaultProtocolClientCompleted", (success) =>
{
BridgeConnector.Socket.Off("appIsDefaultProtocolClientCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("appIsDefaultProtocolClient", protocol, path, args);
@@ -870,10 +870,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appSetUserTasksCompleted", (success) =>
BridgeConnector.Socket.On<bool>("appSetUserTasksCompleted", (success) =>
{
BridgeConnector.Socket.Off("appSetUserTasksCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("appSetUserTasks", userTasks);
@@ -943,10 +943,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appRequestSingleInstanceLockCompleted", (success) =>
BridgeConnector.Socket.On<bool>("appRequestSingleInstanceLockCompleted", (success) =>
{
BridgeConnector.Socket.Off("appRequestSingleInstanceLockCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Off("secondInstance");
@@ -1069,10 +1069,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<int>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appImportCertificateCompleted", (result) =>
BridgeConnector.Socket.On<int>("appImportCertificateCompleted", (result) =>
{
BridgeConnector.Socket.Off("appImportCertificateCompleted");
taskCompletionSource.SetResult(result.GetInt32());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("appImportCertificate", options);
@@ -1125,10 +1125,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appSetBadgeCountCompleted", (success) =>
BridgeConnector.Socket.On<bool>("appSetBadgeCountCompleted", (success) =>
{
BridgeConnector.Socket.Off("appSetBadgeCountCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("appSetBadgeCount", count);
@@ -1185,12 +1185,9 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<LoginItemSettings>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appGetLoginItemSettingsCompleted", (loginItemSettings) =>
BridgeConnector.Socket.On<LoginItemSettings>("appGetLoginItemSettingsCompleted", (result) =>
{
BridgeConnector.Socket.Off("appGetLoginItemSettingsCompleted");
var result = loginItemSettings.Deserialize<LoginItemSettings>(ElectronJson.Options);
taskCompletionSource.SetResult(result);
});
@@ -1308,10 +1305,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("appGetUserAgentFallbackCompleted", (result) =>
BridgeConnector.Socket.On<string>("appGetUserAgentFallbackCompleted", (result) =>
{
BridgeConnector.Socket.Off("appGetUserAgentFallbackCompleted");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("appGetUserAgentFallback");

View File

@@ -26,10 +26,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-autoDownload-get-reply", (result) =>
BridgeConnector.Socket.On<bool>("autoUpdater-autoDownload-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-autoDownload-get-reply");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-autoDownload-get");
@@ -56,10 +56,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-autoInstallOnAppQuit-get-reply", (result) =>
BridgeConnector.Socket.On<bool>("autoUpdater-autoInstallOnAppQuit-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-autoInstallOnAppQuit-get-reply");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-autoInstallOnAppQuit-get");
@@ -87,10 +87,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-allowPrerelease-get-reply", (result) =>
BridgeConnector.Socket.On<bool>("autoUpdater-allowPrerelease-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-allowPrerelease-get-reply");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-allowPrerelease-get");
@@ -116,10 +116,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-fullChangelog-get-reply", (result) =>
BridgeConnector.Socket.On<bool>("autoUpdater-fullChangelog-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-fullChangelog-get-reply");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-fullChangelog-get");
@@ -146,10 +146,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-allowDowngrade-get-reply", (result) =>
BridgeConnector.Socket.On<bool>("autoUpdater-allowDowngrade-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-allowDowngrade-get-reply");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-allowDowngrade-get");
@@ -174,10 +174,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-updateConfigPath-get-reply", (result) =>
BridgeConnector.Socket.On<string>("autoUpdater-updateConfigPath-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-updateConfigPath-get-reply");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-updateConfigPath-get");
@@ -198,11 +198,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<SemVer>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-currentVersion-get-reply", (result) =>
BridgeConnector.Socket.On<SemVer>("autoUpdater-currentVersion-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-currentVersion-get-reply");
var version = result.Deserialize(ElectronJsonContext.Default.SemVer);
taskCompletionSource.SetResult(version);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-currentVersion-get");
@@ -236,10 +235,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-channel-get-reply", (result) =>
BridgeConnector.Socket.On<string>("autoUpdater-channel-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-channel-get-reply");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-channel-get");
@@ -259,10 +258,9 @@ namespace ElectronNET.API
return Task.Run(() =>
{
var taskCompletionSource = new TaskCompletionSource<Dictionary<string, string>>();
BridgeConnector.Socket.On<JsonElement>("autoUpdater-requestHeaders-get-reply", (headers) =>
BridgeConnector.Socket.On<Dictionary<string, string>>("autoUpdater-requestHeaders-get-reply", (result) =>
{
BridgeConnector.Socket.Off("autoUpdater-requestHeaders-get-reply");
var result = headers.Deserialize<Dictionary<string, string>>(ElectronJson.Options);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("autoUpdater-requestHeaders-get");
@@ -384,26 +382,25 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<UpdateCheckResult>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("autoUpdaterCheckForUpdatesComplete" + guid, (updateCheckResult) =>
BridgeConnector.Socket.On<UpdateCheckResult>("autoUpdaterCheckForUpdatesComplete" + guid, (result) =>
{
try
{
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesComplete" + guid);
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesError" + guid);
taskCompletionSource.SetResult(updateCheckResult.Deserialize(ElectronJsonContext.Default.UpdateCheckResult));
taskCompletionSource.SetResult(result);
}
catch (Exception ex)
{
taskCompletionSource.SetException(ex);
}
});
BridgeConnector.Socket.On<JsonElement>("autoUpdaterCheckForUpdatesError" + guid, (result) =>
BridgeConnector.Socket.On<string>("autoUpdaterCheckForUpdatesError" + guid, (result) =>
{
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesComplete" + guid);
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesError" + guid);
string message = "An error occurred in CheckForUpdatesAsync";
var error = result.GetString();
if (!string.IsNullOrEmpty(error)) message = error;
if (!string.IsNullOrEmpty(result)) message = result;
taskCompletionSource.SetException(new Exception(message));
});
@@ -423,26 +420,25 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<UpdateCheckResult>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("autoUpdaterCheckForUpdatesAndNotifyComplete" + guid, (updateCheckResult) =>
BridgeConnector.Socket.On<UpdateCheckResult>("autoUpdaterCheckForUpdatesAndNotifyComplete" + guid, (result) =>
{
try
{
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesAndNotifyComplete" + guid);
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesAndNotifyError" + guid);
taskCompletionSource.SetResult(updateCheckResult.Deserialize(ElectronJsonContext.Default.UpdateCheckResult));
taskCompletionSource.SetResult(result);
}
catch (Exception ex)
{
taskCompletionSource.SetException(ex);
}
});
BridgeConnector.Socket.On<JsonElement>("autoUpdaterCheckForUpdatesAndNotifyError" + guid, (result) =>
BridgeConnector.Socket.On<string>("autoUpdaterCheckForUpdatesAndNotifyError" + guid, (result) =>
{
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesAndNotifyComplete" + guid);
BridgeConnector.Socket.Off("autoUpdaterCheckForUpdatesAndNotifyError" + guid);
string message = "An error occurred in autoUpdaterCheckForUpdatesAndNotify";
var error = result.GetString();
if (!string.IsNullOrEmpty(error)) message = error;
if (!string.IsNullOrEmpty(result)) message = result;
taskCompletionSource.SetException(new Exception(message));
});
@@ -474,10 +470,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("autoUpdaterDownloadUpdateComplete" + guid, (downloadedPath) =>
BridgeConnector.Socket.On<string>("autoUpdaterDownloadUpdateComplete" + guid, (downloadedPath) =>
{
BridgeConnector.Socket.Off("autoUpdaterDownloadUpdateComplete" + guid);
taskCompletionSource.SetResult(downloadedPath.GetString());
taskCompletionSource.SetResult(downloadedPath);
});
BridgeConnector.Socket.Emit("autoUpdaterDownloadUpdate", guid);
@@ -494,10 +490,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("autoUpdaterGetFeedURLComplete" + guid, (downloadedPath) =>
BridgeConnector.Socket.On<string>("autoUpdaterGetFeedURLComplete" + guid, (downloadedPath) =>
{
BridgeConnector.Socket.Off("autoUpdaterGetFeedURLComplete" + guid);
taskCompletionSource.SetResult(downloadedPath.GetString());
taskCompletionSource.SetResult(downloadedPath);
});
BridgeConnector.Socket.Emit("autoUpdaterGetFeedURL", guid);

View File

@@ -34,10 +34,10 @@ namespace ElectronNET.API
Task.Run(() =>
{
BridgeConnector.Socket.On<JsonElement>("browserView-getBounds-reply", (result) =>
BridgeConnector.Socket.On<Rectangle>("browserView-getBounds-reply", (result) =>
{
BridgeConnector.Socket.Off("browserView-getBounds-reply");
taskCompletionSource.SetResult(result.Deserialize(ElectronJsonContext.Default.Rectangle));
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("browserView-getBounds", Id);

View File

@@ -924,9 +924,9 @@ public class BrowserWindow : ApiBase
_items.AddRange(menuItems);
BridgeConnector.Socket.Off("windowMenuItemClicked");
BridgeConnector.Socket.On<JsonElement>("windowMenuItemClicked", (id) =>
BridgeConnector.Socket.On<string>("windowMenuItemClicked", (id) =>
{
MenuItem menuItem = _items.GetMenuItem(id.GetString());
MenuItem menuItem = _items.GetMenuItem(id);
menuItem?.Click();
});
}
@@ -1010,11 +1010,11 @@ public class BrowserWindow : ApiBase
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("browserWindowSetThumbarButtons-completed", (success) =>
BridgeConnector.Socket.On<bool>("browserWindowSetThumbarButtons-completed", (success) =>
{
BridgeConnector.Socket.Off("browserWindowSetThumbarButtons-completed");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
thumbarButtons.AddThumbarButtonsId();
@@ -1023,9 +1023,9 @@ public class BrowserWindow : ApiBase
_thumbarButtons.AddRange(thumbarButtons);
BridgeConnector.Socket.Off("thumbarButtonClicked");
BridgeConnector.Socket.On<JsonElement>("thumbarButtonClicked", (id) =>
BridgeConnector.Socket.On<string>("thumbarButtonClicked", (id) =>
{
ThumbarButton thumbarButton = _thumbarButtons.GetThumbarButton(id.GetString());
ThumbarButton thumbarButton = _thumbarButtons.GetThumbarButton(id);
thumbarButton?.Click();
});

View File

@@ -45,11 +45,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("clipboard-readText-Completed", (text) =>
BridgeConnector.Socket.On<string>("clipboard-readText-Completed", (text) =>
{
BridgeConnector.Socket.Off("clipboard-readText-Completed");
taskCompletionSource.SetResult(text.GetString());
taskCompletionSource.SetResult(text);
});
BridgeConnector.Socket.Emit("clipboard-readText", type);
@@ -76,11 +76,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("clipboard-readHTML-Completed", (text) =>
BridgeConnector.Socket.On<string>("clipboard-readHTML-Completed", (text) =>
{
BridgeConnector.Socket.Off("clipboard-readHTML-Completed");
taskCompletionSource.SetResult(text.GetString());
taskCompletionSource.SetResult(text);
});
BridgeConnector.Socket.Emit("clipboard-readHTML", type);
@@ -107,11 +107,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("clipboard-readRTF-Completed", (text) =>
BridgeConnector.Socket.On<string>("clipboard-readRTF-Completed", (text) =>
{
BridgeConnector.Socket.Off("clipboard-readRTF-Completed");
taskCompletionSource.SetResult(text.GetString());
taskCompletionSource.SetResult(text);
});
BridgeConnector.Socket.Emit("clipboard-readRTF", type);
@@ -139,11 +139,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<ReadBookmark>();
BridgeConnector.Socket.On<JsonElement>("clipboard-readBookmark-Completed", (bookmark) =>
BridgeConnector.Socket.On<ReadBookmark>("clipboard-readBookmark-Completed", (result) =>
{
BridgeConnector.Socket.Off("clipboard-readBookmark-Completed");
taskCompletionSource.SetResult(bookmark.Deserialize<ReadBookmark>(ElectronJson.Options));
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("clipboard-readBookmark");
@@ -176,11 +175,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("clipboard-readFindText-Completed", (text) =>
BridgeConnector.Socket.On<string>("clipboard-readFindText-Completed", (text) =>
{
BridgeConnector.Socket.Off("clipboard-readFindText-Completed");
taskCompletionSource.SetResult(text.GetString());
taskCompletionSource.SetResult(text);
});
BridgeConnector.Socket.Emit("clipboard-readFindText");
@@ -216,11 +214,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string[]>();
BridgeConnector.Socket.On<JsonElement>("clipboard-availableFormats-Completed", (formats) =>
BridgeConnector.Socket.On<string[]>("clipboard-availableFormats-Completed", (formats) =>
{
BridgeConnector.Socket.Off("clipboard-availableFormats-Completed");
taskCompletionSource.SetResult(formats.Deserialize<string[]>(ElectronJson.Options));
taskCompletionSource.SetResult(formats);
});
BridgeConnector.Socket.Emit("clipboard-availableFormats", type);
@@ -247,13 +244,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<NativeImage>();
BridgeConnector.Socket.On<JsonElement>("clipboard-readImage-Completed", (image) =>
BridgeConnector.Socket.On<NativeImage>("clipboard-readImage-Completed", (result) =>
{
BridgeConnector.Socket.Off("clipboard-readImage-Completed");
var nativeImage = image.Deserialize<NativeImage>(ElectronJson.Options);
taskCompletionSource.SetResult(nativeImage);
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("clipboard-readImage", type);

View File

@@ -76,10 +76,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appCommandLineHasSwitchCompleted", (result) =>
BridgeConnector.Socket.On<bool>("appCommandLineHasSwitchCompleted", (result) =>
{
BridgeConnector.Socket.Off("appCommandLineHasSwitchCompleted");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("appCommandLineHasSwitch", switchName);
@@ -104,10 +104,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("appCommandLineGetSwitchValueCompleted", (result) =>
BridgeConnector.Socket.On<string>("appCommandLineGetSwitchValueCompleted", (result) =>
{
BridgeConnector.Socket.Off("appCommandLineGetSwitchValueCompleted");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("appCommandLineGetSwitchValue", switchName);

View File

@@ -50,11 +50,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string[]>();
var guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("showOpenDialogComplete" + guid, (filePaths) =>
BridgeConnector.Socket.On<string[]>("showOpenDialogComplete" + guid, (filePaths) =>
{
BridgeConnector.Socket.Off("showOpenDialogComplete" + guid);
var result = filePaths.Deserialize<string[]>(ElectronJson.Options);
taskCompletionSource.SetResult(result);
taskCompletionSource.SetResult(filePaths);
});
@@ -76,11 +75,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
var guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("showSaveDialogComplete" + guid, (filename) =>
BridgeConnector.Socket.On<string>("showSaveDialogComplete" + guid, (filename) =>
{
BridgeConnector.Socket.Off("showSaveDialogComplete" + guid);
taskCompletionSource.SetResult(filename.GetString());
taskCompletionSource.SetResult(filename);
});
BridgeConnector.Socket.Emit("showSaveDialog",

View File

@@ -56,10 +56,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<int>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("dock-bounce-completed", (id) =>
BridgeConnector.Socket.On<int>("dock-bounce-completed", (id) =>
{
BridgeConnector.Socket.Off("dock-bounce-completed");
taskCompletionSource.SetResult(id.GetInt32());
taskCompletionSource.SetResult(id);
});
BridgeConnector.Socket.Emit("dock-bounce", type.GetDescription());
@@ -108,10 +108,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("dock-getBadge-completed", (text) =>
BridgeConnector.Socket.On<string>("dock-getBadge-completed", (text) =>
{
BridgeConnector.Socket.Off("dock-getBadge-completed");
taskCompletionSource.SetResult(text.GetString());
taskCompletionSource.SetResult(text);
});
BridgeConnector.Socket.Emit("dock-getBadge");
@@ -150,10 +150,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<bool>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("dock-isVisible-completed", (isVisible) =>
BridgeConnector.Socket.On<bool>("dock-isVisible-completed", (isVisible) =>
{
BridgeConnector.Socket.Off("dock-isVisible-completed");
taskCompletionSource.SetResult(isVisible.GetBoolean());
taskCompletionSource.SetResult(isVisible);
});
BridgeConnector.Socket.Emit("dock-isVisible");
@@ -189,9 +189,9 @@ namespace ElectronNET.API
_items.AddRange(menuItems);
BridgeConnector.Socket.Off("dockMenuItemClicked");
BridgeConnector.Socket.On<JsonElement>("dockMenuItemClicked", (id) =>
BridgeConnector.Socket.On<string>("dockMenuItemClicked", (id) =>
{
MenuItem menuItem = _items.GetMenuItem(id.GetString());
MenuItem menuItem = _items.GetMenuItem(id);
menuItem?.Click();
});
}
@@ -207,10 +207,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<Menu>();
using (cancellationToken.Register(() => taskCompletionSource.TrySetCanceled()))
{
BridgeConnector.Socket.On<JsonElement>("dock-getMenu-completed", (menu) =>
BridgeConnector.Socket.On<Menu>("dock-getMenu-completed", (menu) =>
{
BridgeConnector.Socket.Off("dock-getMenu-completed");
taskCompletionSource.SetResult(menu.Deserialize<Menu>(ElectronJson.Options));
taskCompletionSource.SetResult(menu);
});
BridgeConnector.Socket.Emit("dock-getMenu");

View File

@@ -53,9 +53,9 @@ namespace ElectronNET.API
_shortcuts.Add(accelerator, function);
BridgeConnector.Socket.Off("globalShortcut-pressed");
BridgeConnector.Socket.On<JsonElement>("globalShortcut-pressed", (shortcut) =>
BridgeConnector.Socket.On<string>("globalShortcut-pressed", (shortcut) =>
{
if (_shortcuts.TryGetValue(shortcut.GetString(), out var action))
if (_shortcuts.TryGetValue(shortcut, out var action))
{
action();
}
@@ -75,11 +75,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("globalShortcut-isRegisteredCompleted", (isRegistered) =>
BridgeConnector.Socket.On<bool>("globalShortcut-isRegisteredCompleted", (isRegistered) =>
{
BridgeConnector.Socket.Off("globalShortcut-isRegisteredCompleted");
taskCompletionSource.SetResult(isRegistered.GetBoolean());
taskCompletionSource.SetResult(isRegistered);
});
BridgeConnector.Socket.Emit("globalShortcut-isRegistered", accelerator);

View File

@@ -48,10 +48,10 @@ namespace ElectronNET.API
/// <param name="arguments">Optional parameters.</param>
public void Call(string socketEventName, params dynamic[] arguments)
{
BridgeConnector.Socket.On<JsonElement>(socketEventName + "Error" + oneCallguid, (result) =>
BridgeConnector.Socket.On<string>(socketEventName + "Error" + oneCallguid, (result) =>
{
BridgeConnector.Socket.Off(socketEventName + "Error" + oneCallguid);
Electron.Dialog.ShowErrorBox("Host Hook Exception", result.GetString());
Electron.Dialog.ShowErrorBox("Host Hook Exception", result);
});
BridgeConnector.Socket.Emit(socketEventName, arguments, oneCallguid);
@@ -69,10 +69,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<T>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>(socketEventName + "Error" + guid, (result) =>
BridgeConnector.Socket.On<string>(socketEventName + "Error" + guid, (result) =>
{
BridgeConnector.Socket.Off(socketEventName + "Error" + guid);
Electron.Dialog.ShowErrorBox("Host Hook Exception", result.GetString());
Electron.Dialog.ShowErrorBox("Host Hook Exception", result);
taskCompletionSource.SetException(new Exception($"Host Hook Exception {result}"));
});
@@ -89,7 +89,6 @@ namespace ElectronNET.API
catch (Exception exception)
{
taskCompletionSource.SetException(exception);
//throw new InvalidCastException("Return value does not match with the generic type.", exception);
}
taskCompletionSource.SetResult(data);

View File

@@ -70,9 +70,9 @@ namespace ElectronNET.API
_menuItems.AddRange(menuItems);
BridgeConnector.Socket.Off("menuItemClicked");
BridgeConnector.Socket.On<JsonElement>("menuItemClicked", (id) =>
BridgeConnector.Socket.On<string>("menuItemClicked", (id) =>
{
MenuItem menuItem = _menuItems.GetMenuItem(id.GetString());
MenuItem menuItem = _menuItems.GetMenuItem(id);
menuItem.Click?.Invoke();
});
}

View File

@@ -109,13 +109,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<ThemeSourceMode>();
BridgeConnector.Socket.On<JsonElement>("nativeTheme-themeSource-getCompleted", (themeSource) =>
BridgeConnector.Socket.On<ThemeSourceMode>("nativeTheme-themeSource-getCompleted", (themeSource) =>
{
BridgeConnector.Socket.Off("nativeTheme-themeSource-getCompleted");
var themeSourceValue = (ThemeSourceMode)Enum.Parse(typeof(ThemeSourceMode), themeSource.GetString(), true);
taskCompletionSource.SetResult(themeSourceValue);
taskCompletionSource.SetResult(themeSource);
});
BridgeConnector.Socket.Emit("nativeTheme-themeSource-get");
@@ -132,11 +129,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("nativeTheme-shouldUseDarkColors-completed", (shouldUseDarkColors) =>
BridgeConnector.Socket.On<bool>("nativeTheme-shouldUseDarkColors-completed", (shouldUseDarkColors) =>
{
BridgeConnector.Socket.Off("nativeTheme-shouldUseDarkColors-completed");
taskCompletionSource.SetResult(shouldUseDarkColors.GetBoolean());
taskCompletionSource.SetResult(shouldUseDarkColors);
});
BridgeConnector.Socket.Emit("nativeTheme-shouldUseDarkColors");
@@ -152,11 +148,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("nativeTheme-shouldUseHighContrastColors-completed", (shouldUseHighContrastColors) =>
BridgeConnector.Socket.On<bool>("nativeTheme-shouldUseHighContrastColors-completed", (shouldUseHighContrastColors) =>
{
BridgeConnector.Socket.Off("nativeTheme-shouldUseHighContrastColors-completed");
taskCompletionSource.SetResult(shouldUseHighContrastColors.GetBoolean());
taskCompletionSource.SetResult(shouldUseHighContrastColors);
});
BridgeConnector.Socket.Emit("nativeTheme-shouldUseHighContrastColors");
@@ -172,11 +167,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("nativeTheme-shouldUseInvertedColorScheme-completed", (shouldUseInvertedColorScheme) =>
BridgeConnector.Socket.On<bool>("nativeTheme-shouldUseInvertedColorScheme-completed", (shouldUseInvertedColorScheme) =>
{
BridgeConnector.Socket.Off("nativeTheme-shouldUseInvertedColorScheme-completed");
taskCompletionSource.SetResult(shouldUseInvertedColorScheme.GetBoolean());
taskCompletionSource.SetResult(shouldUseInvertedColorScheme);
});
BridgeConnector.Socket.Emit("nativeTheme-shouldUseInvertedColorScheme");

View File

@@ -62,7 +62,7 @@ namespace ElectronNET.API
isActionDefined = true;
BridgeConnector.Socket.Off("NotificationEventShow");
BridgeConnector.Socket.On<JsonElement>("NotificationEventShow", (id) => { _notificationOptions.Single(x => x.ShowID == id.GetString()).OnShow(); });
BridgeConnector.Socket.On<string>("NotificationEventShow", (id) => { _notificationOptions.Single(x => x.ShowID == id).OnShow(); });
}
if (notificationOptions.OnClick != null)
@@ -71,7 +71,7 @@ namespace ElectronNET.API
isActionDefined = true;
BridgeConnector.Socket.Off("NotificationEventClick");
BridgeConnector.Socket.On<JsonElement>("NotificationEventClick", (id) => { _notificationOptions.Single(x => x.ClickID == id.GetString()).OnClick(); });
BridgeConnector.Socket.On<string>("NotificationEventClick", (id) => { _notificationOptions.Single(x => x.ClickID == id).OnClick(); });
}
if (notificationOptions.OnClose != null)
@@ -80,7 +80,7 @@ namespace ElectronNET.API
isActionDefined = true;
BridgeConnector.Socket.Off("NotificationEventClose");
BridgeConnector.Socket.On<JsonElement>("NotificationEventClose", (id) => { _notificationOptions.Single(x => x.CloseID == id.GetString()).OnClose(); });
BridgeConnector.Socket.On<string>("NotificationEventClose", (id) => { _notificationOptions.Single(x => x.CloseID == id).OnClose(); });
}
if (notificationOptions.OnReply != null)
@@ -89,10 +89,9 @@ namespace ElectronNET.API
isActionDefined = true;
BridgeConnector.Socket.Off("NotificationEventReply");
BridgeConnector.Socket.On<JsonElement>("NotificationEventReply", (args) =>
BridgeConnector.Socket.On<string[]>("NotificationEventReply", (args) =>
{
var arguments = args.Deserialize<string[]>(ElectronJson.Options);
_notificationOptions.Single(x => x.ReplyID == arguments[0]).OnReply(arguments[1]);
_notificationOptions.Single(x => x.ReplyID == args[0]).OnReply(args[1]);
});
}
@@ -102,10 +101,9 @@ namespace ElectronNET.API
isActionDefined = true;
BridgeConnector.Socket.Off("NotificationEventAction");
BridgeConnector.Socket.On<JsonElement>("NotificationEventAction", (args) =>
BridgeConnector.Socket.On<string[]>("NotificationEventAction", (args) =>
{
var arguments = args.Deserialize<string[]>(ElectronJson.Options);
_notificationOptions.Single(x => x.ActionID == arguments[0]).OnAction(arguments[1]);
_notificationOptions.Single(x => x.ActionID == args[0]).OnAction(args[1]);
});
}
@@ -123,10 +121,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("notificationIsSupportedComplete", (isSupported) =>
BridgeConnector.Socket.On<bool>("notificationIsSupportedComplete", (isSupported) =>
{
BridgeConnector.Socket.Off("notificationIsSupportedComplete");
taskCompletionSource.SetResult(isSupported.GetBoolean());
taskCompletionSource.SetResult(isSupported);
});
BridgeConnector.Socket.Emit("notificationIsSupported");

View File

@@ -48,10 +48,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("process-execPath-Completed", (result) =>
BridgeConnector.Socket.On<string>("process-execPath-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-execPath-Completed");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-execPath");
@@ -72,10 +72,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string[]>();
BridgeConnector.Socket.On<JsonElement>("process-argv-Completed", (result) =>
BridgeConnector.Socket.On<string[]>("process-argv-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-argv-Completed");
taskCompletionSource.SetResult(result.Deserialize<string[]>(ElectronJson.Options));
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-argv");
@@ -93,10 +93,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("process-type-Completed", (result) =>
BridgeConnector.Socket.On<string>("process-type-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-type-Completed");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-type");
@@ -115,10 +115,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<ProcessVersions>();
BridgeConnector.Socket.On<JsonElement>("process-versions-Completed", (result) =>
BridgeConnector.Socket.On<ProcessVersions>("process-versions-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-versions-Completed");
taskCompletionSource.SetResult(result.Deserialize<ProcessVersions>(ElectronJson.Options));
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-versions");
@@ -137,10 +137,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("process-defaultApp-Completed", (result) =>
BridgeConnector.Socket.On<bool>("process-defaultApp-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-defaultApp-Completed");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-defaultApp");
@@ -158,10 +158,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("process-isMainFrame-Completed", (result) =>
BridgeConnector.Socket.On<bool>("process-isMainFrame-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-isMainFrame-Completed");
taskCompletionSource.SetResult(result.GetBoolean());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-isMainFrame");
@@ -178,10 +178,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("process-resourcesPath-Completed", (result) =>
BridgeConnector.Socket.On<string>("process-resourcesPath-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-resourcesPath-Completed");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-resourcesPath");
@@ -199,10 +199,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<double>();
BridgeConnector.Socket.On<JsonElement>("process-uptime-Completed", (result) =>
BridgeConnector.Socket.On<double>("process-uptime-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-uptime-Completed");
taskCompletionSource.SetResult(result.GetDouble());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-uptime");
@@ -219,10 +219,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<int>();
BridgeConnector.Socket.On<JsonElement>("process-pid-Completed", (result) =>
BridgeConnector.Socket.On<int>("process-pid-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-pid-Completed");
taskCompletionSource.SetResult(result.GetInt32());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-pid");
@@ -240,10 +240,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("process-arch-Completed", (result) =>
BridgeConnector.Socket.On<string>("process-arch-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-arch-Completed");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-arch");
@@ -260,10 +260,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("process-platform-Completed", (result) =>
BridgeConnector.Socket.On<string>("process-platform-Completed", (result) =>
{
BridgeConnector.Socket.Off("process-platform-Completed");
taskCompletionSource.SetResult(result.GetString());
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("process-platform");

View File

@@ -81,11 +81,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Point>();
BridgeConnector.Socket.On<JsonElement>("screen-getCursorScreenPointCompleted", (point) =>
BridgeConnector.Socket.On<Point>("screen-getCursorScreenPointCompleted", (point) =>
{
BridgeConnector.Socket.Off("screen-getCursorScreenPointCompleted");
taskCompletionSource.SetResult(point.Deserialize<Point>(ElectronJson.Options));
taskCompletionSource.SetResult(point);
});
BridgeConnector.Socket.Emit("screen-getCursorScreenPoint");
@@ -101,11 +100,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<int>();
BridgeConnector.Socket.On<JsonElement>("screen-getMenuBarHeightCompleted", (height) =>
BridgeConnector.Socket.On<int>("screen-getMenuBarHeightCompleted", (height) =>
{
BridgeConnector.Socket.Off("screen-getMenuBarHeightCompleted");
taskCompletionSource.SetResult(height.GetInt32());
taskCompletionSource.SetResult(height);
});
BridgeConnector.Socket.Emit("screen-getMenuBarHeight");
@@ -121,11 +119,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display>();
BridgeConnector.Socket.On<JsonElement>("screen-getPrimaryDisplayCompleted", (display) =>
BridgeConnector.Socket.On<Display>("screen-getPrimaryDisplayCompleted", (display) =>
{
BridgeConnector.Socket.Off("screen-getPrimaryDisplayCompleted");
taskCompletionSource.SetResult(display.Deserialize(ElectronJsonContext.Default.Display));
taskCompletionSource.SetResult(display);
});
BridgeConnector.Socket.Emit("screen-getPrimaryDisplay");
@@ -141,11 +138,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display[]>();
BridgeConnector.Socket.On<JsonElement>("screen-getAllDisplaysCompleted", (displays) =>
BridgeConnector.Socket.On<Display[]>("screen-getAllDisplaysCompleted", (displays) =>
{
BridgeConnector.Socket.Off("screen-getAllDisplaysCompleted");
taskCompletionSource.SetResult(displays.Deserialize<Display[]>(ElectronJson.Options));
taskCompletionSource.SetResult(displays);
});
BridgeConnector.Socket.Emit("screen-getAllDisplays");
@@ -161,11 +157,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display>();
BridgeConnector.Socket.On<JsonElement>("screen-getDisplayNearestPointCompleted", (display) =>
BridgeConnector.Socket.On<Display>("screen-getDisplayNearestPointCompleted", (display) =>
{
BridgeConnector.Socket.Off("screen-getDisplayNearestPointCompleted");
taskCompletionSource.SetResult(display.Deserialize(ElectronJsonContext.Default.Display));
taskCompletionSource.SetResult(display);
});
BridgeConnector.Socket.Emit("screen-getDisplayNearestPoint", point);
@@ -182,11 +177,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display>();
BridgeConnector.Socket.On<JsonElement>("screen-getDisplayMatching", (display) =>
BridgeConnector.Socket.On<Display>("screen-getDisplayMatching", (display) =>
{
BridgeConnector.Socket.Off("screen-getDisplayMatching");
taskCompletionSource.SetResult(display.Deserialize(ElectronJsonContext.Default.Display));
taskCompletionSource.SetResult(display);
});
BridgeConnector.Socket.Emit("screen-getDisplayMatching", rectangle);

View File

@@ -212,10 +212,8 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<int[]>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("webContents-session-getBlobData-completed" + guid, (buffer) =>
BridgeConnector.Socket.On<int[]>("webContents-session-getBlobData-completed" + guid, (result) =>
{
var result = buffer.Deserialize<int[]>(ElectronJson.Options);
BridgeConnector.Socket.Off("webContents-session-getBlobData-completed" + guid);
taskCompletionSource.SetResult(result);
});
@@ -234,10 +232,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<int>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("webContents-session-getCacheSize-completed" + guid, (size) =>
BridgeConnector.Socket.On<int>("webContents-session-getCacheSize-completed" + guid, (size) =>
{
BridgeConnector.Socket.Off("webContents-session-getCacheSize-completed" + guid);
taskCompletionSource.SetResult(size.GetInt32());
taskCompletionSource.SetResult(size);
});
BridgeConnector.Socket.Emit("webContents-session-getCacheSize", Id, guid);
@@ -254,9 +252,8 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string[]>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("webContents-session-getPreloads-completed" + guid, (preloads) =>
BridgeConnector.Socket.On<string[]>("webContents-session-getPreloads-completed" + guid, (result) =>
{
var result = preloads.Deserialize<string[]>(ElectronJson.Options);
BridgeConnector.Socket.Off("webContents-session-getPreloads-completed" + guid);
taskCompletionSource.SetResult(result);
});
@@ -275,10 +272,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("webContents-session-getUserAgent-completed" + guid, (userAgent) =>
BridgeConnector.Socket.On<string>("webContents-session-getUserAgent-completed" + guid, (userAgent) =>
{
BridgeConnector.Socket.Off("webContents-session-getUserAgent-completed" + guid);
taskCompletionSource.SetResult(userAgent.GetString());
taskCompletionSource.SetResult(userAgent);
});
BridgeConnector.Socket.Emit("webContents-session-getUserAgent", Id, guid);
@@ -297,10 +294,10 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
string guid = Guid.NewGuid().ToString();
BridgeConnector.Socket.On<JsonElement>("webContents-session-resolveProxy-completed" + guid, (proxy) =>
BridgeConnector.Socket.On<string>("webContents-session-resolveProxy-completed" + guid, (proxy) =>
{
BridgeConnector.Socket.Off("webContents-session-resolveProxy-completed" + guid);
taskCompletionSource.SetResult(proxy.GetString());
taskCompletionSource.SetResult(proxy);
});
BridgeConnector.Socket.Emit("webContents-session-resolveProxy", Id, url, guid);
@@ -386,12 +383,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<ChromeExtensionInfo[]>();
BridgeConnector.Socket.On<JsonElement>("webContents-session-getAllExtensions-completed", (extensionslist) =>
BridgeConnector.Socket.On<ChromeExtensionInfo[]>("webContents-session-getAllExtensions-completed", (extensionslist) =>
{
BridgeConnector.Socket.Off("webContents-session-getAllExtensions-completed");
var chromeExtensionInfos = extensionslist.Deserialize<ChromeExtensionInfo[]>(ElectronJson.Options);
taskCompletionSource.SetResult(chromeExtensionInfos);
taskCompletionSource.SetResult(extensionslist);
});
BridgeConnector.Socket.Emit("webContents-session-getAllExtensions", Id);
@@ -440,11 +435,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Extension>();
BridgeConnector.Socket.On<JsonElement>("webContents-session-loadExtension-completed", (extension) =>
BridgeConnector.Socket.On<Extension>("webContents-session-loadExtension-completed", (extension) =>
{
BridgeConnector.Socket.Off("webContents-session-loadExtension-completed");
taskCompletionSource.SetResult(extension.Deserialize<Extension>(ElectronJson.Options));
taskCompletionSource.SetResult(extension);
});
BridgeConnector.Socket.Emit("webContents-session-loadExtension", Id, path, allowFileAccess);

View File

@@ -61,11 +61,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("shell-openPathCompleted", (errorMessage) =>
BridgeConnector.Socket.On<string>("shell-openPathCompleted", (errorMessage) =>
{
BridgeConnector.Socket.Off("shell-openPathCompleted");
taskCompletionSource.SetResult(errorMessage.GetString());
taskCompletionSource.SetResult(errorMessage);
});
BridgeConnector.Socket.Emit("shell-openPath", path);
@@ -95,11 +94,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.Socket.On<JsonElement>("shell-openExternalCompleted", (error) =>
BridgeConnector.Socket.On<string>("shell-openExternalCompleted", (error) =>
{
BridgeConnector.Socket.Off("shell-openExternalCompleted");
taskCompletionSource.SetResult(error.GetString());
taskCompletionSource.SetResult(error);
});
if (options == null)
@@ -123,11 +121,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("shell-trashItem-completed", (success) =>
BridgeConnector.Socket.On<bool>("shell-trashItem-completed", (success) =>
{
BridgeConnector.Socket.Off("shell-trashItem-completed");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("shell-trashItem", fullPath);
@@ -154,11 +151,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("shell-writeShortcutLinkCompleted", (success) =>
BridgeConnector.Socket.On<bool>("shell-writeShortcutLinkCompleted", (success) =>
{
BridgeConnector.Socket.Off("shell-writeShortcutLinkCompleted");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
BridgeConnector.Socket.Emit("shell-writeShortcutLink", shortcutPath, operation.GetDescription(), options);
@@ -176,13 +172,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<ShortcutDetails>();
BridgeConnector.Socket.On<JsonElement>("shell-readShortcutLinkCompleted", (shortcutDetails) =>
BridgeConnector.Socket.On<ShortcutDetails>("shell-readShortcutLinkCompleted", (shortcutDetails) =>
{
BridgeConnector.Socket.Off("shell-readShortcutLinkCompleted");
var details = shortcutDetails.Deserialize<ShortcutDetails>(ElectronJson.Options);
taskCompletionSource.SetResult(details);
taskCompletionSource.SetResult(shortcutDetails);
});
BridgeConnector.Socket.Emit("shell-readShortcutLink", shortcutPath);

View File

@@ -160,11 +160,10 @@ public class WebContents
{
var taskCompletionSource = new TaskCompletionSource<PrinterInfo[]>();
BridgeConnector.Socket.On<JsonElement>("webContents-getPrinters-completed", (printers) =>
BridgeConnector.Socket.On<PrinterInfo[]>("webContents-getPrinters-completed", (printers) =>
{
BridgeConnector.Socket.Off("webContents-getPrinters-completed");
taskCompletionSource.SetResult(printers.Deserialize<PrinterInfo[]>(ElectronJson.Options));
taskCompletionSource.SetResult(printers);
});
BridgeConnector.Socket.Emit("webContents-getPrinters", Id);
@@ -181,10 +180,10 @@ public class WebContents
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("webContents-print-completed", (success) =>
BridgeConnector.Socket.On<bool>("webContents-print-completed", (success) =>
{
BridgeConnector.Socket.Off("webContents-print-completed");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
if (options == null)
@@ -212,10 +211,10 @@ public class WebContents
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.Socket.On<JsonElement>("webContents-printToPDF-completed", (success) =>
BridgeConnector.Socket.On<bool>("webContents-printToPDF-completed", (success) =>
{
BridgeConnector.Socket.Off("webContents-printToPDF-completed");
taskCompletionSource.SetResult(success.GetBoolean());
taskCompletionSource.SetResult(success);
});
if (options == null)
@@ -250,10 +249,10 @@ public class WebContents
{
var taskCompletionSource = new TaskCompletionSource<T>();
BridgeConnector.Socket.On<JsonElement>("webContents-executeJavaScript-completed", (result) =>
BridgeConnector.Socket.On<T>("webContents-executeJavaScript-completed", (result) =>
{
BridgeConnector.Socket.Off("webContents-executeJavaScript-completed");
taskCompletionSource.SetResult(result.Deserialize<T>(ElectronJson.Options));
taskCompletionSource.SetResult(result);
});
BridgeConnector.Socket.Emit("webContents-executeJavaScript", Id, code, userGesture);
@@ -271,10 +270,10 @@ public class WebContents
var taskCompletionSource = new TaskCompletionSource<string>();
var eventString = "webContents-getUrl" + Id;
BridgeConnector.Socket.On<JsonElement>(eventString, (url) =>
BridgeConnector.Socket.On<string>(eventString, (url) =>
{
BridgeConnector.Socket.Off(eventString);
taskCompletionSource.SetResult(url.GetString());
taskCompletionSource.SetResult(url);
});
BridgeConnector.Socket.Emit("webContents-getUrl", Id);
@@ -323,10 +322,10 @@ public class WebContents
taskCompletionSource.SetResult(null);
});
BridgeConnector.Socket.On<JsonElement>("webContents-loadURL-error" + Id, (error) =>
BridgeConnector.Socket.On<string>("webContents-loadURL-error" + Id, (error) =>
{
BridgeConnector.Socket.Off("webContents-loadURL-error" + Id);
taskCompletionSource.SetException(new InvalidOperationException(error.GetString()));
taskCompletionSource.SetException(new InvalidOperationException(error));
});
BridgeConnector.Socket.Emit("webContents-loadURL", Id, url, options);

View File

@@ -98,27 +98,22 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<BrowserWindow>();
BridgeConnector.Socket.On<JsonElement>("BrowserWindowCreated", (id) =>
BridgeConnector.Socket.On<int>("BrowserWindowCreated", (id) =>
{
BridgeConnector.Socket.Off("BrowserWindowCreated");
var browserWindowId = id.GetInt32();
var browserWindow = new BrowserWindow(browserWindowId);
var browserWindow = new BrowserWindow(id);
_browserWindows.Add(browserWindow);
taskCompletionSource.SetResult(browserWindow);
});
BridgeConnector.Socket.On<JsonElement>("BrowserWindowClosed", (ids) =>
BridgeConnector.Socket.On<int[]>("BrowserWindowClosed", (ids) =>
{
BridgeConnector.Socket.Off("BrowserWindowClosed");
var browserWindowIds = ids.Deserialize<int[]>(ElectronJson.Options);
for (int index = 0; index < _browserWindows.Count; index++)
{
if (!browserWindowIds.Contains(_browserWindows[index].Id))
if (!ids.Contains(_browserWindows[index].Id))
{
_browserWindows.RemoveAt(index);
}
@@ -187,12 +182,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<BrowserView>();
BridgeConnector.Socket.On<JsonElement>("BrowserViewCreated", (id) =>
BridgeConnector.Socket.On<int>("BrowserViewCreated", (id) =>
{
BridgeConnector.Socket.Off("BrowserViewCreated");
var browserViewId = id.GetInt32();
BrowserView browserView = new(browserViewId);
BrowserView browserView = new(id);
_browserViews.Add(browserView);