From 314c989daefc04cc2c3340a1363c9d77cf7961b1 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Thu, 24 May 2018 17:25:04 -0500 Subject: [PATCH] created IConnectionService interface and replaced usage with concrete type --- .../Serializers/DataTableDeserializerTests.cs | 4 +- .../Connection/ConnectionInfoTests.cs | 4 +- .../Protocol/IntegratedProgramTests.cs | 6 +-- .../Connection/Protocol/ProtocolListTests.cs | 2 +- .../Tools/ExternalToolsArgumentParserTests.cs | 4 +- .../Controls/ExternalToolsToolStripTests.cs | 2 +- mRemoteV1/App/Export.cs | 4 +- mRemoteV1/App/Import.cs | 2 +- .../App/Initialization/CredsAndConsSetup.cs | 4 +- mRemoteV1/App/Shutdown.cs | 4 +- mRemoteV1/App/Startup.cs | 4 +- mRemoteV1/App/Windows.cs | 4 +- .../Multiuser/RemoteConnectionsSyncronizer.cs | 4 +- .../Multiuser/SqlConnectionsUpdateChecker.cs | 4 +- .../Connections/SaveConnectionsOnEdit.cs | 4 +- .../Connections/SqlConnectionsLoader.cs | 4 +- .../Config/Connections/SqlConnectionsSaver.cs | 4 +- .../Connections/XmlConnectionsLoader.cs | 4 +- .../Config/Import/MRemoteNGXmlImporter.cs | 4 +- .../Xml/XmlConnectionsDeserializer.cs | 4 +- .../Serializers/DataTableDeserializer.cs | 4 +- .../Config/Settings/ExternalAppsLoader.cs | 4 +- mRemoteV1/Connection/ConnectionsService.cs | 2 +- mRemoteV1/Connection/IConnectionsService.cs | 37 +++++++++++++++++++ .../Connection/Protocol/ICA/IcaProtocol.cs | 4 +- .../Connection/Protocol/IntegratedProgram.cs | 4 +- .../Connection/Protocol/ProtocolFactory.cs | 4 +- mRemoteV1/Connection/Protocol/PuttyBase.cs | 4 +- .../Connection/Protocol/RAW/RawProtocol.cs | 2 +- .../Connection/Protocol/RDP/RdpProtocol.cs | 4 +- .../Rlogin/Connection.Protocol.Rlogin.cs | 2 +- .../Protocol/SSH/Connection.Protocol.SSH1.cs | 2 +- .../Protocol/SSH/Connection.Protocol.SSH2.cs | 2 +- .../Serial/Connection.Protocol.Serial.cs | 2 +- .../Telnet/Connection.Protocol.Telnet.cs | 2 +- mRemoteV1/Tools/ExternalTool.cs | 4 +- mRemoteV1/Tools/ExternalToolArgumentParser.cs | 4 +- mRemoteV1/Tools/MultiSSHController.cs | 6 +-- mRemoteV1/Tools/NotificationAreaIcon.cs | 4 +- .../UI/Controls/ConnectionContextMenu.cs | 4 +- mRemoteV1/UI/Controls/MultiSshToolStrip.cs | 2 +- .../UI/Controls/QuickConnectToolStrip.cs | 2 +- .../UI/Forms/OptionsPages/CredentialsPage.cs | 4 +- .../UI/Forms/OptionsPages/SqlServerPage.cs | 4 +- .../UI/Forms/OptionsPages/UpdatesPage.cs | 4 +- mRemoteV1/UI/Forms/frmMain.cs | 2 +- mRemoteV1/UI/Forms/frmOptions.cs | 6 +-- mRemoteV1/UI/Menu/MainFileMenu.cs | 2 +- .../UI/Window/ActiveDirectoryImportWindow.cs | 4 +- mRemoteV1/UI/Window/ConfigWindow.cs | 4 +- mRemoteV1/UI/Window/ConnectionTreeWindow.cs | 4 +- mRemoteV1/UI/Window/ExternalToolsWindow.cs | 4 +- mRemoteV1/mRemoteV1.csproj | 1 + 53 files changed, 129 insertions(+), 91 deletions(-) create mode 100644 mRemoteV1/Connection/IConnectionsService.cs diff --git a/mRemoteNGTests/Config/Serializers/DataTableDeserializerTests.cs b/mRemoteNGTests/Config/Serializers/DataTableDeserializerTests.cs index 3cad58bea..96cda99e3 100644 --- a/mRemoteNGTests/Config/Serializers/DataTableDeserializerTests.cs +++ b/mRemoteNGTests/Config/Serializers/DataTableDeserializerTests.cs @@ -19,7 +19,7 @@ namespace mRemoteNGTests.Config.Serializers { var model = CreateConnectionTreeModel(); var dataTable = CreateDataTable(model.RootNodes[0]); - _deserializer = new DataTableDeserializer(Substitute.For()); + _deserializer = new DataTableDeserializer(Substitute.For()); var output = _deserializer.Deserialize(dataTable); Assert.That(output.GetRecursiveChildList().Count(), Is.EqualTo(model.GetRecursiveChildList().Count())); } @@ -28,7 +28,7 @@ namespace mRemoteNGTests.Config.Serializers public void WeCanDeserializeASingleEntry() { var dataTable = CreateDataTable(new ConnectionInfo()); - _deserializer = new DataTableDeserializer(Substitute.For()); + _deserializer = new DataTableDeserializer(Substitute.For()); var output = _deserializer.Deserialize(dataTable); Assert.That(output.GetRecursiveChildList().Count(), Is.EqualTo(1)); } diff --git a/mRemoteNGTests/Connection/ConnectionInfoTests.cs b/mRemoteNGTests/Connection/ConnectionInfoTests.cs index d73c6aa57..23756ed5e 100644 --- a/mRemoteNGTests/Connection/ConnectionInfoTests.cs +++ b/mRemoteNGTests/Connection/ConnectionInfoTests.cs @@ -14,13 +14,13 @@ namespace mRemoteNGTests.Connection public class ConnectionInfoTests { private ConnectionInfo _connectionInfo; - private ConnectionsService _connectionsService; + private IConnectionsService _connectionsService; private const string TestDomain = "somedomain"; [SetUp] public void Setup() { - _connectionsService = Substitute.For(); + _connectionsService = Substitute.For(); _connectionInfo = new ConnectionInfo(); } diff --git a/mRemoteNGTests/Connection/Protocol/IntegratedProgramTests.cs b/mRemoteNGTests/Connection/Protocol/IntegratedProgramTests.cs index b1ee46b44..cc8c3e530 100644 --- a/mRemoteNGTests/Connection/Protocol/IntegratedProgramTests.cs +++ b/mRemoteNGTests/Connection/Protocol/IntegratedProgramTests.cs @@ -33,7 +33,7 @@ namespace mRemoteNGTests.Connection.Protocol public void OneTimeSetUp() { _connectionInitiator = Substitute.For(); - var extTool = new ExternalTool(_connectionInitiator, Substitute.For()) + var extTool = new ExternalTool(_connectionInitiator, Substitute.For()) { DisplayName = "notepad", FileName = @"%windir%\system32\notepad.exe", @@ -48,7 +48,7 @@ namespace mRemoteNGTests.Connection.Protocol [Apartment(ApartmentState.STA)] public void CanStartExternalApp() { - var sut = new IntegratedProgram(_externalToolsService, Substitute.For()); + var sut = new IntegratedProgram(_externalToolsService, Substitute.For()); sut.InterfaceControl = BuildInterfaceControl("notepad", sut); sut.Initialize(); var appStarted = sut.Connect(); @@ -60,7 +60,7 @@ namespace mRemoteNGTests.Connection.Protocol [Apartment(ApartmentState.STA)] public void ConnectingToExternalAppThatDoesntExistDoesNothing() { - var sut = new IntegratedProgram(_externalToolsService, Substitute.For()); + var sut = new IntegratedProgram(_externalToolsService, Substitute.For()); sut.InterfaceControl = BuildInterfaceControl("doesntExist", sut); var appInitialized = sut.Initialize(); Assert.That(appInitialized, Is.False); diff --git a/mRemoteNGTests/Connection/Protocol/ProtocolListTests.cs b/mRemoteNGTests/Connection/Protocol/ProtocolListTests.cs index 0617b66e2..651e62e21 100644 --- a/mRemoteNGTests/Connection/Protocol/ProtocolListTests.cs +++ b/mRemoteNGTests/Connection/Protocol/ProtocolListTests.cs @@ -23,7 +23,7 @@ namespace mRemoteNGTests.Connection.Protocol [SetUp] public void Setup() { - var connectionService = Substitute.For(); + var connectionService = Substitute.For(); _protocolList = new ProtocolList(); _protocol1 = new ProtocolTelnet(connectionService); _protocol2 = new ProtocolSSH2(connectionService); diff --git a/mRemoteNGTests/Tools/ExternalToolsArgumentParserTests.cs b/mRemoteNGTests/Tools/ExternalToolsArgumentParserTests.cs index 93adea61d..b78433b04 100644 --- a/mRemoteNGTests/Tools/ExternalToolsArgumentParserTests.cs +++ b/mRemoteNGTests/Tools/ExternalToolsArgumentParserTests.cs @@ -35,7 +35,7 @@ namespace mRemoteNGTests.Tools MacAddress = TestString, UserField = TestString }; - _argumentParser = new ExternalToolArgumentParser(connectionInfo, Substitute.For()); + _argumentParser = new ExternalToolArgumentParser(connectionInfo, Substitute.For()); } [OneTimeTearDown] @@ -53,7 +53,7 @@ namespace mRemoteNGTests.Tools [Test] public void NullConnectionInfoResultsInEmptyVariables() { - var parser = new ExternalToolArgumentParser(null, Substitute.For()); + var parser = new ExternalToolArgumentParser(null, Substitute.For()); var parsedText = parser.ParseArguments("test %USERNAME% test"); Assert.That(parsedText, Is.EqualTo("test test")); } diff --git a/mRemoteNGTests/UI/Controls/ExternalToolsToolStripTests.cs b/mRemoteNGTests/UI/Controls/ExternalToolsToolStripTests.cs index 932c7f144..00d9a0a13 100644 --- a/mRemoteNGTests/UI/Controls/ExternalToolsToolStripTests.cs +++ b/mRemoteNGTests/UI/Controls/ExternalToolsToolStripTests.cs @@ -43,7 +43,7 @@ namespace mRemoteNGTests.UI.Controls private ExternalTool BuildExternalTool() { - return new ExternalTool(Substitute.For(), Substitute.For()); + return new ExternalTool(Substitute.For(), Substitute.For()); } } } diff --git a/mRemoteV1/App/Export.cs b/mRemoteV1/App/Export.cs index de9f61ae4..5828782d9 100644 --- a/mRemoteV1/App/Export.cs +++ b/mRemoteV1/App/Export.cs @@ -21,11 +21,11 @@ namespace mRemoteNG.App { public class Export { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly ICredentialRepositoryList _credentialRepositoryList; private readonly IWin32Window _dialogWindowParent; - public Export(ICredentialRepositoryList credentialRepositoryList, ConnectionsService connectionsService, IWin32Window dialogWindowParent) + public Export(ICredentialRepositoryList credentialRepositoryList, IConnectionsService connectionsService, IWin32Window dialogWindowParent) { _credentialRepositoryList = credentialRepositoryList.ThrowIfNull(nameof(credentialRepositoryList)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/App/Import.cs b/mRemoteV1/App/Import.cs index 6e546c1d4..c672a7e11 100644 --- a/mRemoteV1/App/Import.cs +++ b/mRemoteV1/App/Import.cs @@ -20,7 +20,7 @@ namespace mRemoteNG.App } // TODO - this is only a property to break up a circular dependency. move this to ctor when able - public ConnectionsService ConnectionsService { get; set; } + public IConnectionsService ConnectionsService { get; set; } public void ImportFromFile(ContainerInfo importDestinationContainer) { diff --git a/mRemoteV1/App/Initialization/CredsAndConsSetup.cs b/mRemoteV1/App/Initialization/CredsAndConsSetup.cs index f4d57a84e..4adb5ac17 100644 --- a/mRemoteV1/App/Initialization/CredsAndConsSetup.cs +++ b/mRemoteV1/App/Initialization/CredsAndConsSetup.cs @@ -7,9 +7,9 @@ namespace mRemoteNG.App.Initialization { public class CredsAndConsSetup { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public CredsAndConsSetup(ConnectionsService connectionsService) + public CredsAndConsSetup(IConnectionsService connectionsService) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); } diff --git a/mRemoteV1/App/Shutdown.cs b/mRemoteV1/App/Shutdown.cs index 5add1bb7f..ba52dd83f 100644 --- a/mRemoteV1/App/Shutdown.cs +++ b/mRemoteV1/App/Shutdown.cs @@ -14,11 +14,11 @@ namespace mRemoteNG.App public class Shutdown { private readonly SettingsSaver _settingsSaver; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly FrmMain _frmMain; private static string _updateFilePath; - public Shutdown(SettingsSaver settingsSaver, ConnectionsService connectionsService, FrmMain frmMain) + public Shutdown(SettingsSaver settingsSaver, IConnectionsService connectionsService, FrmMain frmMain) { _settingsSaver = settingsSaver.ThrowIfNull(nameof(settingsSaver)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/App/Startup.cs b/mRemoteV1/App/Startup.cs index c6087e40a..4a12e97e1 100644 --- a/mRemoteV1/App/Startup.cs +++ b/mRemoteV1/App/Startup.cs @@ -24,11 +24,11 @@ namespace mRemoteNG.App private readonly ConnectionIconLoader _connectionIconLoader; private readonly FrmMain _frmMain; private readonly Windows _windows; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly DatabaseConnectorFactory _databaseConnectorFactory; private readonly CompatibilityChecker _compatibilityChecker; - public Startup(FrmMain frmMain, Windows windows, ConnectionsService connectionsService, + public Startup(FrmMain frmMain, Windows windows, IConnectionsService connectionsService, AppUpdater appUpdate, DatabaseConnectorFactory databaseConnectorFactory, CompatibilityChecker compatibilityChecker) { _frmMain = frmMain.ThrowIfNull(nameof(frmMain)); diff --git a/mRemoteV1/App/Windows.cs b/mRemoteV1/App/Windows.cs index b0a2ed26b..270f85938 100644 --- a/mRemoteV1/App/Windows.cs +++ b/mRemoteV1/App/Windows.cs @@ -27,7 +27,7 @@ namespace mRemoteNG.App private readonly Func _externalToolsWindowBuilder; private readonly Func _portScanWindowBuilder; private readonly Func _activeDirectoryImportWindowBuilder; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly AppUpdater _appUpdater; private readonly DatabaseConnectorFactory _databaseConnectorFactory; private readonly FrmMain _frmMain; @@ -48,7 +48,7 @@ namespace mRemoteNG.App Func updateWindowBuilder, Func notificationAreaIconBuilder, Func externalToolsWindowBuilder, - ConnectionsService connectionsService, + IConnectionsService connectionsService, Func portScanWindowBuilder, Func activeDirectoryImportWindowBuilder, AppUpdater appUpdater, diff --git a/mRemoteV1/Config/Connections/Multiuser/RemoteConnectionsSyncronizer.cs b/mRemoteV1/Config/Connections/Multiuser/RemoteConnectionsSyncronizer.cs index 5945c42c3..0c860358c 100644 --- a/mRemoteV1/Config/Connections/Multiuser/RemoteConnectionsSyncronizer.cs +++ b/mRemoteV1/Config/Connections/Multiuser/RemoteConnectionsSyncronizer.cs @@ -11,14 +11,14 @@ namespace mRemoteNG.Config.Connections.Multiuser { private readonly Timer _updateTimer; private readonly IConnectionsUpdateChecker _updateChecker; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; public double TimerIntervalInMilliseconds { get { return _updateTimer.Interval; } } - public RemoteConnectionsSyncronizer(IConnectionsUpdateChecker updateChecker, ConnectionsService connectionsService) + public RemoteConnectionsSyncronizer(IConnectionsUpdateChecker updateChecker, IConnectionsService connectionsService) { _updateChecker = updateChecker.ThrowIfNull(nameof(updateChecker)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/Config/Connections/Multiuser/SqlConnectionsUpdateChecker.cs b/mRemoteV1/Config/Connections/Multiuser/SqlConnectionsUpdateChecker.cs index 6a68ce560..93a289dc2 100644 --- a/mRemoteV1/Config/Connections/Multiuser/SqlConnectionsUpdateChecker.cs +++ b/mRemoteV1/Config/Connections/Multiuser/SqlConnectionsUpdateChecker.cs @@ -15,11 +15,11 @@ namespace mRemoteNG.Config.Connections { private readonly SqlDatabaseConnector _sqlConnector; private readonly SqlCommand _sqlQuery; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private DateTime _lastUpdateTime; private DateTime _lastDatabaseUpdateTime; - public SqlConnectionsUpdateChecker(ConnectionsService connectionsService, DatabaseConnectorFactory databaseConnectorFactory) + public SqlConnectionsUpdateChecker(IConnectionsService connectionsService, DatabaseConnectorFactory databaseConnectorFactory) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); databaseConnectorFactory.ThrowIfNull(nameof(databaseConnectorFactory)); diff --git a/mRemoteV1/Config/Connections/SaveConnectionsOnEdit.cs b/mRemoteV1/Config/Connections/SaveConnectionsOnEdit.cs index 91c76b983..5902f0cf1 100644 --- a/mRemoteV1/Config/Connections/SaveConnectionsOnEdit.cs +++ b/mRemoteV1/Config/Connections/SaveConnectionsOnEdit.cs @@ -7,9 +7,9 @@ namespace mRemoteNG.Config.Connections { public class SaveConnectionsOnEdit { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public SaveConnectionsOnEdit(ConnectionsService connectionsService) + public SaveConnectionsOnEdit(IConnectionsService connectionsService) { if (connectionsService == null) throw new ArgumentNullException(nameof(connectionsService)); diff --git a/mRemoteV1/Config/Connections/SqlConnectionsLoader.cs b/mRemoteV1/Config/Connections/SqlConnectionsLoader.cs index 459f93c47..4aa6b8c27 100644 --- a/mRemoteV1/Config/Connections/SqlConnectionsLoader.cs +++ b/mRemoteV1/Config/Connections/SqlConnectionsLoader.cs @@ -11,9 +11,9 @@ namespace mRemoteNG.Config.Connections public class SqlConnectionsLoader { private readonly DatabaseConnectorFactory _databaseConnectorFactory; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public SqlConnectionsLoader(DatabaseConnectorFactory databaseConnectorFactory, ConnectionsService connectionsService) + public SqlConnectionsLoader(DatabaseConnectorFactory databaseConnectorFactory, IConnectionsService connectionsService) { _databaseConnectorFactory = databaseConnectorFactory.ThrowIfNull(nameof(databaseConnectorFactory)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/Config/Connections/SqlConnectionsSaver.cs b/mRemoteV1/Config/Connections/SqlConnectionsSaver.cs index c14ce7572..6b70ba3a6 100644 --- a/mRemoteV1/Config/Connections/SqlConnectionsSaver.cs +++ b/mRemoteV1/Config/Connections/SqlConnectionsSaver.cs @@ -21,11 +21,11 @@ namespace mRemoteNG.Config.Connections { public class SqlConnectionsSaver : ISaver { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly SaveFilter _saveFilter; private readonly DatabaseConnectorFactory _databaseConnectorFactory; - public SqlConnectionsSaver(SaveFilter saveFilter, ConnectionsService connectionsService, DatabaseConnectorFactory databaseConnectorFactory) + public SqlConnectionsSaver(SaveFilter saveFilter, IConnectionsService connectionsService, DatabaseConnectorFactory databaseConnectorFactory) { _saveFilter = saveFilter.ThrowIfNull(nameof(saveFilter)); _databaseConnectorFactory = databaseConnectorFactory.ThrowIfNull(nameof(databaseConnectorFactory)); diff --git a/mRemoteV1/Config/Connections/XmlConnectionsLoader.cs b/mRemoteV1/Config/Connections/XmlConnectionsLoader.cs index a082ba664..bec221124 100644 --- a/mRemoteV1/Config/Connections/XmlConnectionsLoader.cs +++ b/mRemoteV1/Config/Connections/XmlConnectionsLoader.cs @@ -10,11 +10,11 @@ namespace mRemoteNG.Config.Connections { public class XmlConnectionsLoader { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly string _connectionFilePath; private readonly IWin32Window _dialogWindowParent; - public XmlConnectionsLoader(string connectionFilePath, ConnectionsService connectionsService, IWin32Window dialogWindowParent) + public XmlConnectionsLoader(string connectionFilePath, IConnectionsService connectionsService, IWin32Window dialogWindowParent) { _dialogWindowParent = dialogWindowParent; _connectionFilePath = connectionFilePath.ThrowIfNullOrEmpty(nameof(connectionFilePath)); diff --git a/mRemoteV1/Config/Import/MRemoteNGXmlImporter.cs b/mRemoteV1/Config/Import/MRemoteNGXmlImporter.cs index 1dfd45854..ba35b066d 100644 --- a/mRemoteV1/Config/Import/MRemoteNGXmlImporter.cs +++ b/mRemoteV1/Config/Import/MRemoteNGXmlImporter.cs @@ -15,10 +15,10 @@ namespace mRemoteNG.Config.Import // ReSharper disable once InconsistentNaming public class MRemoteNGXmlImporter : IConnectionImporter { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly IWin32Window _dialogWindowParent; - public MRemoteNGXmlImporter(ConnectionsService connectionsService, IWin32Window dialogWindowParent) + public MRemoteNGXmlImporter(IConnectionsService connectionsService, IWin32Window dialogWindowParent) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); _dialogWindowParent = dialogWindowParent.ThrowIfNull(nameof(dialogWindowParent)); diff --git a/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs b/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs index 1ddb1094b..9cc09a2d3 100644 --- a/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs +++ b/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs @@ -23,7 +23,7 @@ namespace mRemoteNG.Config.Serializers.Xml { public class XmlConnectionsDeserializer : IDeserializer { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private XmlDocument _xmlDocument; private double _confVersion; private XmlConnectionsDecryptor _decryptor; @@ -34,7 +34,7 @@ namespace mRemoteNG.Config.Serializers.Xml public Func AuthenticationRequestor { get; set; } - public XmlConnectionsDeserializer(ConnectionsService connectionsService, IWin32Window dialogWindowParent, Func authenticationRequestor = null) + public XmlConnectionsDeserializer(IConnectionsService connectionsService, IWin32Window dialogWindowParent, Func authenticationRequestor = null) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); _dialogWindowParent = dialogWindowParent.ThrowIfNull(nameof(dialogWindowParent)); diff --git a/mRemoteV1/Config/Serializers/DataTableDeserializer.cs b/mRemoteV1/Config/Serializers/DataTableDeserializer.cs index d6db9d98a..e3cecb7c1 100644 --- a/mRemoteV1/Config/Serializers/DataTableDeserializer.cs +++ b/mRemoteV1/Config/Serializers/DataTableDeserializer.cs @@ -18,9 +18,9 @@ namespace mRemoteNG.Config.Serializers { public class DataTableDeserializer : IDeserializer { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public DataTableDeserializer(ConnectionsService connectionsService) + public DataTableDeserializer(IConnectionsService connectionsService) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); } diff --git a/mRemoteV1/Config/Settings/ExternalAppsLoader.cs b/mRemoteV1/Config/Settings/ExternalAppsLoader.cs index 47d5d5a2e..148319cbe 100644 --- a/mRemoteV1/Config/Settings/ExternalAppsLoader.cs +++ b/mRemoteV1/Config/Settings/ExternalAppsLoader.cs @@ -17,10 +17,10 @@ namespace mRemoteNG.Config.Settings private readonly ExternalToolsToolStrip _externalToolsToolStrip; private readonly IConnectionInitiator _connectionInitiator; private readonly ExternalToolsService _externalToolsService; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; public ExternalAppsLoader(MessageCollector messageCollector, ExternalToolsToolStrip externalToolsToolStrip, - IConnectionInitiator connectionInitiator, ExternalToolsService externalToolsService, ConnectionsService connectionsService) + IConnectionInitiator connectionInitiator, ExternalToolsService externalToolsService, IConnectionsService connectionsService) { _messageCollector = messageCollector.ThrowIfNull(nameof(messageCollector)); _externalToolsToolStrip = externalToolsToolStrip.ThrowIfNull(nameof(externalToolsToolStrip)); diff --git a/mRemoteV1/Connection/ConnectionsService.cs b/mRemoteV1/Connection/ConnectionsService.cs index 2cd66bea8..2b6066930 100644 --- a/mRemoteV1/Connection/ConnectionsService.cs +++ b/mRemoteV1/Connection/ConnectionsService.cs @@ -22,7 +22,7 @@ using mRemoteNG.UI.TaskDialog; namespace mRemoteNG.Connection { - public class ConnectionsService + public class ConnectionsService : IConnectionsService { private static readonly object SaveLock = new object(); private bool _showDialogWhenLoadingConnections; diff --git a/mRemoteV1/Connection/IConnectionsService.cs b/mRemoteV1/Connection/IConnectionsService.cs new file mode 100644 index 000000000..397fada1c --- /dev/null +++ b/mRemoteV1/Connection/IConnectionsService.cs @@ -0,0 +1,37 @@ +using System; +using System.Security; +using mRemoteNG.Config.Connections; +using mRemoteNG.Config.Connections.Multiuser; +using mRemoteNG.Config.DatabaseConnectors; +using mRemoteNG.Connection.Protocol; +using mRemoteNG.Security; +using mRemoteNG.Tree; + +namespace mRemoteNG.Connection +{ + public interface IConnectionsService + { + string ConnectionFileName { get; } + ConnectionTreeModel ConnectionTreeModel { get; } + DatabaseConnectorFactory DatabaseConnectorFactory { get; set; } + SecureString EncryptionKey { get; set; } + bool IsConnectionsFileLoaded { get; set; } + DateTime LastSqlUpdate { get; set; } + RemoteConnectionsSyncronizer RemoteConnectionsSyncronizer { get; set; } + bool UsingDatabase { get; } + + event EventHandler ConnectionsLoaded; + event EventHandler ConnectionsSaved; + + ConnectionInfo CreateQuickConnect(string connectionString, ProtocolType protocol); + string GetDefaultStartupConnectionFileName(); + string GetStartupConnectionFileName(); + void LoadConnections(bool withDialog = false); + ConnectionTreeModel LoadConnections(bool useDatabase, bool import, string connectionFileName); + void LoadConnectionsAsync(); + void NewConnectionsFile(string filename); + void SaveConnections(); + void SaveConnections(ConnectionTreeModel connectionTreeModel, bool useDatabase, SaveFilter saveFilter, string connectionFileName); + void SaveConnectionsAsync(); + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs b/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs index f7f282659..408f5cad2 100644 --- a/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs +++ b/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs @@ -18,10 +18,10 @@ namespace mRemoteNG.Connection.Protocol.ICA private AxICAClient _icaClient; private ConnectionInfo _info; private readonly FrmMain _frmMain; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; #region Public Methods - public IcaProtocol(FrmMain frmMain, ConnectionsService connectionsService) + public IcaProtocol(FrmMain frmMain, IConnectionsService connectionsService) { _frmMain = frmMain.ThrowIfNull(nameof(frmMain)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/Connection/Protocol/IntegratedProgram.cs b/mRemoteV1/Connection/Protocol/IntegratedProgram.cs index 9ce8f51b2..1cbc0d164 100644 --- a/mRemoteV1/Connection/Protocol/IntegratedProgram.cs +++ b/mRemoteV1/Connection/Protocol/IntegratedProgram.cs @@ -15,9 +15,9 @@ namespace mRemoteNG.Connection.Protocol private ExternalTool _externalTool; private IntPtr _handle; private Process _process; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public IntegratedProgram(ExternalToolsService externalToolsService, ConnectionsService connectionsService) + public IntegratedProgram(ExternalToolsService externalToolsService, IConnectionsService connectionsService) { _externalToolsService = externalToolsService.ThrowIfNull(nameof(externalToolsService)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/Connection/Protocol/ProtocolFactory.cs b/mRemoteV1/Connection/Protocol/ProtocolFactory.cs index 216e4d61c..99ccf4c60 100644 --- a/mRemoteV1/Connection/Protocol/ProtocolFactory.cs +++ b/mRemoteV1/Connection/Protocol/ProtocolFactory.cs @@ -16,9 +16,9 @@ namespace mRemoteNG.Connection.Protocol { private readonly ExternalToolsService _externalToolsService; private readonly FrmMain _frmMain; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public ProtocolFactory(ExternalToolsService externalToolsService, FrmMain frmMain, ConnectionsService connectionsService) + public ProtocolFactory(ExternalToolsService externalToolsService, FrmMain frmMain, IConnectionsService connectionsService) { _externalToolsService = externalToolsService.ThrowIfNull(nameof(externalToolsService)); _frmMain = frmMain.ThrowIfNull(nameof(frmMain)); diff --git a/mRemoteV1/Connection/Protocol/PuttyBase.cs b/mRemoteV1/Connection/Protocol/PuttyBase.cs index 28f3db668..a3709f0d6 100644 --- a/mRemoteV1/Connection/Protocol/PuttyBase.cs +++ b/mRemoteV1/Connection/Protocol/PuttyBase.cs @@ -16,9 +16,9 @@ namespace mRemoteNG.Connection.Protocol { private const int IDM_RECONF = 0x50; // PuTTY Settings Menu ID private bool _isPuttyNg; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public PuttyBase(ConnectionsService connectionsService) + public PuttyBase(IConnectionsService connectionsService) { _connectionsService = connectionsService; } diff --git a/mRemoteV1/Connection/Protocol/RAW/RawProtocol.cs b/mRemoteV1/Connection/Protocol/RAW/RawProtocol.cs index 5099a7b13..a7965c9d8 100644 --- a/mRemoteV1/Connection/Protocol/RAW/RawProtocol.cs +++ b/mRemoteV1/Connection/Protocol/RAW/RawProtocol.cs @@ -2,7 +2,7 @@ namespace mRemoteNG.Connection.Protocol.RAW { public class RawProtocol : PuttyBase { - public RawProtocol(ConnectionsService connectionsService) + public RawProtocol(IConnectionsService connectionsService) : base(connectionsService) { PuttyProtocol = Putty_Protocol.raw; diff --git a/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs b/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs index ab366120e..a831fcbd7 100644 --- a/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs +++ b/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs @@ -31,7 +31,7 @@ namespace mRemoteNG.Connection.Protocol.RDP private bool _redirectKeys; private bool _alertOnIdleDisconnect; private readonly FrmMain _frmMain; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; #region Properties public bool SmartSize @@ -93,7 +93,7 @@ namespace mRemoteNG.Connection.Protocol.RDP #endregion #region Constructors - public RdpProtocol(FrmMain frmMain, ConnectionsService connectionsService) + public RdpProtocol(FrmMain frmMain, IConnectionsService connectionsService) { _frmMain = frmMain; _connectionsService = connectionsService; diff --git a/mRemoteV1/Connection/Protocol/Rlogin/Connection.Protocol.Rlogin.cs b/mRemoteV1/Connection/Protocol/Rlogin/Connection.Protocol.Rlogin.cs index 4267d8576..0c67e2787 100644 --- a/mRemoteV1/Connection/Protocol/Rlogin/Connection.Protocol.Rlogin.cs +++ b/mRemoteV1/Connection/Protocol/Rlogin/Connection.Protocol.Rlogin.cs @@ -3,7 +3,7 @@ namespace mRemoteNG.Connection.Protocol.Rlogin public class ProtocolRlogin : PuttyBase { - public ProtocolRlogin(ConnectionsService connectionsService) + public ProtocolRlogin(IConnectionsService connectionsService) : base(connectionsService) { this.PuttyProtocol = Putty_Protocol.rlogin; diff --git a/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs b/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs index 89c54d166..d0a2b4d2f 100644 --- a/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs +++ b/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs @@ -5,7 +5,7 @@ namespace mRemoteNG.Connection.Protocol.SSH public class ProtocolSSH1 : PuttyBase { - public ProtocolSSH1(ConnectionsService connectionsService) : base(connectionsService) + public ProtocolSSH1(IConnectionsService connectionsService) : base(connectionsService) { this.PuttyProtocol = Putty_Protocol.ssh; this.PuttySSHVersion = Putty_SSHVersion.ssh1; diff --git a/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH2.cs b/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH2.cs index 61004dfbd..3987afa0e 100644 --- a/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH2.cs +++ b/mRemoteV1/Connection/Protocol/SSH/Connection.Protocol.SSH2.cs @@ -3,7 +3,7 @@ namespace mRemoteNG.Connection.Protocol.SSH public class ProtocolSSH2 : PuttyBase { - public ProtocolSSH2(ConnectionsService connectionsService) : base(connectionsService) + public ProtocolSSH2(IConnectionsService connectionsService) : base(connectionsService) { this.PuttyProtocol = Putty_Protocol.ssh; this.PuttySSHVersion = Putty_SSHVersion.ssh2; diff --git a/mRemoteV1/Connection/Protocol/Serial/Connection.Protocol.Serial.cs b/mRemoteV1/Connection/Protocol/Serial/Connection.Protocol.Serial.cs index 6c0e1ae16..e46ee90f9 100644 --- a/mRemoteV1/Connection/Protocol/Serial/Connection.Protocol.Serial.cs +++ b/mRemoteV1/Connection/Protocol/Serial/Connection.Protocol.Serial.cs @@ -3,7 +3,7 @@ namespace mRemoteNG.Connection.Protocol.Serial public class ProtocolSerial : PuttyBase { - public ProtocolSerial(ConnectionsService connectionsService) : base(connectionsService) + public ProtocolSerial(IConnectionsService connectionsService) : base(connectionsService) { this.PuttyProtocol = Putty_Protocol.serial; } diff --git a/mRemoteV1/Connection/Protocol/Telnet/Connection.Protocol.Telnet.cs b/mRemoteV1/Connection/Protocol/Telnet/Connection.Protocol.Telnet.cs index 3d679dcb8..be7d7406e 100644 --- a/mRemoteV1/Connection/Protocol/Telnet/Connection.Protocol.Telnet.cs +++ b/mRemoteV1/Connection/Protocol/Telnet/Connection.Protocol.Telnet.cs @@ -3,7 +3,7 @@ namespace mRemoteNG.Connection.Protocol.Telnet public class ProtocolTelnet : PuttyBase { - public ProtocolTelnet(ConnectionsService connectionsService) : base(connectionsService) + public ProtocolTelnet(IConnectionsService connectionsService) : base(connectionsService) { this.PuttyProtocol = Putty_Protocol.telnet; } diff --git a/mRemoteV1/Tools/ExternalTool.cs b/mRemoteV1/Tools/ExternalTool.cs index 49db973ae..6f6916176 100644 --- a/mRemoteV1/Tools/ExternalTool.cs +++ b/mRemoteV1/Tools/ExternalTool.cs @@ -24,7 +24,7 @@ namespace mRemoteNG.Tools private bool _tryIntegrate; private bool _showOnToolbar = true; private bool _runElevated; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; #region Public Properties @@ -102,7 +102,7 @@ namespace mRemoteNG.Tools #endregion - public ExternalTool(IConnectionInitiator connectionInitiator, ConnectionsService connectionsService) + public ExternalTool(IConnectionInitiator connectionInitiator, IConnectionsService connectionsService) { _connectionInitiator = connectionInitiator.ThrowIfNull(nameof(connectionInitiator)); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/Tools/ExternalToolArgumentParser.cs b/mRemoteV1/Tools/ExternalToolArgumentParser.cs index b6c48a8a8..21ca84c0c 100644 --- a/mRemoteV1/Tools/ExternalToolArgumentParser.cs +++ b/mRemoteV1/Tools/ExternalToolArgumentParser.cs @@ -10,9 +10,9 @@ namespace mRemoteNG.Tools public class ExternalToolArgumentParser { private readonly ConnectionInfo _connectionInfo; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public ExternalToolArgumentParser(ConnectionInfo connectionInfo, ConnectionsService connectionsService) + public ExternalToolArgumentParser(ConnectionInfo connectionInfo, IConnectionsService connectionsService) { _connectionInfo = connectionInfo; _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/Tools/MultiSSHController.cs b/mRemoteV1/Tools/MultiSSHController.cs index eee04885c..2ba4236c8 100644 --- a/mRemoteV1/Tools/MultiSSHController.cs +++ b/mRemoteV1/Tools/MultiSSHController.cs @@ -14,17 +14,17 @@ namespace mRemoteNG.Tools private ArrayList quickConnectConnections = new ArrayList(); private ArrayList previousCommands = new ArrayList(); private int previousCommandIndex = 0; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; public int CommandHistoryLength { get; set; } = 100; - public MultiSSHController(TextBox txtBox, ConnectionsService connectionsService) + public MultiSSHController(TextBox txtBox, IConnectionsService connectionsService) { DecorateTextBox(txtBox); _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); } - public MultiSSHController(ToolStripTextBox txtBox, ConnectionsService connectionsService) + public MultiSSHController(ToolStripTextBox txtBox, IConnectionsService connectionsService) { _connectionsService = connectionsService; DecorateTextBox(txtBox.TextBox); diff --git a/mRemoteV1/Tools/NotificationAreaIcon.cs b/mRemoteV1/Tools/NotificationAreaIcon.cs index 0a3658d33..7bf29bdfd 100644 --- a/mRemoteV1/Tools/NotificationAreaIcon.cs +++ b/mRemoteV1/Tools/NotificationAreaIcon.cs @@ -17,11 +17,11 @@ namespace mRemoteNG.Tools private readonly IConnectionInitiator _connectionInitiator; private readonly FrmMain _frmMain; private readonly Shutdown _shutdown; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; public bool Disposed { get; private set; } - public NotificationAreaIcon(FrmMain frmMain, IConnectionInitiator connectionInitiator, Shutdown shutdown, ConnectionsService connectionsService) + public NotificationAreaIcon(FrmMain frmMain, IConnectionInitiator connectionInitiator, Shutdown shutdown, IConnectionsService connectionsService) { _frmMain = frmMain.ThrowIfNull(nameof(frmMain)); _connectionInitiator = connectionInitiator.ThrowIfNull(nameof(connectionInitiator)); diff --git a/mRemoteV1/UI/Controls/ConnectionContextMenu.cs b/mRemoteV1/UI/Controls/ConnectionContextMenu.cs index 49e508164..2fc891cbc 100644 --- a/mRemoteV1/UI/Controls/ConnectionContextMenu.cs +++ b/mRemoteV1/UI/Controls/ConnectionContextMenu.cs @@ -54,7 +54,7 @@ namespace mRemoteNG.UI.Controls private readonly Export _export; private readonly ExternalToolsService _externalToolsService; private readonly Import _import; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; // TODO - this is only a property to break up a circular dependency public Action ShowWindowAction { get; set; } = type => { }; @@ -67,7 +67,7 @@ namespace mRemoteNG.UI.Controls Export export, ExternalToolsService externalToolsService, Import import, - ConnectionsService connectionsService) + IConnectionsService connectionsService) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); _connectionTree = connectionTree.ThrowIfNull(nameof(connectionTree)); diff --git a/mRemoteV1/UI/Controls/MultiSshToolStrip.cs b/mRemoteV1/UI/Controls/MultiSshToolStrip.cs index 509033a2d..9693d9b64 100644 --- a/mRemoteV1/UI/Controls/MultiSshToolStrip.cs +++ b/mRemoteV1/UI/Controls/MultiSshToolStrip.cs @@ -16,7 +16,7 @@ namespace mRemoteNG.UI.Controls { } - public MultiSshToolStrip(ConnectionsService connectionsService) + public MultiSshToolStrip(IConnectionsService connectionsService) { InitializeComponent(); _multiSshController = new MultiSSHController(_txtMultiSsh, connectionsService); diff --git a/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs b/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs index 4165bc8d4..ce85db874 100644 --- a/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs +++ b/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs @@ -24,7 +24,7 @@ namespace mRemoteNG.UI.Controls private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender; public IConnectionInitiator ConnectionInitiator { get; set; } - public ConnectionsService ConnectionsService { get; set; } + public IConnectionsService ConnectionsService { get; set; } public QuickConnectToolStrip() { diff --git a/mRemoteV1/UI/Forms/OptionsPages/CredentialsPage.cs b/mRemoteV1/UI/Forms/OptionsPages/CredentialsPage.cs index eb3d51527..4f5365d25 100644 --- a/mRemoteV1/UI/Forms/OptionsPages/CredentialsPage.cs +++ b/mRemoteV1/UI/Forms/OptionsPages/CredentialsPage.cs @@ -7,9 +7,9 @@ namespace mRemoteNG.UI.Forms.OptionsPages { public partial class CredentialsPage : OptionsPage { - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public CredentialsPage(ConnectionsService connectionsService) + public CredentialsPage(IConnectionsService connectionsService) { _connectionsService = connectionsService; InitializeComponent(); diff --git a/mRemoteV1/UI/Forms/OptionsPages/SqlServerPage.cs b/mRemoteV1/UI/Forms/OptionsPages/SqlServerPage.cs index 48b1de871..a61619275 100644 --- a/mRemoteV1/UI/Forms/OptionsPages/SqlServerPage.cs +++ b/mRemoteV1/UI/Forms/OptionsPages/SqlServerPage.cs @@ -12,10 +12,10 @@ namespace mRemoteNG.UI.Forms.OptionsPages public partial class SqlServerPage { private readonly SqlDatabaseConnectionTester _databaseConnectionTester; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly DatabaseConnectorFactory _databaseConnectorFactory; - public SqlServerPage(ConnectionsService connectionsService, DatabaseConnectorFactory databaseConnectorFactory) + public SqlServerPage(IConnectionsService connectionsService, DatabaseConnectorFactory databaseConnectorFactory) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); _databaseConnectorFactory = databaseConnectorFactory.ThrowIfNull(nameof(databaseConnectorFactory)); diff --git a/mRemoteV1/UI/Forms/OptionsPages/UpdatesPage.cs b/mRemoteV1/UI/Forms/OptionsPages/UpdatesPage.cs index a303db2b9..abb4360c6 100644 --- a/mRemoteV1/UI/Forms/OptionsPages/UpdatesPage.cs +++ b/mRemoteV1/UI/Forms/OptionsPages/UpdatesPage.cs @@ -15,9 +15,9 @@ namespace mRemoteNG.UI.Forms.OptionsPages { private readonly AppUpdater _appUpdate; private readonly Action _showWindowAction; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; - public UpdatesPage(AppUpdater appUpdate, Action showWindowAction, ConnectionsService connectionsService) + public UpdatesPage(AppUpdater appUpdate, Action showWindowAction, IConnectionsService connectionsService) { _appUpdate = appUpdate; _showWindowAction = showWindowAction.ThrowIfNull(nameof(showWindowAction)); diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index ead863143..641727d03 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -67,7 +67,7 @@ namespace mRemoteNG.UI.Forms private readonly Shutdown _shutdown; private readonly ICredentialRepositoryList _credentialRepositoryList; private readonly Func _notificationAreaIconBuilder; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly Import _import; private readonly AppUpdater _appUpdater; private readonly DatabaseConnectorFactory _databaseConnectorFactory; diff --git a/mRemoteV1/UI/Forms/frmOptions.cs b/mRemoteV1/UI/Forms/frmOptions.cs index 8e08fd976..c984b9ec2 100644 --- a/mRemoteV1/UI/Forms/frmOptions.cs +++ b/mRemoteV1/UI/Forms/frmOptions.cs @@ -19,19 +19,19 @@ namespace mRemoteNG.UI.Forms private readonly IConnectionInitiator _connectionInitiator; private readonly Action _showWindowAction; private readonly Func _notificationAreaIconBuilder; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private readonly AppUpdater _appUpdater; private readonly DatabaseConnectorFactory _databaseConnectorFactory; private readonly FrmMain _frmMain; public frmOptions(IConnectionInitiator connectionInitiator, Action showWindowAction, Func notificationAreaIconBuilder, - ConnectionsService connectionsService, AppUpdater appUpdater, DatabaseConnectorFactory databaseConnectorFactory, FrmMain frmMain) + IConnectionsService connectionsService, AppUpdater appUpdater, DatabaseConnectorFactory databaseConnectorFactory, FrmMain frmMain) : this(connectionInitiator, showWindowAction, notificationAreaIconBuilder, connectionsService, appUpdater, databaseConnectorFactory, Language.strStartupExit, frmMain) { } public frmOptions(IConnectionInitiator connectionInitiator, Action showWindowAction, Func notificationAreaIconBuilder, - ConnectionsService connectionsService, AppUpdater appUpdater, DatabaseConnectorFactory databaseConnectorFactory, string pageName, FrmMain frmMain) + IConnectionsService connectionsService, AppUpdater appUpdater, DatabaseConnectorFactory databaseConnectorFactory, string pageName, FrmMain frmMain) { _connectionInitiator = connectionInitiator.ThrowIfNull(nameof(connectionInitiator)); _showWindowAction = showWindowAction.ThrowIfNull(nameof(showWindowAction)); diff --git a/mRemoteV1/UI/Menu/MainFileMenu.cs b/mRemoteV1/UI/Menu/MainFileMenu.cs index e2cdbd5da..5e6887d95 100644 --- a/mRemoteV1/UI/Menu/MainFileMenu.cs +++ b/mRemoteV1/UI/Menu/MainFileMenu.cs @@ -44,7 +44,7 @@ namespace mRemoteNG.UI.Menu public Export Export { get; set; } public Shutdown Shutdown { get; set; } public Import Import { get; set; } - public ConnectionsService ConnectionsService { get; set; } + public IConnectionsService ConnectionsService { get; set; } public IWin32Window DialogWindowParent { get; set; } public MainFileMenu() diff --git a/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs b/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs index 228aa47cb..5531e48f6 100644 --- a/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs +++ b/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs @@ -13,10 +13,10 @@ namespace mRemoteNG.UI.Window { private readonly Func _getSelectedNodeFunc; private readonly Import _import; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private string _currentDomain; - public ActiveDirectoryImportWindow(Func getSelectedNodeFunc, Import import, ConnectionsService connectionsService) + public ActiveDirectoryImportWindow(Func getSelectedNodeFunc, Import import, IConnectionsService connectionsService) { _getSelectedNodeFunc = getSelectedNodeFunc; _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); diff --git a/mRemoteV1/UI/Window/ConfigWindow.cs b/mRemoteV1/UI/Window/ConfigWindow.cs index 46b58a877..95e719ad2 100644 --- a/mRemoteV1/UI/Window/ConfigWindow.cs +++ b/mRemoteV1/UI/Window/ConfigWindow.cs @@ -42,7 +42,7 @@ namespace mRemoteNG.UI.Window private ToolStripSeparator _toolStripSeparator1; private FilteredPropertyGrid _pGrid; private ThemeManager _themeManager; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private AbstractConnectionRecord _selectedTreeNode; public AbstractConnectionRecord SelectedTreeNode @@ -268,7 +268,7 @@ namespace mRemoteNG.UI.Window } #endregion - public ConfigWindow(DockContent panel, ConnectionsService connectionsService) + public ConfigWindow(DockContent panel, IConnectionsService connectionsService) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); WindowType = WindowType.Config; diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs index 8f3825306..4a060d6f8 100644 --- a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs +++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs @@ -18,7 +18,7 @@ namespace mRemoteNG.UI.Window public partial class ConnectionTreeWindow { private readonly IConnectionInitiator _connectionInitiator; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; private ThemeManager _themeManager; private readonly ConnectionTreeSearchTextFilter _connectionTreeSearchTextFilter = new ConnectionTreeSearchTextFilter(); @@ -35,7 +35,7 @@ namespace mRemoteNG.UI.Window set { olvConnections = value; } } - public ConnectionTreeWindow(DockContent panel, IConnectionInitiator connectionInitiator, ConnectionsService connectionsService) + public ConnectionTreeWindow(DockContent panel, IConnectionInitiator connectionInitiator, IConnectionsService connectionsService) { _connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService)); WindowType = WindowType.Tree; diff --git a/mRemoteV1/UI/Window/ExternalToolsWindow.cs b/mRemoteV1/UI/Window/ExternalToolsWindow.cs index c1ac59fe9..83ec8f917 100644 --- a/mRemoteV1/UI/Window/ExternalToolsWindow.cs +++ b/mRemoteV1/UI/Window/ExternalToolsWindow.cs @@ -22,10 +22,10 @@ namespace mRemoteNG.UI.Window private readonly ExternalToolsService _externalToolsService; private readonly Func> _getCurrentlySelectedConnection; private readonly IWin32Window _dialogWindowParent; - private readonly ConnectionsService _connectionsService; + private readonly IConnectionsService _connectionsService; public ExternalToolsWindow(IConnectionInitiator connectionInitiator, ExternalToolsService externalToolsService, - Func> getCurrentlySelectedConnection, IWin32Window dialogWindowParent, ConnectionsService connectionsService) + Func> getCurrentlySelectedConnection, IWin32Window dialogWindowParent, IConnectionsService connectionsService) { _connectionInitiator = connectionInitiator.ThrowIfNull(nameof(connectionInitiator)); _externalToolsService = externalToolsService.ThrowIfNull(nameof(externalToolsService)); diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 9ce1ba9b1..9687d6d92 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -233,6 +233,7 @@ +