From feddf5f8f47e072b860d1812c1abf98d4e5bfccd Mon Sep 17 00:00:00 2001 From: softworkz Date: Mon, 13 Oct 2025 13:20:23 +0200 Subject: [PATCH] ElectronNET.API: Move API code to subfolder --- src/ElectronNET.API/{ => API}/App.cs | 37 +++-- src/ElectronNET.API/{ => API}/AutoUpdater.cs | 0 src/ElectronNET.API/{ => API}/BrowserView.cs | 0 .../{ => API}/BrowserWindow.cs | 0 src/ElectronNET.API/{ => API}/Clipboard.cs | 0 src/ElectronNET.API/{ => API}/CommandLine.cs | 0 src/ElectronNET.API/{ => API}/Dialog.cs | 6 +- src/ElectronNET.API/{ => API}/Dock.cs | 0 src/ElectronNET.API/{ => API}/Electron.cs | 0 .../{ => API}/Entities/AboutPanelOptions.cs | 0 .../Entities/AddRepresentationOptions.cs | 0 .../{ => API}/Entities/AppDetailsOptions.cs | 0 .../{ => API}/Entities/AutoResizeOptions.cs | 0 .../{ => API}/Entities/BitmapOptions.cs | 0 .../{ => API}/Entities/Blob.cs | 0 .../{ => API}/Entities/BlockMapDataHolder.cs | 0 .../Entities/BrowserViewConstructorOptions.cs | 0 .../Entities/BrowserWindowOptions.cs | 0 .../{ => API}/Entities/CPUUsage.cs | 0 .../{ => API}/Entities/Certificate.cs | 0 .../Entities/CertificatePrincipal.cs | 0 .../Entities/CertificateTrustDialogOptions.cs | 0 .../{ => API}/Entities/ChromeExtensionInfo.cs | 0 .../Entities/ClearStorageDataOptions.cs | 0 .../{ => API}/Entities/Cookie.cs | 0 .../{ => API}/Entities/CookieChangedCause.cs | 0 .../{ => API}/Entities/CookieDetails.cs | 0 .../{ => API}/Entities/CookieFilter.cs | 0 .../Entities/CreateFromBitmapOptions.cs | 0 .../Entities/CreateFromBufferOptions.cs | 0 .../CreateInterruptedDownloadOptions.cs | 0 .../{ => API}/Entities/Data.cs | 0 .../{ => API}/Entities/DefaultFontFamily.cs | 0 .../{ => API}/Entities/DevToolsMode.cs | 0 .../{ => API}/Entities/Display.cs | 0 .../Entities/DisplayBalloonOptions.cs | 0 .../{ => API}/Entities/DockBounceType.cs | 0 .../Entities/EnableNetworkEmulationOptions.cs | 0 .../{ => API}/Entities/Extension.cs | 0 .../{ => API}/Entities/FileFilter.cs | 0 .../{ => API}/Entities/FileIconOptions.cs | 0 .../{ => API}/Entities/FileIconSize.cs | 0 .../{ => API}/Entities/FocusOptions.cs | 0 .../{ => API}/Entities/GPUFeatureStatus.cs | 0 .../{ => API}/Entities/IPostData.cs | 0 .../Entities/ImportCertificateOptions.cs | 0 .../{ => API}/Entities/InputEvent.cs | 3 +- .../{ => API}/Entities/InputEventType.cs | 0 .../{ => API}/Entities/JumpListCategory.cs | 0 .../Entities/JumpListCategoryType.cs | 0 .../{ => API}/Entities/JumpListItem.cs | 0 .../{ => API}/Entities/JumpListItemType.cs | 0 .../{ => API}/Entities/JumpListSettings.cs | 0 .../{ => API}/Entities/LoadURLOptions.cs | 0 .../{ => API}/Entities/LoginItemSettings.cs | 0 .../Entities/LoginItemSettingsOptions.cs | 0 .../{ => API}/Entities/LoginSettings.cs | 0 .../{ => API}/Entities/Margins.cs | 0 .../{ => API}/Entities/MemoryInfo.cs | 0 .../{ => API}/Entities/MenuItem.cs | 0 .../{ => API}/Entities/MenuRole.cs | 0 .../{ => API}/Entities/MenuType.cs | 0 .../{ => API}/Entities/MessageBoxOptions.cs | 0 .../{ => API}/Entities/MessageBoxResult.cs | 0 .../{ => API}/Entities/MessageBoxType.cs | 0 .../{ => API}/Entities/ModifierType.cs | 0 .../{ => API}/Entities/NativeImage.cs | 0 .../Entities/NativeImageJsonConverter.cs | 0 .../{ => API}/Entities/NotificationAction.cs | 0 .../{ => API}/Entities/NotificationOptions.cs | 0 .../{ => API}/Entities/OnDidFailLoadInfo.cs | 0 .../{ => API}/Entities/OnDidNavigateInfo.cs | 0 .../{ => API}/Entities/OnTopLevel.cs | 0 .../{ => API}/Entities/OpenDevToolsOptions.cs | 0 .../{ => API}/Entities/OpenDialogOptions.cs | 0 .../{ => API}/Entities/OpenDialogProperty.cs | 0 .../{ => API}/Entities/OpenExternalOptions.cs | 0 .../{ => API}/Entities/PathName.cs | 0 .../{ => API}/Entities/Point.cs | 0 .../{ => API}/Entities/PrintOptions.cs | 0 .../{ => API}/Entities/PrintToPDFOptions.cs | 0 .../{ => API}/Entities/PrinterInfo.cs | 0 .../{ => API}/Entities/ProcessMetric.cs | 0 .../{ => API}/Entities/ProgressBarMode.cs | 0 .../{ => API}/Entities/ProgressBarOptions.cs | 0 .../{ => API}/Entities/ProgressInfo.cs | 0 .../{ => API}/Entities/ProxyConfig.cs | 0 .../{ => API}/Entities/ReadBookmark.cs | 0 .../{ => API}/Entities/Rectangle.cs | 0 .../{ => API}/Entities/RelaunchOptions.cs | 0 .../{ => API}/Entities/ReleaseNoteInfo.cs | 0 .../{ => API}/Entities/RemovePassword.cs | 0 .../{ => API}/Entities/ResizeOptions.cs | 0 .../{ => API}/Entities/SaveDialogOptions.cs | 0 .../{ => API}/Entities/Scheme.cs | 0 .../{ => API}/Entities/SemVer.cs | 0 .../{ => API}/Entities/ShortcutDetails.cs | 0 .../Entities/ShortcutLinkOperation.cs | 0 .../{ => API}/Entities/Size.cs | 0 .../{ => API}/Entities/ThemeSourceMode.cs | 0 .../{ => API}/Entities/ThumbarButton.cs | 0 .../{ => API}/Entities/ThumbarButtonFlag.cs | 0 .../{ => API}/Entities/TitleBarStyle.cs | 0 .../{ => API}/Entities/ToBitmapOptions.cs | 0 .../{ => API}/Entities/ToDataUrlOptions.cs | 0 .../{ => API}/Entities/ToPNGOptions.cs | 0 .../{ => API}/Entities/TrayClickEventArgs.cs | 0 .../Entities/UpdateCancellationToken.cs | 0 .../{ => API}/Entities/UpdateCheckResult.cs | 0 .../{ => API}/Entities/UpdateFileInfo.cs | 0 .../{ => API}/Entities/UpdateInfo.cs | 0 .../{ => API}/Entities/UploadFile.cs | 0 .../{ => API}/Entities/UploadRawData.cs | 0 .../{ => API}/Entities/UserTask.cs | 0 .../{ => API}/Entities/Vibrancy.cs | 0 .../{ => API}/Entities/WebPreferences.cs | 0 .../{ => API}/Extensions/EnumExtensions.cs | 0 .../Extensions/MenuItemExtensions.cs | 0 .../Extensions/ThumbarButtonExtensions.cs | 0 .../{ => API}/GlobalShortcut.cs | 0 src/ElectronNET.API/{ => API}/HostHook.cs | 0 .../{ => API}/HybridSupport.cs | 2 +- src/ElectronNET.API/{ => API}/IpcMain.cs | 2 +- src/ElectronNET.API/{ => API}/Menu.cs | 0 src/ElectronNET.API/{ => API}/NativeTheme.cs | 0 src/ElectronNET.API/{ => API}/Notification.cs | 0 src/ElectronNET.API/{ => API}/PowerMonitor.cs | 0 .../{ => API}/QuitEventArgs.cs | 0 src/ElectronNET.API/{ => API}/Screen.cs | 0 src/ElectronNET.API/{ => API}/Session.cs | 3 + src/ElectronNET.API/{ => API}/Shell.cs | 0 src/ElectronNET.API/{ => API}/Tray.cs | 26 +-- src/ElectronNET.API/{ => API}/WebContents.cs | 0 .../{ => API}/WindowManager.cs | 16 +- src/ElectronNET.API/BridgeConnector.cs | 33 ---- src/ElectronNET.API/BridgeSettings.cs | 24 --- src/ElectronNET.API/Cookies.cs | 154 ------------------ src/ElectronNET.API/Events.cs | 88 ---------- src/ElectronNET.API/GlobalUsings.cs | 3 - src/ElectronNET.API/LifetimeServiceHost.cs | 41 ----- .../ServiceCollectionExtensions.cs | 33 ---- src/ElectronNET.API/SocketIOFacade.cs | 93 ----------- .../WebHostBuilderExtensions.cs | 58 ------- src/ElectronNET.API/devCleanup.cmd | 1 - src/ElectronNET.API/devCleanup.sh | 1 - 145 files changed, 52 insertions(+), 572 deletions(-) rename src/ElectronNET.API/{ => API}/App.cs (97%) rename src/ElectronNET.API/{ => API}/AutoUpdater.cs (100%) rename src/ElectronNET.API/{ => API}/BrowserView.cs (100%) rename src/ElectronNET.API/{ => API}/BrowserWindow.cs (100%) rename src/ElectronNET.API/{ => API}/Clipboard.cs (100%) rename src/ElectronNET.API/{ => API}/CommandLine.cs (100%) rename src/ElectronNET.API/{ => API}/Dialog.cs (96%) rename src/ElectronNET.API/{ => API}/Dock.cs (100%) rename src/ElectronNET.API/{ => API}/Electron.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/AboutPanelOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/AddRepresentationOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/AppDetailsOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/AutoResizeOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/BitmapOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Blob.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/BlockMapDataHolder.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/BrowserViewConstructorOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/BrowserWindowOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CPUUsage.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Certificate.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CertificatePrincipal.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CertificateTrustDialogOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ChromeExtensionInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ClearStorageDataOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Cookie.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CookieChangedCause.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CookieDetails.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CookieFilter.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CreateFromBitmapOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CreateFromBufferOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/CreateInterruptedDownloadOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Data.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/DefaultFontFamily.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/DevToolsMode.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Display.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/DisplayBalloonOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/DockBounceType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/EnableNetworkEmulationOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Extension.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/FileFilter.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/FileIconOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/FileIconSize.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/FocusOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/GPUFeatureStatus.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/IPostData.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ImportCertificateOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/InputEvent.cs (98%) rename src/ElectronNET.API/{ => API}/Entities/InputEventType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/JumpListCategory.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/JumpListCategoryType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/JumpListItem.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/JumpListItemType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/JumpListSettings.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/LoadURLOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/LoginItemSettings.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/LoginItemSettingsOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/LoginSettings.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Margins.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MemoryInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MenuItem.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MenuRole.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MenuType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MessageBoxOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MessageBoxResult.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/MessageBoxType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ModifierType.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/NativeImage.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/NativeImageJsonConverter.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/NotificationAction.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/NotificationOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OnDidFailLoadInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OnDidNavigateInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OnTopLevel.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OpenDevToolsOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OpenDialogOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OpenDialogProperty.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/OpenExternalOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/PathName.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Point.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/PrintOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/PrintToPDFOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/PrinterInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ProcessMetric.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ProgressBarMode.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ProgressBarOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ProgressInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ProxyConfig.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ReadBookmark.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Rectangle.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/RelaunchOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ReleaseNoteInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/RemovePassword.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ResizeOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/SaveDialogOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Scheme.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/SemVer.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ShortcutDetails.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ShortcutLinkOperation.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Size.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ThemeSourceMode.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ThumbarButton.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ThumbarButtonFlag.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/TitleBarStyle.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ToBitmapOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ToDataUrlOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/ToPNGOptions.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/TrayClickEventArgs.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UpdateCancellationToken.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UpdateCheckResult.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UpdateFileInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UpdateInfo.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UploadFile.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UploadRawData.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/UserTask.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/Vibrancy.cs (100%) rename src/ElectronNET.API/{ => API}/Entities/WebPreferences.cs (100%) rename src/ElectronNET.API/{ => API}/Extensions/EnumExtensions.cs (100%) rename src/ElectronNET.API/{ => API}/Extensions/MenuItemExtensions.cs (100%) rename src/ElectronNET.API/{ => API}/Extensions/ThumbarButtonExtensions.cs (100%) rename src/ElectronNET.API/{ => API}/GlobalShortcut.cs (100%) rename src/ElectronNET.API/{ => API}/HostHook.cs (100%) rename src/ElectronNET.API/{ => API}/HybridSupport.cs (86%) rename src/ElectronNET.API/{ => API}/IpcMain.cs (99%) rename src/ElectronNET.API/{ => API}/Menu.cs (100%) rename src/ElectronNET.API/{ => API}/NativeTheme.cs (100%) rename src/ElectronNET.API/{ => API}/Notification.cs (100%) rename src/ElectronNET.API/{ => API}/PowerMonitor.cs (100%) rename src/ElectronNET.API/{ => API}/QuitEventArgs.cs (100%) rename src/ElectronNET.API/{ => API}/Screen.cs (100%) rename src/ElectronNET.API/{ => API}/Session.cs (99%) rename src/ElectronNET.API/{ => API}/Shell.cs (100%) rename src/ElectronNET.API/{ => API}/Tray.cs (95%) rename src/ElectronNET.API/{ => API}/WebContents.cs (100%) rename src/ElectronNET.API/{ => API}/WindowManager.cs (92%) delete mode 100644 src/ElectronNET.API/BridgeConnector.cs delete mode 100644 src/ElectronNET.API/BridgeSettings.cs delete mode 100644 src/ElectronNET.API/Cookies.cs delete mode 100644 src/ElectronNET.API/Events.cs delete mode 100644 src/ElectronNET.API/GlobalUsings.cs delete mode 100644 src/ElectronNET.API/LifetimeServiceHost.cs delete mode 100644 src/ElectronNET.API/ServiceCollectionExtensions.cs delete mode 100644 src/ElectronNET.API/SocketIOFacade.cs delete mode 100644 src/ElectronNET.API/WebHostBuilderExtensions.cs delete mode 100644 src/ElectronNET.API/devCleanup.cmd delete mode 100644 src/ElectronNET.API/devCleanup.sh diff --git a/src/ElectronNET.API/App.cs b/src/ElectronNET.API/API/App.cs similarity index 97% rename from src/ElectronNET.API/App.cs rename to src/ElectronNET.API/API/App.cs index 20e1541..088ed84 100644 --- a/src/ElectronNET.API/App.cs +++ b/src/ElectronNET.API/API/App.cs @@ -70,7 +70,7 @@ namespace ElectronNET.API { BridgeConnector.Socket.On("app-before-quit" + GetHashCode(), async () => { - await _beforeQuit(new QuitEventArgs()); + await this._beforeQuit(new QuitEventArgs()).ConfigureAwait(false); if (_preventQuit) { @@ -84,7 +84,7 @@ namespace ElectronNET.API } else if (_willQuit != null) { - await _willQuit(new QuitEventArgs()); + await this._willQuit(new QuitEventArgs()).ConfigureAwait(false); if (_preventQuit) { @@ -98,14 +98,14 @@ namespace ElectronNET.API } else { - await _quitting(); + await this._quitting().ConfigureAwait(false); Exit(); } } } else if (_quitting != null) { - await _quitting(); + await this._quitting().ConfigureAwait(false); Exit(); } } @@ -142,7 +142,7 @@ namespace ElectronNET.API { BridgeConnector.Socket.On("app-will-quit" + GetHashCode(), async () => { - await _willQuit(new QuitEventArgs()); + await this._willQuit(new QuitEventArgs()).ConfigureAwait(false); if (_preventQuit) { @@ -156,7 +156,7 @@ namespace ElectronNET.API } else { - await _quitting(); + await this._quitting().ConfigureAwait(false); Exit(); } } @@ -192,7 +192,7 @@ namespace ElectronNET.API { if(_willQuit == null) { - await _quitting(); + await this._quitting().ConfigureAwait(false); Exit(); } }); @@ -567,6 +567,11 @@ namespace ElectronNET.API BridgeConnector.Socket.Emit("appExit", exitCode); } + public void DisposeSocket() + { + BridgeConnector.Socket.DisposeSocket(); + } + /// /// Relaunches the app when current instance exits. By default the new instance will use the same working directory /// and command line arguments with current instance. @@ -816,7 +821,7 @@ namespace ElectronNET.API /// Whether the call succeeded. public async Task SetAsDefaultProtocolClientAsync(string protocol, CancellationToken cancellationToken = default) { - return await SetAsDefaultProtocolClientAsync(protocol, null, null, cancellationToken); + return await this.SetAsDefaultProtocolClientAsync(protocol, null, null, cancellationToken).ConfigureAwait(false); } /// @@ -847,7 +852,7 @@ namespace ElectronNET.API /// Whether the call succeeded. public async Task SetAsDefaultProtocolClientAsync(string protocol, string path, CancellationToken cancellationToken = default) { - return await SetAsDefaultProtocolClientAsync(protocol, path, null, cancellationToken); + return await this.SetAsDefaultProtocolClientAsync(protocol, path, null, cancellationToken).ConfigureAwait(false); } /// @@ -906,7 +911,7 @@ namespace ElectronNET.API /// Whether the call succeeded. public async Task RemoveAsDefaultProtocolClientAsync(string protocol, CancellationToken cancellationToken = default) { - return await RemoveAsDefaultProtocolClientAsync(protocol, null, null, cancellationToken); + return await this.RemoveAsDefaultProtocolClientAsync(protocol, null, null, cancellationToken).ConfigureAwait(false); } /// @@ -919,7 +924,7 @@ namespace ElectronNET.API /// Whether the call succeeded. public async Task RemoveAsDefaultProtocolClientAsync(string protocol, string path, CancellationToken cancellationToken = default) { - return await RemoveAsDefaultProtocolClientAsync(protocol, path, null, cancellationToken); + return await this.RemoveAsDefaultProtocolClientAsync(protocol, path, null, cancellationToken).ConfigureAwait(false); } /// @@ -966,7 +971,7 @@ namespace ElectronNET.API /// Whether the current executable is the default handler for a protocol (aka URI scheme). public async Task IsDefaultProtocolClientAsync(string protocol, CancellationToken cancellationToken = default) { - return await IsDefaultProtocolClientAsync(protocol, null, null, cancellationToken); + return await this.IsDefaultProtocolClientAsync(protocol, null, null, cancellationToken).ConfigureAwait(false); } /// @@ -985,7 +990,7 @@ namespace ElectronNET.API /// Whether the current executable is the default handler for a protocol (aka URI scheme). public async Task IsDefaultProtocolClientAsync(string protocol, string path, CancellationToken cancellationToken = default) { - return await IsDefaultProtocolClientAsync(protocol, path, null, cancellationToken); + return await this.IsDefaultProtocolClientAsync(protocol, path, null, cancellationToken).ConfigureAwait(false); } /// @@ -1437,7 +1442,7 @@ namespace ElectronNET.API /// public async Task GetLoginItemSettingsAsync(CancellationToken cancellationToken = default) { - return await GetLoginItemSettingsAsync(null, cancellationToken); + return await this.GetLoginItemSettingsAsync(null, cancellationToken).ConfigureAwait(false); } /// @@ -1624,7 +1629,7 @@ namespace ElectronNET.API /// The event name /// The handler public async Task On(string eventName, Action action) - => await Events.Instance.On(ModuleName, eventName, action); + => await Events.Instance.On(ModuleName, eventName, action).ConfigureAwait(false); /// /// Subscribe to an unmapped event on the module once. /// @@ -1638,6 +1643,6 @@ namespace ElectronNET.API /// The event name /// The handler public async Task Once(string eventName, Action action) - => await Events.Instance.Once(ModuleName, eventName, action); + => await Events.Instance.Once(ModuleName, eventName, action).ConfigureAwait(false); } } diff --git a/src/ElectronNET.API/AutoUpdater.cs b/src/ElectronNET.API/API/AutoUpdater.cs similarity index 100% rename from src/ElectronNET.API/AutoUpdater.cs rename to src/ElectronNET.API/API/AutoUpdater.cs diff --git a/src/ElectronNET.API/BrowserView.cs b/src/ElectronNET.API/API/BrowserView.cs similarity index 100% rename from src/ElectronNET.API/BrowserView.cs rename to src/ElectronNET.API/API/BrowserView.cs diff --git a/src/ElectronNET.API/BrowserWindow.cs b/src/ElectronNET.API/API/BrowserWindow.cs similarity index 100% rename from src/ElectronNET.API/BrowserWindow.cs rename to src/ElectronNET.API/API/BrowserWindow.cs diff --git a/src/ElectronNET.API/Clipboard.cs b/src/ElectronNET.API/API/Clipboard.cs similarity index 100% rename from src/ElectronNET.API/Clipboard.cs rename to src/ElectronNET.API/API/Clipboard.cs diff --git a/src/ElectronNET.API/CommandLine.cs b/src/ElectronNET.API/API/CommandLine.cs similarity index 100% rename from src/ElectronNET.API/CommandLine.cs rename to src/ElectronNET.API/API/CommandLine.cs diff --git a/src/ElectronNET.API/Dialog.cs b/src/ElectronNET.API/API/Dialog.cs similarity index 96% rename from src/ElectronNET.API/Dialog.cs rename to src/ElectronNET.API/API/Dialog.cs index ddc7be5..f8cc413 100644 --- a/src/ElectronNET.API/Dialog.cs +++ b/src/ElectronNET.API/API/Dialog.cs @@ -103,7 +103,7 @@ namespace ElectronNET.API /// The API call will be asynchronous and the result will be passed via MessageBoxResult. public async Task ShowMessageBoxAsync(string message) { - return await ShowMessageBoxAsync(null, new MessageBoxOptions(message)); + return await this.ShowMessageBoxAsync(null, new MessageBoxOptions(message)).ConfigureAwait(false); } /// @@ -117,7 +117,7 @@ namespace ElectronNET.API /// The API call will be asynchronous and the result will be passed via MessageBoxResult. public async Task ShowMessageBoxAsync(MessageBoxOptions messageBoxOptions) { - return await ShowMessageBoxAsync(null, messageBoxOptions); + return await this.ShowMessageBoxAsync(null, messageBoxOptions).ConfigureAwait(false); } /// @@ -130,7 +130,7 @@ namespace ElectronNET.API /// The API call will be asynchronous and the result will be passed via MessageBoxResult. public async Task ShowMessageBoxAsync(BrowserWindow browserWindow, string message) { - return await ShowMessageBoxAsync(browserWindow, new MessageBoxOptions(message)); + return await this.ShowMessageBoxAsync(browserWindow, new MessageBoxOptions(message)).ConfigureAwait(false); } /// diff --git a/src/ElectronNET.API/Dock.cs b/src/ElectronNET.API/API/Dock.cs similarity index 100% rename from src/ElectronNET.API/Dock.cs rename to src/ElectronNET.API/API/Dock.cs diff --git a/src/ElectronNET.API/Electron.cs b/src/ElectronNET.API/API/Electron.cs similarity index 100% rename from src/ElectronNET.API/Electron.cs rename to src/ElectronNET.API/API/Electron.cs diff --git a/src/ElectronNET.API/Entities/AboutPanelOptions.cs b/src/ElectronNET.API/API/Entities/AboutPanelOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/AboutPanelOptions.cs rename to src/ElectronNET.API/API/Entities/AboutPanelOptions.cs diff --git a/src/ElectronNET.API/Entities/AddRepresentationOptions.cs b/src/ElectronNET.API/API/Entities/AddRepresentationOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/AddRepresentationOptions.cs rename to src/ElectronNET.API/API/Entities/AddRepresentationOptions.cs diff --git a/src/ElectronNET.API/Entities/AppDetailsOptions.cs b/src/ElectronNET.API/API/Entities/AppDetailsOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/AppDetailsOptions.cs rename to src/ElectronNET.API/API/Entities/AppDetailsOptions.cs diff --git a/src/ElectronNET.API/Entities/AutoResizeOptions.cs b/src/ElectronNET.API/API/Entities/AutoResizeOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/AutoResizeOptions.cs rename to src/ElectronNET.API/API/Entities/AutoResizeOptions.cs diff --git a/src/ElectronNET.API/Entities/BitmapOptions.cs b/src/ElectronNET.API/API/Entities/BitmapOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/BitmapOptions.cs rename to src/ElectronNET.API/API/Entities/BitmapOptions.cs diff --git a/src/ElectronNET.API/Entities/Blob.cs b/src/ElectronNET.API/API/Entities/Blob.cs similarity index 100% rename from src/ElectronNET.API/Entities/Blob.cs rename to src/ElectronNET.API/API/Entities/Blob.cs diff --git a/src/ElectronNET.API/Entities/BlockMapDataHolder.cs b/src/ElectronNET.API/API/Entities/BlockMapDataHolder.cs similarity index 100% rename from src/ElectronNET.API/Entities/BlockMapDataHolder.cs rename to src/ElectronNET.API/API/Entities/BlockMapDataHolder.cs diff --git a/src/ElectronNET.API/Entities/BrowserViewConstructorOptions.cs b/src/ElectronNET.API/API/Entities/BrowserViewConstructorOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/BrowserViewConstructorOptions.cs rename to src/ElectronNET.API/API/Entities/BrowserViewConstructorOptions.cs diff --git a/src/ElectronNET.API/Entities/BrowserWindowOptions.cs b/src/ElectronNET.API/API/Entities/BrowserWindowOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/BrowserWindowOptions.cs rename to src/ElectronNET.API/API/Entities/BrowserWindowOptions.cs diff --git a/src/ElectronNET.API/Entities/CPUUsage.cs b/src/ElectronNET.API/API/Entities/CPUUsage.cs similarity index 100% rename from src/ElectronNET.API/Entities/CPUUsage.cs rename to src/ElectronNET.API/API/Entities/CPUUsage.cs diff --git a/src/ElectronNET.API/Entities/Certificate.cs b/src/ElectronNET.API/API/Entities/Certificate.cs similarity index 100% rename from src/ElectronNET.API/Entities/Certificate.cs rename to src/ElectronNET.API/API/Entities/Certificate.cs diff --git a/src/ElectronNET.API/Entities/CertificatePrincipal.cs b/src/ElectronNET.API/API/Entities/CertificatePrincipal.cs similarity index 100% rename from src/ElectronNET.API/Entities/CertificatePrincipal.cs rename to src/ElectronNET.API/API/Entities/CertificatePrincipal.cs diff --git a/src/ElectronNET.API/Entities/CertificateTrustDialogOptions.cs b/src/ElectronNET.API/API/Entities/CertificateTrustDialogOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/CertificateTrustDialogOptions.cs rename to src/ElectronNET.API/API/Entities/CertificateTrustDialogOptions.cs diff --git a/src/ElectronNET.API/Entities/ChromeExtensionInfo.cs b/src/ElectronNET.API/API/Entities/ChromeExtensionInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/ChromeExtensionInfo.cs rename to src/ElectronNET.API/API/Entities/ChromeExtensionInfo.cs diff --git a/src/ElectronNET.API/Entities/ClearStorageDataOptions.cs b/src/ElectronNET.API/API/Entities/ClearStorageDataOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ClearStorageDataOptions.cs rename to src/ElectronNET.API/API/Entities/ClearStorageDataOptions.cs diff --git a/src/ElectronNET.API/Entities/Cookie.cs b/src/ElectronNET.API/API/Entities/Cookie.cs similarity index 100% rename from src/ElectronNET.API/Entities/Cookie.cs rename to src/ElectronNET.API/API/Entities/Cookie.cs diff --git a/src/ElectronNET.API/Entities/CookieChangedCause.cs b/src/ElectronNET.API/API/Entities/CookieChangedCause.cs similarity index 100% rename from src/ElectronNET.API/Entities/CookieChangedCause.cs rename to src/ElectronNET.API/API/Entities/CookieChangedCause.cs diff --git a/src/ElectronNET.API/Entities/CookieDetails.cs b/src/ElectronNET.API/API/Entities/CookieDetails.cs similarity index 100% rename from src/ElectronNET.API/Entities/CookieDetails.cs rename to src/ElectronNET.API/API/Entities/CookieDetails.cs diff --git a/src/ElectronNET.API/Entities/CookieFilter.cs b/src/ElectronNET.API/API/Entities/CookieFilter.cs similarity index 100% rename from src/ElectronNET.API/Entities/CookieFilter.cs rename to src/ElectronNET.API/API/Entities/CookieFilter.cs diff --git a/src/ElectronNET.API/Entities/CreateFromBitmapOptions.cs b/src/ElectronNET.API/API/Entities/CreateFromBitmapOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/CreateFromBitmapOptions.cs rename to src/ElectronNET.API/API/Entities/CreateFromBitmapOptions.cs diff --git a/src/ElectronNET.API/Entities/CreateFromBufferOptions.cs b/src/ElectronNET.API/API/Entities/CreateFromBufferOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/CreateFromBufferOptions.cs rename to src/ElectronNET.API/API/Entities/CreateFromBufferOptions.cs diff --git a/src/ElectronNET.API/Entities/CreateInterruptedDownloadOptions.cs b/src/ElectronNET.API/API/Entities/CreateInterruptedDownloadOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/CreateInterruptedDownloadOptions.cs rename to src/ElectronNET.API/API/Entities/CreateInterruptedDownloadOptions.cs diff --git a/src/ElectronNET.API/Entities/Data.cs b/src/ElectronNET.API/API/Entities/Data.cs similarity index 100% rename from src/ElectronNET.API/Entities/Data.cs rename to src/ElectronNET.API/API/Entities/Data.cs diff --git a/src/ElectronNET.API/Entities/DefaultFontFamily.cs b/src/ElectronNET.API/API/Entities/DefaultFontFamily.cs similarity index 100% rename from src/ElectronNET.API/Entities/DefaultFontFamily.cs rename to src/ElectronNET.API/API/Entities/DefaultFontFamily.cs diff --git a/src/ElectronNET.API/Entities/DevToolsMode.cs b/src/ElectronNET.API/API/Entities/DevToolsMode.cs similarity index 100% rename from src/ElectronNET.API/Entities/DevToolsMode.cs rename to src/ElectronNET.API/API/Entities/DevToolsMode.cs diff --git a/src/ElectronNET.API/Entities/Display.cs b/src/ElectronNET.API/API/Entities/Display.cs similarity index 100% rename from src/ElectronNET.API/Entities/Display.cs rename to src/ElectronNET.API/API/Entities/Display.cs diff --git a/src/ElectronNET.API/Entities/DisplayBalloonOptions.cs b/src/ElectronNET.API/API/Entities/DisplayBalloonOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/DisplayBalloonOptions.cs rename to src/ElectronNET.API/API/Entities/DisplayBalloonOptions.cs diff --git a/src/ElectronNET.API/Entities/DockBounceType.cs b/src/ElectronNET.API/API/Entities/DockBounceType.cs similarity index 100% rename from src/ElectronNET.API/Entities/DockBounceType.cs rename to src/ElectronNET.API/API/Entities/DockBounceType.cs diff --git a/src/ElectronNET.API/Entities/EnableNetworkEmulationOptions.cs b/src/ElectronNET.API/API/Entities/EnableNetworkEmulationOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/EnableNetworkEmulationOptions.cs rename to src/ElectronNET.API/API/Entities/EnableNetworkEmulationOptions.cs diff --git a/src/ElectronNET.API/Entities/Extension.cs b/src/ElectronNET.API/API/Entities/Extension.cs similarity index 100% rename from src/ElectronNET.API/Entities/Extension.cs rename to src/ElectronNET.API/API/Entities/Extension.cs diff --git a/src/ElectronNET.API/Entities/FileFilter.cs b/src/ElectronNET.API/API/Entities/FileFilter.cs similarity index 100% rename from src/ElectronNET.API/Entities/FileFilter.cs rename to src/ElectronNET.API/API/Entities/FileFilter.cs diff --git a/src/ElectronNET.API/Entities/FileIconOptions.cs b/src/ElectronNET.API/API/Entities/FileIconOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/FileIconOptions.cs rename to src/ElectronNET.API/API/Entities/FileIconOptions.cs diff --git a/src/ElectronNET.API/Entities/FileIconSize.cs b/src/ElectronNET.API/API/Entities/FileIconSize.cs similarity index 100% rename from src/ElectronNET.API/Entities/FileIconSize.cs rename to src/ElectronNET.API/API/Entities/FileIconSize.cs diff --git a/src/ElectronNET.API/Entities/FocusOptions.cs b/src/ElectronNET.API/API/Entities/FocusOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/FocusOptions.cs rename to src/ElectronNET.API/API/Entities/FocusOptions.cs diff --git a/src/ElectronNET.API/Entities/GPUFeatureStatus.cs b/src/ElectronNET.API/API/Entities/GPUFeatureStatus.cs similarity index 100% rename from src/ElectronNET.API/Entities/GPUFeatureStatus.cs rename to src/ElectronNET.API/API/Entities/GPUFeatureStatus.cs diff --git a/src/ElectronNET.API/Entities/IPostData.cs b/src/ElectronNET.API/API/Entities/IPostData.cs similarity index 100% rename from src/ElectronNET.API/Entities/IPostData.cs rename to src/ElectronNET.API/API/Entities/IPostData.cs diff --git a/src/ElectronNET.API/Entities/ImportCertificateOptions.cs b/src/ElectronNET.API/API/Entities/ImportCertificateOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ImportCertificateOptions.cs rename to src/ElectronNET.API/API/Entities/ImportCertificateOptions.cs diff --git a/src/ElectronNET.API/Entities/InputEvent.cs b/src/ElectronNET.API/API/Entities/InputEvent.cs similarity index 98% rename from src/ElectronNET.API/Entities/InputEvent.cs rename to src/ElectronNET.API/API/Entities/InputEvent.cs index 95f3d57..aa38542 100644 --- a/src/ElectronNET.API/Entities/InputEvent.cs +++ b/src/ElectronNET.API/API/Entities/InputEvent.cs @@ -1,10 +1,11 @@ using Newtonsoft.Json.Converters; using System.Collections.Generic; -using ElectronNET.API.Converter; using Newtonsoft.Json; namespace ElectronNET.API.Entities { + using ElectronNET.Converter; + /// /// /// diff --git a/src/ElectronNET.API/Entities/InputEventType.cs b/src/ElectronNET.API/API/Entities/InputEventType.cs similarity index 100% rename from src/ElectronNET.API/Entities/InputEventType.cs rename to src/ElectronNET.API/API/Entities/InputEventType.cs diff --git a/src/ElectronNET.API/Entities/JumpListCategory.cs b/src/ElectronNET.API/API/Entities/JumpListCategory.cs similarity index 100% rename from src/ElectronNET.API/Entities/JumpListCategory.cs rename to src/ElectronNET.API/API/Entities/JumpListCategory.cs diff --git a/src/ElectronNET.API/Entities/JumpListCategoryType.cs b/src/ElectronNET.API/API/Entities/JumpListCategoryType.cs similarity index 100% rename from src/ElectronNET.API/Entities/JumpListCategoryType.cs rename to src/ElectronNET.API/API/Entities/JumpListCategoryType.cs diff --git a/src/ElectronNET.API/Entities/JumpListItem.cs b/src/ElectronNET.API/API/Entities/JumpListItem.cs similarity index 100% rename from src/ElectronNET.API/Entities/JumpListItem.cs rename to src/ElectronNET.API/API/Entities/JumpListItem.cs diff --git a/src/ElectronNET.API/Entities/JumpListItemType.cs b/src/ElectronNET.API/API/Entities/JumpListItemType.cs similarity index 100% rename from src/ElectronNET.API/Entities/JumpListItemType.cs rename to src/ElectronNET.API/API/Entities/JumpListItemType.cs diff --git a/src/ElectronNET.API/Entities/JumpListSettings.cs b/src/ElectronNET.API/API/Entities/JumpListSettings.cs similarity index 100% rename from src/ElectronNET.API/Entities/JumpListSettings.cs rename to src/ElectronNET.API/API/Entities/JumpListSettings.cs diff --git a/src/ElectronNET.API/Entities/LoadURLOptions.cs b/src/ElectronNET.API/API/Entities/LoadURLOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/LoadURLOptions.cs rename to src/ElectronNET.API/API/Entities/LoadURLOptions.cs diff --git a/src/ElectronNET.API/Entities/LoginItemSettings.cs b/src/ElectronNET.API/API/Entities/LoginItemSettings.cs similarity index 100% rename from src/ElectronNET.API/Entities/LoginItemSettings.cs rename to src/ElectronNET.API/API/Entities/LoginItemSettings.cs diff --git a/src/ElectronNET.API/Entities/LoginItemSettingsOptions.cs b/src/ElectronNET.API/API/Entities/LoginItemSettingsOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/LoginItemSettingsOptions.cs rename to src/ElectronNET.API/API/Entities/LoginItemSettingsOptions.cs diff --git a/src/ElectronNET.API/Entities/LoginSettings.cs b/src/ElectronNET.API/API/Entities/LoginSettings.cs similarity index 100% rename from src/ElectronNET.API/Entities/LoginSettings.cs rename to src/ElectronNET.API/API/Entities/LoginSettings.cs diff --git a/src/ElectronNET.API/Entities/Margins.cs b/src/ElectronNET.API/API/Entities/Margins.cs similarity index 100% rename from src/ElectronNET.API/Entities/Margins.cs rename to src/ElectronNET.API/API/Entities/Margins.cs diff --git a/src/ElectronNET.API/Entities/MemoryInfo.cs b/src/ElectronNET.API/API/Entities/MemoryInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/MemoryInfo.cs rename to src/ElectronNET.API/API/Entities/MemoryInfo.cs diff --git a/src/ElectronNET.API/Entities/MenuItem.cs b/src/ElectronNET.API/API/Entities/MenuItem.cs similarity index 100% rename from src/ElectronNET.API/Entities/MenuItem.cs rename to src/ElectronNET.API/API/Entities/MenuItem.cs diff --git a/src/ElectronNET.API/Entities/MenuRole.cs b/src/ElectronNET.API/API/Entities/MenuRole.cs similarity index 100% rename from src/ElectronNET.API/Entities/MenuRole.cs rename to src/ElectronNET.API/API/Entities/MenuRole.cs diff --git a/src/ElectronNET.API/Entities/MenuType.cs b/src/ElectronNET.API/API/Entities/MenuType.cs similarity index 100% rename from src/ElectronNET.API/Entities/MenuType.cs rename to src/ElectronNET.API/API/Entities/MenuType.cs diff --git a/src/ElectronNET.API/Entities/MessageBoxOptions.cs b/src/ElectronNET.API/API/Entities/MessageBoxOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/MessageBoxOptions.cs rename to src/ElectronNET.API/API/Entities/MessageBoxOptions.cs diff --git a/src/ElectronNET.API/Entities/MessageBoxResult.cs b/src/ElectronNET.API/API/Entities/MessageBoxResult.cs similarity index 100% rename from src/ElectronNET.API/Entities/MessageBoxResult.cs rename to src/ElectronNET.API/API/Entities/MessageBoxResult.cs diff --git a/src/ElectronNET.API/Entities/MessageBoxType.cs b/src/ElectronNET.API/API/Entities/MessageBoxType.cs similarity index 100% rename from src/ElectronNET.API/Entities/MessageBoxType.cs rename to src/ElectronNET.API/API/Entities/MessageBoxType.cs diff --git a/src/ElectronNET.API/Entities/ModifierType.cs b/src/ElectronNET.API/API/Entities/ModifierType.cs similarity index 100% rename from src/ElectronNET.API/Entities/ModifierType.cs rename to src/ElectronNET.API/API/Entities/ModifierType.cs diff --git a/src/ElectronNET.API/Entities/NativeImage.cs b/src/ElectronNET.API/API/Entities/NativeImage.cs similarity index 100% rename from src/ElectronNET.API/Entities/NativeImage.cs rename to src/ElectronNET.API/API/Entities/NativeImage.cs diff --git a/src/ElectronNET.API/Entities/NativeImageJsonConverter.cs b/src/ElectronNET.API/API/Entities/NativeImageJsonConverter.cs similarity index 100% rename from src/ElectronNET.API/Entities/NativeImageJsonConverter.cs rename to src/ElectronNET.API/API/Entities/NativeImageJsonConverter.cs diff --git a/src/ElectronNET.API/Entities/NotificationAction.cs b/src/ElectronNET.API/API/Entities/NotificationAction.cs similarity index 100% rename from src/ElectronNET.API/Entities/NotificationAction.cs rename to src/ElectronNET.API/API/Entities/NotificationAction.cs diff --git a/src/ElectronNET.API/Entities/NotificationOptions.cs b/src/ElectronNET.API/API/Entities/NotificationOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/NotificationOptions.cs rename to src/ElectronNET.API/API/Entities/NotificationOptions.cs diff --git a/src/ElectronNET.API/Entities/OnDidFailLoadInfo.cs b/src/ElectronNET.API/API/Entities/OnDidFailLoadInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/OnDidFailLoadInfo.cs rename to src/ElectronNET.API/API/Entities/OnDidFailLoadInfo.cs diff --git a/src/ElectronNET.API/Entities/OnDidNavigateInfo.cs b/src/ElectronNET.API/API/Entities/OnDidNavigateInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/OnDidNavigateInfo.cs rename to src/ElectronNET.API/API/Entities/OnDidNavigateInfo.cs diff --git a/src/ElectronNET.API/Entities/OnTopLevel.cs b/src/ElectronNET.API/API/Entities/OnTopLevel.cs similarity index 100% rename from src/ElectronNET.API/Entities/OnTopLevel.cs rename to src/ElectronNET.API/API/Entities/OnTopLevel.cs diff --git a/src/ElectronNET.API/Entities/OpenDevToolsOptions.cs b/src/ElectronNET.API/API/Entities/OpenDevToolsOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/OpenDevToolsOptions.cs rename to src/ElectronNET.API/API/Entities/OpenDevToolsOptions.cs diff --git a/src/ElectronNET.API/Entities/OpenDialogOptions.cs b/src/ElectronNET.API/API/Entities/OpenDialogOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/OpenDialogOptions.cs rename to src/ElectronNET.API/API/Entities/OpenDialogOptions.cs diff --git a/src/ElectronNET.API/Entities/OpenDialogProperty.cs b/src/ElectronNET.API/API/Entities/OpenDialogProperty.cs similarity index 100% rename from src/ElectronNET.API/Entities/OpenDialogProperty.cs rename to src/ElectronNET.API/API/Entities/OpenDialogProperty.cs diff --git a/src/ElectronNET.API/Entities/OpenExternalOptions.cs b/src/ElectronNET.API/API/Entities/OpenExternalOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/OpenExternalOptions.cs rename to src/ElectronNET.API/API/Entities/OpenExternalOptions.cs diff --git a/src/ElectronNET.API/Entities/PathName.cs b/src/ElectronNET.API/API/Entities/PathName.cs similarity index 100% rename from src/ElectronNET.API/Entities/PathName.cs rename to src/ElectronNET.API/API/Entities/PathName.cs diff --git a/src/ElectronNET.API/Entities/Point.cs b/src/ElectronNET.API/API/Entities/Point.cs similarity index 100% rename from src/ElectronNET.API/Entities/Point.cs rename to src/ElectronNET.API/API/Entities/Point.cs diff --git a/src/ElectronNET.API/Entities/PrintOptions.cs b/src/ElectronNET.API/API/Entities/PrintOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/PrintOptions.cs rename to src/ElectronNET.API/API/Entities/PrintOptions.cs diff --git a/src/ElectronNET.API/Entities/PrintToPDFOptions.cs b/src/ElectronNET.API/API/Entities/PrintToPDFOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/PrintToPDFOptions.cs rename to src/ElectronNET.API/API/Entities/PrintToPDFOptions.cs diff --git a/src/ElectronNET.API/Entities/PrinterInfo.cs b/src/ElectronNET.API/API/Entities/PrinterInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/PrinterInfo.cs rename to src/ElectronNET.API/API/Entities/PrinterInfo.cs diff --git a/src/ElectronNET.API/Entities/ProcessMetric.cs b/src/ElectronNET.API/API/Entities/ProcessMetric.cs similarity index 100% rename from src/ElectronNET.API/Entities/ProcessMetric.cs rename to src/ElectronNET.API/API/Entities/ProcessMetric.cs diff --git a/src/ElectronNET.API/Entities/ProgressBarMode.cs b/src/ElectronNET.API/API/Entities/ProgressBarMode.cs similarity index 100% rename from src/ElectronNET.API/Entities/ProgressBarMode.cs rename to src/ElectronNET.API/API/Entities/ProgressBarMode.cs diff --git a/src/ElectronNET.API/Entities/ProgressBarOptions.cs b/src/ElectronNET.API/API/Entities/ProgressBarOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ProgressBarOptions.cs rename to src/ElectronNET.API/API/Entities/ProgressBarOptions.cs diff --git a/src/ElectronNET.API/Entities/ProgressInfo.cs b/src/ElectronNET.API/API/Entities/ProgressInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/ProgressInfo.cs rename to src/ElectronNET.API/API/Entities/ProgressInfo.cs diff --git a/src/ElectronNET.API/Entities/ProxyConfig.cs b/src/ElectronNET.API/API/Entities/ProxyConfig.cs similarity index 100% rename from src/ElectronNET.API/Entities/ProxyConfig.cs rename to src/ElectronNET.API/API/Entities/ProxyConfig.cs diff --git a/src/ElectronNET.API/Entities/ReadBookmark.cs b/src/ElectronNET.API/API/Entities/ReadBookmark.cs similarity index 100% rename from src/ElectronNET.API/Entities/ReadBookmark.cs rename to src/ElectronNET.API/API/Entities/ReadBookmark.cs diff --git a/src/ElectronNET.API/Entities/Rectangle.cs b/src/ElectronNET.API/API/Entities/Rectangle.cs similarity index 100% rename from src/ElectronNET.API/Entities/Rectangle.cs rename to src/ElectronNET.API/API/Entities/Rectangle.cs diff --git a/src/ElectronNET.API/Entities/RelaunchOptions.cs b/src/ElectronNET.API/API/Entities/RelaunchOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/RelaunchOptions.cs rename to src/ElectronNET.API/API/Entities/RelaunchOptions.cs diff --git a/src/ElectronNET.API/Entities/ReleaseNoteInfo.cs b/src/ElectronNET.API/API/Entities/ReleaseNoteInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/ReleaseNoteInfo.cs rename to src/ElectronNET.API/API/Entities/ReleaseNoteInfo.cs diff --git a/src/ElectronNET.API/Entities/RemovePassword.cs b/src/ElectronNET.API/API/Entities/RemovePassword.cs similarity index 100% rename from src/ElectronNET.API/Entities/RemovePassword.cs rename to src/ElectronNET.API/API/Entities/RemovePassword.cs diff --git a/src/ElectronNET.API/Entities/ResizeOptions.cs b/src/ElectronNET.API/API/Entities/ResizeOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ResizeOptions.cs rename to src/ElectronNET.API/API/Entities/ResizeOptions.cs diff --git a/src/ElectronNET.API/Entities/SaveDialogOptions.cs b/src/ElectronNET.API/API/Entities/SaveDialogOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/SaveDialogOptions.cs rename to src/ElectronNET.API/API/Entities/SaveDialogOptions.cs diff --git a/src/ElectronNET.API/Entities/Scheme.cs b/src/ElectronNET.API/API/Entities/Scheme.cs similarity index 100% rename from src/ElectronNET.API/Entities/Scheme.cs rename to src/ElectronNET.API/API/Entities/Scheme.cs diff --git a/src/ElectronNET.API/Entities/SemVer.cs b/src/ElectronNET.API/API/Entities/SemVer.cs similarity index 100% rename from src/ElectronNET.API/Entities/SemVer.cs rename to src/ElectronNET.API/API/Entities/SemVer.cs diff --git a/src/ElectronNET.API/Entities/ShortcutDetails.cs b/src/ElectronNET.API/API/Entities/ShortcutDetails.cs similarity index 100% rename from src/ElectronNET.API/Entities/ShortcutDetails.cs rename to src/ElectronNET.API/API/Entities/ShortcutDetails.cs diff --git a/src/ElectronNET.API/Entities/ShortcutLinkOperation.cs b/src/ElectronNET.API/API/Entities/ShortcutLinkOperation.cs similarity index 100% rename from src/ElectronNET.API/Entities/ShortcutLinkOperation.cs rename to src/ElectronNET.API/API/Entities/ShortcutLinkOperation.cs diff --git a/src/ElectronNET.API/Entities/Size.cs b/src/ElectronNET.API/API/Entities/Size.cs similarity index 100% rename from src/ElectronNET.API/Entities/Size.cs rename to src/ElectronNET.API/API/Entities/Size.cs diff --git a/src/ElectronNET.API/Entities/ThemeSourceMode.cs b/src/ElectronNET.API/API/Entities/ThemeSourceMode.cs similarity index 100% rename from src/ElectronNET.API/Entities/ThemeSourceMode.cs rename to src/ElectronNET.API/API/Entities/ThemeSourceMode.cs diff --git a/src/ElectronNET.API/Entities/ThumbarButton.cs b/src/ElectronNET.API/API/Entities/ThumbarButton.cs similarity index 100% rename from src/ElectronNET.API/Entities/ThumbarButton.cs rename to src/ElectronNET.API/API/Entities/ThumbarButton.cs diff --git a/src/ElectronNET.API/Entities/ThumbarButtonFlag.cs b/src/ElectronNET.API/API/Entities/ThumbarButtonFlag.cs similarity index 100% rename from src/ElectronNET.API/Entities/ThumbarButtonFlag.cs rename to src/ElectronNET.API/API/Entities/ThumbarButtonFlag.cs diff --git a/src/ElectronNET.API/Entities/TitleBarStyle.cs b/src/ElectronNET.API/API/Entities/TitleBarStyle.cs similarity index 100% rename from src/ElectronNET.API/Entities/TitleBarStyle.cs rename to src/ElectronNET.API/API/Entities/TitleBarStyle.cs diff --git a/src/ElectronNET.API/Entities/ToBitmapOptions.cs b/src/ElectronNET.API/API/Entities/ToBitmapOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ToBitmapOptions.cs rename to src/ElectronNET.API/API/Entities/ToBitmapOptions.cs diff --git a/src/ElectronNET.API/Entities/ToDataUrlOptions.cs b/src/ElectronNET.API/API/Entities/ToDataUrlOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ToDataUrlOptions.cs rename to src/ElectronNET.API/API/Entities/ToDataUrlOptions.cs diff --git a/src/ElectronNET.API/Entities/ToPNGOptions.cs b/src/ElectronNET.API/API/Entities/ToPNGOptions.cs similarity index 100% rename from src/ElectronNET.API/Entities/ToPNGOptions.cs rename to src/ElectronNET.API/API/Entities/ToPNGOptions.cs diff --git a/src/ElectronNET.API/Entities/TrayClickEventArgs.cs b/src/ElectronNET.API/API/Entities/TrayClickEventArgs.cs similarity index 100% rename from src/ElectronNET.API/Entities/TrayClickEventArgs.cs rename to src/ElectronNET.API/API/Entities/TrayClickEventArgs.cs diff --git a/src/ElectronNET.API/Entities/UpdateCancellationToken.cs b/src/ElectronNET.API/API/Entities/UpdateCancellationToken.cs similarity index 100% rename from src/ElectronNET.API/Entities/UpdateCancellationToken.cs rename to src/ElectronNET.API/API/Entities/UpdateCancellationToken.cs diff --git a/src/ElectronNET.API/Entities/UpdateCheckResult.cs b/src/ElectronNET.API/API/Entities/UpdateCheckResult.cs similarity index 100% rename from src/ElectronNET.API/Entities/UpdateCheckResult.cs rename to src/ElectronNET.API/API/Entities/UpdateCheckResult.cs diff --git a/src/ElectronNET.API/Entities/UpdateFileInfo.cs b/src/ElectronNET.API/API/Entities/UpdateFileInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/UpdateFileInfo.cs rename to src/ElectronNET.API/API/Entities/UpdateFileInfo.cs diff --git a/src/ElectronNET.API/Entities/UpdateInfo.cs b/src/ElectronNET.API/API/Entities/UpdateInfo.cs similarity index 100% rename from src/ElectronNET.API/Entities/UpdateInfo.cs rename to src/ElectronNET.API/API/Entities/UpdateInfo.cs diff --git a/src/ElectronNET.API/Entities/UploadFile.cs b/src/ElectronNET.API/API/Entities/UploadFile.cs similarity index 100% rename from src/ElectronNET.API/Entities/UploadFile.cs rename to src/ElectronNET.API/API/Entities/UploadFile.cs diff --git a/src/ElectronNET.API/Entities/UploadRawData.cs b/src/ElectronNET.API/API/Entities/UploadRawData.cs similarity index 100% rename from src/ElectronNET.API/Entities/UploadRawData.cs rename to src/ElectronNET.API/API/Entities/UploadRawData.cs diff --git a/src/ElectronNET.API/Entities/UserTask.cs b/src/ElectronNET.API/API/Entities/UserTask.cs similarity index 100% rename from src/ElectronNET.API/Entities/UserTask.cs rename to src/ElectronNET.API/API/Entities/UserTask.cs diff --git a/src/ElectronNET.API/Entities/Vibrancy.cs b/src/ElectronNET.API/API/Entities/Vibrancy.cs similarity index 100% rename from src/ElectronNET.API/Entities/Vibrancy.cs rename to src/ElectronNET.API/API/Entities/Vibrancy.cs diff --git a/src/ElectronNET.API/Entities/WebPreferences.cs b/src/ElectronNET.API/API/Entities/WebPreferences.cs similarity index 100% rename from src/ElectronNET.API/Entities/WebPreferences.cs rename to src/ElectronNET.API/API/Entities/WebPreferences.cs diff --git a/src/ElectronNET.API/Extensions/EnumExtensions.cs b/src/ElectronNET.API/API/Extensions/EnumExtensions.cs similarity index 100% rename from src/ElectronNET.API/Extensions/EnumExtensions.cs rename to src/ElectronNET.API/API/Extensions/EnumExtensions.cs diff --git a/src/ElectronNET.API/Extensions/MenuItemExtensions.cs b/src/ElectronNET.API/API/Extensions/MenuItemExtensions.cs similarity index 100% rename from src/ElectronNET.API/Extensions/MenuItemExtensions.cs rename to src/ElectronNET.API/API/Extensions/MenuItemExtensions.cs diff --git a/src/ElectronNET.API/Extensions/ThumbarButtonExtensions.cs b/src/ElectronNET.API/API/Extensions/ThumbarButtonExtensions.cs similarity index 100% rename from src/ElectronNET.API/Extensions/ThumbarButtonExtensions.cs rename to src/ElectronNET.API/API/Extensions/ThumbarButtonExtensions.cs diff --git a/src/ElectronNET.API/GlobalShortcut.cs b/src/ElectronNET.API/API/GlobalShortcut.cs similarity index 100% rename from src/ElectronNET.API/GlobalShortcut.cs rename to src/ElectronNET.API/API/GlobalShortcut.cs diff --git a/src/ElectronNET.API/HostHook.cs b/src/ElectronNET.API/API/HostHook.cs similarity index 100% rename from src/ElectronNET.API/HostHook.cs rename to src/ElectronNET.API/API/HostHook.cs diff --git a/src/ElectronNET.API/HybridSupport.cs b/src/ElectronNET.API/API/HybridSupport.cs similarity index 86% rename from src/ElectronNET.API/HybridSupport.cs rename to src/ElectronNET.API/API/HybridSupport.cs index 935ea51..a84641e 100644 --- a/src/ElectronNET.API/HybridSupport.cs +++ b/src/ElectronNET.API/API/HybridSupport.cs @@ -15,7 +15,7 @@ { get { - return !string.IsNullOrEmpty(BridgeSettings.SocketPort); + return ElectronNetRuntime.RuntimeController != null; } } } diff --git a/src/ElectronNET.API/IpcMain.cs b/src/ElectronNET.API/API/IpcMain.cs similarity index 99% rename from src/ElectronNET.API/IpcMain.cs rename to src/ElectronNET.API/API/IpcMain.cs index 3239083..31122d1 100644 --- a/src/ElectronNET.API/IpcMain.cs +++ b/src/ElectronNET.API/API/IpcMain.cs @@ -46,7 +46,7 @@ namespace ElectronNET.API /// Callback Method. public async Task On(string channel, Action listener) { - await BridgeConnector.Socket.Emit("registerIpcMainChannel", channel); + await BridgeConnector.Socket.Emit("registerIpcMainChannel", channel).ConfigureAwait(false); BridgeConnector.Socket.Off(channel); BridgeConnector.Socket.On(channel, (args) => { diff --git a/src/ElectronNET.API/Menu.cs b/src/ElectronNET.API/API/Menu.cs similarity index 100% rename from src/ElectronNET.API/Menu.cs rename to src/ElectronNET.API/API/Menu.cs diff --git a/src/ElectronNET.API/NativeTheme.cs b/src/ElectronNET.API/API/NativeTheme.cs similarity index 100% rename from src/ElectronNET.API/NativeTheme.cs rename to src/ElectronNET.API/API/NativeTheme.cs diff --git a/src/ElectronNET.API/Notification.cs b/src/ElectronNET.API/API/Notification.cs similarity index 100% rename from src/ElectronNET.API/Notification.cs rename to src/ElectronNET.API/API/Notification.cs diff --git a/src/ElectronNET.API/PowerMonitor.cs b/src/ElectronNET.API/API/PowerMonitor.cs similarity index 100% rename from src/ElectronNET.API/PowerMonitor.cs rename to src/ElectronNET.API/API/PowerMonitor.cs diff --git a/src/ElectronNET.API/QuitEventArgs.cs b/src/ElectronNET.API/API/QuitEventArgs.cs similarity index 100% rename from src/ElectronNET.API/QuitEventArgs.cs rename to src/ElectronNET.API/API/QuitEventArgs.cs diff --git a/src/ElectronNET.API/Screen.cs b/src/ElectronNET.API/API/Screen.cs similarity index 100% rename from src/ElectronNET.API/Screen.cs rename to src/ElectronNET.API/API/Screen.cs diff --git a/src/ElectronNET.API/Session.cs b/src/ElectronNET.API/API/Session.cs similarity index 99% rename from src/ElectronNET.API/Session.cs rename to src/ElectronNET.API/API/Session.cs index a4cb6bb..a6acbc9 100644 --- a/src/ElectronNET.API/Session.cs +++ b/src/ElectronNET.API/API/Session.cs @@ -25,10 +25,13 @@ namespace ElectronNET.API /// public Cookies Cookies { get; } + public WebRequest WebRequest { get; private set; } + internal Session(int id) { Id = id; Cookies = new Cookies(id); + WebRequest = new WebRequest(id); } /// diff --git a/src/ElectronNET.API/Shell.cs b/src/ElectronNET.API/API/Shell.cs similarity index 100% rename from src/ElectronNET.API/Shell.cs rename to src/ElectronNET.API/API/Shell.cs diff --git a/src/ElectronNET.API/Tray.cs b/src/ElectronNET.API/API/Tray.cs similarity index 95% rename from src/ElectronNET.API/Tray.cs rename to src/ElectronNET.API/API/Tray.cs index e8947fa..906a58c 100644 --- a/src/ElectronNET.API/Tray.cs +++ b/src/ElectronNET.API/API/Tray.cs @@ -241,7 +241,7 @@ namespace ElectronNET.API /// The menu item. public async Task Show(string image, MenuItem menuItem) { - await Show(image, new MenuItem[] { menuItem }); + await this.Show(image, new MenuItem[] { menuItem }).ConfigureAwait(false); } /// @@ -252,7 +252,7 @@ namespace ElectronNET.API public async Task Show(string image, MenuItem[] menuItems) { menuItems.AddMenuItemsId(); - await BridgeConnector.Socket.Emit("create-tray", image, JArray.FromObject(menuItems, _jsonSerializer)); + await BridgeConnector.Socket.Emit("create-tray", image, JArray.FromObject(menuItems, this._jsonSerializer)).ConfigureAwait(false); _items.Clear(); _items.AddRange(menuItems); @@ -270,7 +270,7 @@ namespace ElectronNET.API /// The image. public async Task Show(string image) { - await BridgeConnector.Socket.Emit("create-tray", image); + await BridgeConnector.Socket.Emit("create-tray", image).ConfigureAwait(false); } /// @@ -278,7 +278,7 @@ namespace ElectronNET.API /// public async Task Destroy() { - await BridgeConnector.Socket.Emit("tray-destroy"); + await BridgeConnector.Socket.Emit("tray-destroy").ConfigureAwait(false); _items.Clear(); } @@ -288,7 +288,7 @@ namespace ElectronNET.API /// public async Task SetImage(string image) { - await BridgeConnector.Socket.Emit("tray-setImage", image); + await BridgeConnector.Socket.Emit("tray-setImage", image).ConfigureAwait(false); } /// @@ -297,7 +297,7 @@ namespace ElectronNET.API /// public async Task SetPressedImage(string image) { - await BridgeConnector.Socket.Emit("tray-setPressedImage", image); + await BridgeConnector.Socket.Emit("tray-setPressedImage", image).ConfigureAwait(false); } /// @@ -306,7 +306,7 @@ namespace ElectronNET.API /// public async Task SetToolTip(string toolTip) { - await BridgeConnector.Socket.Emit("tray-setToolTip", toolTip); + await BridgeConnector.Socket.Emit("tray-setToolTip", toolTip).ConfigureAwait(false); } /// @@ -315,7 +315,7 @@ namespace ElectronNET.API /// public async Task SetTitle(string title) { - await BridgeConnector.Socket.Emit("tray-setTitle", title); + await BridgeConnector.Socket.Emit("tray-setTitle", title).ConfigureAwait(false); } /// @@ -324,7 +324,7 @@ namespace ElectronNET.API /// public async Task DisplayBalloon(DisplayBalloonOptions options) { - await BridgeConnector.Socket.Emit("tray-displayBalloon", JObject.FromObject(options, _jsonSerializer)); + await BridgeConnector.Socket.Emit("tray-displayBalloon", JObject.FromObject(options, this._jsonSerializer)).ConfigureAwait(false); } /// @@ -342,9 +342,9 @@ namespace ElectronNET.API taskCompletionSource.SetResult(isDestroyed); }); - await BridgeConnector.Socket.Emit("tray-isDestroyed"); + await BridgeConnector.Socket.Emit("tray-isDestroyed").ConfigureAwait(false); - return await taskCompletionSource.Task; + return await taskCompletionSource.Task.ConfigureAwait(false); } private readonly JsonSerializer _jsonSerializer = new() @@ -367,7 +367,7 @@ namespace ElectronNET.API /// The event name /// The handler public async Task On(string eventName, Action action) - => await Events.Instance.On(ModuleName, eventName, action); + => await Events.Instance.On(ModuleName, eventName, action).ConfigureAwait(false); /// /// Subscribe to an unmapped event on the module once. /// @@ -381,6 +381,6 @@ namespace ElectronNET.API /// The event name /// The handler public async Task Once(string eventName, Action action) - => await Events.Instance.Once(ModuleName, eventName, action); + => await Events.Instance.Once(ModuleName, eventName, action).ConfigureAwait(false); } } diff --git a/src/ElectronNET.API/WebContents.cs b/src/ElectronNET.API/API/WebContents.cs similarity index 100% rename from src/ElectronNET.API/WebContents.cs rename to src/ElectronNET.API/API/WebContents.cs diff --git a/src/ElectronNET.API/WindowManager.cs b/src/ElectronNET.API/API/WindowManager.cs similarity index 92% rename from src/ElectronNET.API/WindowManager.cs rename to src/ElectronNET.API/API/WindowManager.cs index 0f9b5b5..f5e714d 100644 --- a/src/ElectronNET.API/WindowManager.cs +++ b/src/ElectronNET.API/API/WindowManager.cs @@ -84,7 +84,7 @@ namespace ElectronNET.API /// public async Task CreateWindowAsync(string loadUrl = "http://localhost") { - return await CreateWindowAsync(new BrowserWindowOptions(), loadUrl); + return await this.CreateWindowAsync(new BrowserWindowOptions(), loadUrl).ConfigureAwait(false); } /// @@ -124,9 +124,9 @@ namespace ElectronNET.API } }); - if (loadUrl.ToUpper() == "HTTP://LOCALHOST") + if (loadUrl.ToUpper() == "HTTP://LOCALHOST" && ElectronNetRuntime.AspNetWebPort.HasValue) { - loadUrl = $"{loadUrl}:{BridgeSettings.WebPort}"; + loadUrl = $"{loadUrl}:{ElectronNetRuntime.AspNetWebPort}"; } // Workaround Windows 10 / Electron Bug @@ -142,7 +142,7 @@ namespace ElectronNET.API options.X = 0; options.Y = 0; - await BridgeConnector.Socket.Emit("createBrowserWindow", JObject.FromObject(options, _jsonSerializer), loadUrl); + await BridgeConnector.Socket.Emit("createBrowserWindow", JObject.FromObject(options, this._jsonSerializer), loadUrl).ConfigureAwait(false); } else { @@ -158,10 +158,10 @@ namespace ElectronNET.API ContractResolver = new CamelCasePropertyNamesContractResolver(), NullValueHandling = NullValueHandling.Ignore }; - await BridgeConnector.Socket.Emit("createBrowserWindow", JObject.FromObject(options, ownjsonSerializer), loadUrl); + await BridgeConnector.Socket.Emit("createBrowserWindow", JObject.FromObject(options, ownjsonSerializer), loadUrl).ConfigureAwait(false); } - return await taskCompletionSource.Task; + return await taskCompletionSource.Task.ConfigureAwait(false); } private bool IsWindows10() @@ -208,9 +208,9 @@ namespace ElectronNET.API ContractResolver = new CamelCasePropertyNamesContractResolver(), NullValueHandling = NullValueHandling.Ignore }; - await BridgeConnector.Socket.Emit("createBrowserView", JObject.FromObject(options, ownjsonSerializer)); + await BridgeConnector.Socket.Emit("createBrowserView", JObject.FromObject(options, ownjsonSerializer)).ConfigureAwait(false); - return await taskCompletionSource.Task; + return await taskCompletionSource.Task.ConfigureAwait(false); } private readonly JsonSerializer _jsonSerializer = new() diff --git a/src/ElectronNET.API/BridgeConnector.cs b/src/ElectronNET.API/BridgeConnector.cs deleted file mode 100644 index 23319e5..0000000 --- a/src/ElectronNET.API/BridgeConnector.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace ElectronNET.API -{ - internal static class BridgeConnector - { - private static SocketIoFacade _socket; - private static readonly object SyncRoot = new(); - - public static SocketIoFacade Socket - { - get - { - if (_socket == null) - { - lock (SyncRoot) - { - if (_socket == null) - { - - string socketUrl = HybridSupport.IsElectronActive - ? $"http://localhost:{BridgeSettings.SocketPort}" - : "http://localhost"; - - _socket = new SocketIoFacade(socketUrl); - _socket.Connect(); - } - } - } - - return _socket; - } - } - } -} \ No newline at end of file diff --git a/src/ElectronNET.API/BridgeSettings.cs b/src/ElectronNET.API/BridgeSettings.cs deleted file mode 100644 index 96a2653..0000000 --- a/src/ElectronNET.API/BridgeSettings.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace ElectronNET.API -{ - /// - /// - /// - public static class BridgeSettings - { - /// - /// Gets the socket port. - /// - /// - /// The socket port. - /// - public static string SocketPort { get; internal set; } - - /// - /// Gets the web port. - /// - /// - /// The web port. - /// - public static string WebPort { get; internal set; } - } -} diff --git a/src/ElectronNET.API/Cookies.cs b/src/ElectronNET.API/Cookies.cs deleted file mode 100644 index 98be3d4..0000000 --- a/src/ElectronNET.API/Cookies.cs +++ /dev/null @@ -1,154 +0,0 @@ -using System; -using System.Threading.Tasks; -using ElectronNET.API.Entities; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using Newtonsoft.Json.Serialization; - -namespace ElectronNET.API -{ - /// - /// Query and modify a session's cookies. - /// - public class Cookies - { - /// - /// Gets the identifier. - /// - /// - /// The identifier. - /// - public int Id { get; private set; } - - internal Cookies(int id) - { - Id = id; - } - - /// - /// Emitted when a cookie is changed because it was added, edited, removed, or expired. - /// - public event Action OnChanged - { - add - { - if (_changed == null) - { - BridgeConnector.Socket.On("webContents-session-cookies-changed" + Id, (args) => - { - Cookie cookie = ((JArray)args)[0].ToObject(); - CookieChangedCause cause = ((JArray)args)[1].ToObject(); - bool removed = ((JArray)args)[2].ToObject(); - _changed(cookie, cause, removed); - }); - - BridgeConnector.Socket.Emit("register-webContents-session-cookies-changed", Id); - } - _changed += value; - } - remove - { - _changed -= value; - - if (_changed == null) - BridgeConnector.Socket.Off("webContents-session-cookies-changed" + Id); - } - } - - private event Action _changed; - - /// - /// Sends a request to get all cookies matching filter, and resolves a callack with the response. - /// - /// - /// - /// A task which resolves an array of cookie objects. - public Task GetAsync(CookieFilter filter) - { - var taskCompletionSource = new TaskCompletionSource(); - string guid = Guid.NewGuid().ToString(); - - BridgeConnector.Socket.On("webContents-session-cookies-get-completed" + guid, (cookies) => - { - Cookie[] result = ((JArray)cookies).ToObject(); - - BridgeConnector.Socket.Off("webContents-session-cookies-get-completed" + guid); - taskCompletionSource.SetResult(result); - }); - - BridgeConnector.Socket.Emit("webContents-session-cookies-get", Id, JObject.FromObject(filter, _jsonSerializer), guid); - - return taskCompletionSource.Task; - } - - /// - /// - /// - /// - /// - public Task SetAsync(CookieDetails details) - { - var taskCompletionSource = new TaskCompletionSource(); - string guid = Guid.NewGuid().ToString(); - - BridgeConnector.Socket.On("webContents-session-cookies-set-completed" + guid, () => - { - BridgeConnector.Socket.Off("webContents-session-cookies-set-completed" + guid); - taskCompletionSource.SetResult(null); - }); - - BridgeConnector.Socket.Emit("webContents-session-cookies-set", Id, JObject.FromObject(details, _jsonSerializer), guid); - - return taskCompletionSource.Task; - } - - /// - /// Removes the cookies matching url and name - /// - /// The URL associated with the cookie. - /// The name of cookie to remove. - /// A task which resolves when the cookie has been removed - public Task RemoveAsync(string url, string name) - { - var taskCompletionSource = new TaskCompletionSource(); - string guid = Guid.NewGuid().ToString(); - - BridgeConnector.Socket.On("webContents-session-cookies-remove-completed" + guid, () => - { - BridgeConnector.Socket.Off("webContents-session-cookies-remove-completed" + guid); - taskCompletionSource.SetResult(null); - }); - - BridgeConnector.Socket.Emit("webContents-session-cookies-remove", Id, url, name, guid); - - return taskCompletionSource.Task; - } - - /// - /// Writes any unwritten cookies data to disk. - /// - /// A task which resolves when the cookie store has been flushed - public Task FlushStoreAsync() - { - var taskCompletionSource = new TaskCompletionSource(); - string guid = Guid.NewGuid().ToString(); - - BridgeConnector.Socket.On("webContents-session-cookies-flushStore-completed" + guid, () => - { - BridgeConnector.Socket.Off("webContents-session-cookies-flushStore-completed" + guid); - taskCompletionSource.SetResult(null); - }); - - BridgeConnector.Socket.Emit("webContents-session-cookies-flushStore", Id, guid); - - return taskCompletionSource.Task; - } - - private JsonSerializer _jsonSerializer = new JsonSerializer() - { - ContractResolver = new CamelCasePropertyNamesContractResolver(), - NullValueHandling = NullValueHandling.Ignore, - DefaultValueHandling = DefaultValueHandling.Ignore - }; - } -} \ No newline at end of file diff --git a/src/ElectronNET.API/Events.cs b/src/ElectronNET.API/Events.cs deleted file mode 100644 index 4c3c366..0000000 --- a/src/ElectronNET.API/Events.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; -using System.Globalization; -using System.Threading.Tasks; - -namespace ElectronNET.API -{ - /// - /// Generic Event Consumers for Electron Modules - /// - internal class Events - { - private static Events _events; - private static readonly object SyncRoot = new(); - private readonly TextInfo _textInfo = new CultureInfo("en-US", false).TextInfo; - - private Events() - {} - - public static Events Instance - { - get - { - if (_events == null) - { - lock (SyncRoot) - { - if (_events == null) - { - _events = new Events(); - } - } - } - - return _events; - } - } - - /// - /// Subscribe to an unmapped electron event. - /// - /// The name of the module, e.g. app, dock, etc... - /// The name of the event - /// The event handler - public void On(string moduleName, string eventName, Action action) - => On(moduleName, eventName, action); - - - /// - /// Subscribe to an unmapped electron event. - /// - /// The name of the module, e.g. app, dock, etc... - /// The name of the event - /// The event handler - public async Task On(string moduleName, string eventName, Action action) - { - var listener = $"{moduleName}{_textInfo.ToTitleCase(eventName)}Completed"; - var subscriber = $"register-{moduleName}-on-event"; - - BridgeConnector.Socket.On(listener, action); - await BridgeConnector.Socket.Emit(subscriber, eventName, listener); - } - - /// - /// Subscribe to an unmapped electron event. - /// - /// The name of the module, e.g. app, dock, etc... - /// The name of the event - /// The event handler - public void Once(string moduleName, string eventName, Action action) - => Once(moduleName, eventName, action); - - - /// - /// Subscribe to an unmapped electron event. - /// - /// The name of the module, e.g. app, dock, etc... - /// The name of the event - /// The event handler - public async Task Once(string moduleName, string eventName, Action action) - { - var listener = $"{moduleName}{_textInfo.ToTitleCase(eventName)}Completed"; - var subscriber = $"register-{moduleName}-once-event"; - BridgeConnector.Socket.Once(listener, action); - await BridgeConnector.Socket.Emit(subscriber, eventName, listener); - } - - } -} diff --git a/src/ElectronNET.API/GlobalUsings.cs b/src/ElectronNET.API/GlobalUsings.cs deleted file mode 100644 index 7b02f48..0000000 --- a/src/ElectronNET.API/GlobalUsings.cs +++ /dev/null @@ -1,3 +0,0 @@ -// Global using directives - -global using System.Web; \ No newline at end of file diff --git a/src/ElectronNET.API/LifetimeServiceHost.cs b/src/ElectronNET.API/LifetimeServiceHost.cs deleted file mode 100644 index cb58eb1..0000000 --- a/src/ElectronNET.API/LifetimeServiceHost.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Hosting; - -namespace ElectronNET.API -{ - /// - /// Base class that reports if ASP.NET Core has fully started. - /// - internal class LifetimeServiceHost : IHostedService - { - public LifetimeServiceHost(IHostApplicationLifetime lifetime) - { - lifetime.ApplicationStarted.Register(() => - { - App.Instance.IsReady = true; - - Console.WriteLine("ASP.NET Core host has fully started."); - }); - } - - /// - /// Triggered when the application host is ready to start the service. - /// - /// Indicates that the start process has been aborted. - public Task StartAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } - - /// - /// Triggered when the application host is performing a graceful shutdown. - /// - /// Indicates that the shutdown process should no longer be graceful. - public Task StopAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } - } -} \ No newline at end of file diff --git a/src/ElectronNET.API/ServiceCollectionExtensions.cs b/src/ElectronNET.API/ServiceCollectionExtensions.cs deleted file mode 100644 index f933731..0000000 --- a/src/ElectronNET.API/ServiceCollectionExtensions.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; - -namespace ElectronNET.API -{ - /// - /// - /// - public static class ServiceCollectionExtensions - { - /// - /// Adds the Members to the Service Collection - /// - public static IServiceCollection AddElectron(this IServiceCollection services) - => services - // adding in this manner to ensure late binding. - .AddSingleton(provider => IpcMain.Instance) - .AddSingleton(provider => App.Instance) - .AddSingleton(provider => AutoUpdater.Instance) - .AddSingleton(provider => WindowManager.Instance) - .AddSingleton(provider => Menu.Instance) - .AddSingleton(provider => Dialog.Instance) - .AddSingleton(provider => Notification.Instance) - .AddSingleton(provider => Tray.Instance) - .AddSingleton(provider => GlobalShortcut.Instance) - .AddSingleton(provider => Shell.Instance) - .AddSingleton(provider => Screen.Instance) - .AddSingleton(provider => Clipboard.Instance) - .AddSingleton(provider => HostHook.Instance) - .AddSingleton(provider => PowerMonitor.Instance) - .AddSingleton(provider => NativeTheme.Instance) - .AddSingleton(provider => Dock.Instance); - } -} diff --git a/src/ElectronNET.API/SocketIOFacade.cs b/src/ElectronNET.API/SocketIOFacade.cs deleted file mode 100644 index ec5eb46..0000000 --- a/src/ElectronNET.API/SocketIOFacade.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Threading.Tasks; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; -using SocketIOClient; -using SocketIOClient.Newtonsoft.Json; - -namespace ElectronNET.API; - -internal class SocketIoFacade -{ - private readonly SocketIO _socket; - - public SocketIoFacade(string uri) - { - _socket = new SocketIO(uri); - var jsonSerializer = new NewtonsoftJsonSerializer(new JsonSerializerSettings - { - ContractResolver = new CamelCasePropertyNamesContractResolver(), - NullValueHandling = NullValueHandling.Ignore, - DefaultValueHandling = DefaultValueHandling.Ignore - }); - - _socket.JsonSerializer = jsonSerializer; - } - - public void Connect() - { - _socket.OnError += (sender, e) => - { - Console.WriteLine($"BridgeConnector Error: {sender} {e}"); - }; - - _socket.OnConnected += (_, _) => - { - Console.WriteLine("BridgeConnector connected!"); - }; - - _socket.OnDisconnected += (_, _) => - { - Console.WriteLine("BridgeConnector disconnected!"); - }; - - _socket.ConnectAsync().GetAwaiter().GetResult(); - } - - public void On(string eventName, Action action) - { - _socket.On(eventName, response => - { - Task.Run(action); - }); - } - - public void On(string eventName, Action action) - { - _socket.On(eventName, response => - { - var value = response.GetValue(); - Task.Run(() => action(value)); - }); - } - - // TODO: Remove this method when SocketIoClient supports object deserialization - public void On(string eventName, Action action) - { - _socket.On(eventName, response => - { - var value = response.GetValue(); - Console.WriteLine($"Called Event {eventName} - data {value}"); - Task.Run(() => action(value)); - }); - } - - public void Once(string eventName, Action action) - { - _socket.On(eventName, (socketIoResponse) => - { - _socket.Off(eventName); - Task.Run(() => action(socketIoResponse.GetValue())); - }); - } - - public void Off(string eventName) - { - _socket.Off(eventName); - } - - public async Task Emit(string eventName, params object[] args) - { - await _socket.EmitAsync(eventName, args); - } -} \ No newline at end of file diff --git a/src/ElectronNET.API/WebHostBuilderExtensions.cs b/src/ElectronNET.API/WebHostBuilderExtensions.cs deleted file mode 100644 index af7cf91..0000000 --- a/src/ElectronNET.API/WebHostBuilderExtensions.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Microsoft.AspNetCore.Hosting; -using System; -using System.IO; -using Microsoft.Extensions.DependencyInjection; - -namespace ElectronNET.API -{ - /// - /// - /// - public static class WebHostBuilderExtensions - { - /// - /// Use a Electron support for this .NET Core Project. - /// - /// The builder. - /// The arguments. - /// - public static IWebHostBuilder UseElectron(this IWebHostBuilder builder, string[] args) - { - foreach (string argument in args) - { - if (argument.ToUpper().Contains("ELECTRONPORT")) - { - BridgeSettings.SocketPort = argument.ToUpper().Replace("/ELECTRONPORT=", ""); - Console.WriteLine("Use Electron Port: " + BridgeSettings.SocketPort); - } - else if (argument.ToUpper().Contains("ELECTRONWEBPORT")) - { - BridgeSettings.WebPort = argument.ToUpper().Replace("/ELECTRONWEBPORT=", ""); - } - } - - if (HybridSupport.IsElectronActive) - { - builder.ConfigureServices(services => - { - services.AddHostedService(); - }); - - // check for the content folder if its exists in base director otherwise no need to include - // It was used before because we are publishing the project which copies everything to bin folder and contentroot wwwroot was folder there. - // now we have implemented the live reload if app is run using /watch then we need to use the default project path. - if (Directory.Exists($"{AppDomain.CurrentDomain.BaseDirectory}\\wwwroot")) - { - builder.UseContentRoot(AppDomain.CurrentDomain.BaseDirectory) - .UseUrls("http://localhost:" + BridgeSettings.WebPort); - } - else - { - builder.UseUrls("http://localhost:" + BridgeSettings.WebPort); - } - } - - return builder; - } - } -} \ No newline at end of file diff --git a/src/ElectronNET.API/devCleanup.cmd b/src/ElectronNET.API/devCleanup.cmd deleted file mode 100644 index 1ea3754..0000000 --- a/src/ElectronNET.API/devCleanup.cmd +++ /dev/null @@ -1 +0,0 @@ -rd /s /q %userprofile%\.nuget\packages\electronnet.api 2>nul diff --git a/src/ElectronNET.API/devCleanup.sh b/src/ElectronNET.API/devCleanup.sh deleted file mode 100644 index f3b1b44..0000000 --- a/src/ElectronNET.API/devCleanup.sh +++ /dev/null @@ -1 +0,0 @@ -rm -rf ~/.nuget/packages/electronnet.api \ No newline at end of file