diff --git a/mRemoteNGTests/Config/Serializers/DataTableDeserializerTests.cs b/mRemoteNGTests/Config/Serializers/DataTableDeserializerTests.cs index 3cad58be..96cda99e 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 d73c6aa5..23756ed5 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 b1ee46b4..cc8c3e53 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 0617b66e..651e62e2 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 93adea61..b78433b0 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 932c7f14..00d9a0a1 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 de9f61ae..5828782d 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 6e546c1d..c672a7e1 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 f4d57a84..4adb5ac1 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 5add1bb7..ba52dd83 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 c6087e40..4a12e97e 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 b0a2ed26..270f8593 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 5945c42c..0c860358 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 6a68ce56..93a289dc 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 91c76b98..5902f0cf 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 459f93c4..4aa6b8c2 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 c14ce757..6b70ba3a 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 a082ba66..bec22112 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 1dfd4585..ba35b066 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 1ddb1094..9cc09a2d 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 d6db9d98..e3cecb7c 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 47d5d5a2..148319cb 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 2cd66bea..2b606693 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 00000000..397fada1 --- /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 f7f28265..408f5cad 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 9ce8f51b..1cbc0d16 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 216e4d61..99ccf4c6 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 28f3db66..a3709f0d 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 5099a7b1..a7965c9d 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 ab366120..a831fcbd 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 4267d857..0c67e278 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 89c54d16..d0a2b4d2 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 61004dfb..3987afa0 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 6c0e1ae1..e46ee90f 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 3d679dcb..be7d7406 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 49db973a..6f691617 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 b6c48a8a..21ca84c0 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 eee04885..2ba4236c 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 0a3658d3..7bf29bdf 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 49e50816..2fc891cb 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 509033a2..9693d9b6 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 4165bc8d..ce85db87 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 eb3d5152..4f5365d2 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 48b1de87..a6161927 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 a303db2b..abb4360c 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 ead86314..641727d0 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 8e08fd97..c984b9ec 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 e2cdbd5d..5e6887d9 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 228aa47c..5531e48f 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 46b58a87..95e719ad 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 8f382530..4a060d6f 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 c1ac59fe..83ec8f91 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 9ce1ba9b..9687d6d9 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -233,6 +233,7 @@ +