created IConnectionService interface and replaced usage with concrete type

This commit is contained in:
David Sparer
2018-05-24 17:25:04 -05:00
parent 8c350429b7
commit 314c989dae
53 changed files with 129 additions and 91 deletions

View File

@@ -19,7 +19,7 @@ namespace mRemoteNGTests.Config.Serializers
{
var model = CreateConnectionTreeModel();
var dataTable = CreateDataTable(model.RootNodes[0]);
_deserializer = new DataTableDeserializer(Substitute.For<ConnectionsService>());
_deserializer = new DataTableDeserializer(Substitute.For<IConnectionsService>());
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<ConnectionsService>());
_deserializer = new DataTableDeserializer(Substitute.For<IConnectionsService>());
var output = _deserializer.Deserialize(dataTable);
Assert.That(output.GetRecursiveChildList().Count(), Is.EqualTo(1));
}

View File

@@ -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>();
_connectionsService = Substitute.For<IConnectionsService>();
_connectionInfo = new ConnectionInfo();
}

View File

@@ -33,7 +33,7 @@ namespace mRemoteNGTests.Connection.Protocol
public void OneTimeSetUp()
{
_connectionInitiator = Substitute.For<IConnectionInitiator>();
var extTool = new ExternalTool(_connectionInitiator, Substitute.For<ConnectionsService>())
var extTool = new ExternalTool(_connectionInitiator, Substitute.For<IConnectionsService>())
{
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<ConnectionsService>());
var sut = new IntegratedProgram(_externalToolsService, Substitute.For<IConnectionsService>());
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<ConnectionsService>());
var sut = new IntegratedProgram(_externalToolsService, Substitute.For<IConnectionsService>());
sut.InterfaceControl = BuildInterfaceControl("doesntExist", sut);
var appInitialized = sut.Initialize();
Assert.That(appInitialized, Is.False);

View File

@@ -23,7 +23,7 @@ namespace mRemoteNGTests.Connection.Protocol
[SetUp]
public void Setup()
{
var connectionService = Substitute.For<ConnectionsService>();
var connectionService = Substitute.For<IConnectionsService>();
_protocolList = new ProtocolList();
_protocol1 = new ProtocolTelnet(connectionService);
_protocol2 = new ProtocolSSH2(connectionService);

View File

@@ -35,7 +35,7 @@ namespace mRemoteNGTests.Tools
MacAddress = TestString,
UserField = TestString
};
_argumentParser = new ExternalToolArgumentParser(connectionInfo, Substitute.For<ConnectionsService>());
_argumentParser = new ExternalToolArgumentParser(connectionInfo, Substitute.For<IConnectionsService>());
}
[OneTimeTearDown]
@@ -53,7 +53,7 @@ namespace mRemoteNGTests.Tools
[Test]
public void NullConnectionInfoResultsInEmptyVariables()
{
var parser = new ExternalToolArgumentParser(null, Substitute.For<ConnectionsService>());
var parser = new ExternalToolArgumentParser(null, Substitute.For<IConnectionsService>());
var parsedText = parser.ParseArguments("test %USERNAME% test");
Assert.That(parsedText, Is.EqualTo("test test"));
}

View File

@@ -43,7 +43,7 @@ namespace mRemoteNGTests.UI.Controls
private ExternalTool BuildExternalTool()
{
return new ExternalTool(Substitute.For<IConnectionInitiator>(), Substitute.For<ConnectionsService>());
return new ExternalTool(Substitute.For<IConnectionInitiator>(), Substitute.For<IConnectionsService>());
}
}
}

View File

@@ -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));

View File

@@ -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)
{

View File

@@ -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));
}

View File

@@ -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));

View File

@@ -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));

View File

@@ -27,7 +27,7 @@ namespace mRemoteNG.App
private readonly Func<ExternalToolsWindow> _externalToolsWindowBuilder;
private readonly Func<PortScanWindow> _portScanWindowBuilder;
private readonly Func<ActiveDirectoryImportWindow> _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<UpdateWindow> updateWindowBuilder,
Func<NotificationAreaIcon> notificationAreaIconBuilder,
Func<ExternalToolsWindow> externalToolsWindowBuilder,
ConnectionsService connectionsService,
IConnectionsService connectionsService,
Func<PortScanWindow> portScanWindowBuilder,
Func<ActiveDirectoryImportWindow> activeDirectoryImportWindowBuilder,
AppUpdater appUpdater,

View File

@@ -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));

View File

@@ -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));

View File

@@ -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));

View File

@@ -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));

View File

@@ -21,11 +21,11 @@ namespace mRemoteNG.Config.Connections
{
public class SqlConnectionsSaver : ISaver<ConnectionTreeModel>
{
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));

View File

@@ -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));

View File

@@ -15,10 +15,10 @@ namespace mRemoteNG.Config.Import
// ReSharper disable once InconsistentNaming
public class MRemoteNGXmlImporter : IConnectionImporter<string>
{
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));

View File

@@ -23,7 +23,7 @@ namespace mRemoteNG.Config.Serializers.Xml
{
public class XmlConnectionsDeserializer : IDeserializer<string, ConnectionTreeModel>
{
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<SecureString> AuthenticationRequestor { get; set; }
public XmlConnectionsDeserializer(ConnectionsService connectionsService, IWin32Window dialogWindowParent, Func<SecureString> authenticationRequestor = null)
public XmlConnectionsDeserializer(IConnectionsService connectionsService, IWin32Window dialogWindowParent, Func<SecureString> authenticationRequestor = null)
{
_connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService));
_dialogWindowParent = dialogWindowParent.ThrowIfNull(nameof(dialogWindowParent));

View File

@@ -18,9 +18,9 @@ namespace mRemoteNG.Config.Serializers
{
public class DataTableDeserializer : IDeserializer<DataTable, ConnectionTreeModel>
{
private readonly ConnectionsService _connectionsService;
private readonly IConnectionsService _connectionsService;
public DataTableDeserializer(ConnectionsService connectionsService)
public DataTableDeserializer(IConnectionsService connectionsService)
{
_connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService));
}

View File

@@ -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));

View File

@@ -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;

View File

@@ -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<ConnectionsLoadedEventArgs> ConnectionsLoaded;
event EventHandler<ConnectionsSavedEventArgs> 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();
}
}

View File

@@ -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));

View File

@@ -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));

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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));

View File

@@ -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));

View File

@@ -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);

View File

@@ -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));

View File

@@ -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<WindowType> 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));

View File

@@ -16,7 +16,7 @@ namespace mRemoteNG.UI.Controls
{
}
public MultiSshToolStrip(ConnectionsService connectionsService)
public MultiSshToolStrip(IConnectionsService connectionsService)
{
InitializeComponent();
_multiSshController = new MultiSSHController(_txtMultiSsh, connectionsService);

View File

@@ -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()
{

View File

@@ -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();

View File

@@ -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));

View File

@@ -15,9 +15,9 @@ namespace mRemoteNG.UI.Forms.OptionsPages
{
private readonly AppUpdater _appUpdate;
private readonly Action<WindowType> _showWindowAction;
private readonly ConnectionsService _connectionsService;
private readonly IConnectionsService _connectionsService;
public UpdatesPage(AppUpdater appUpdate, Action<WindowType> showWindowAction, ConnectionsService connectionsService)
public UpdatesPage(AppUpdater appUpdate, Action<WindowType> showWindowAction, IConnectionsService connectionsService)
{
_appUpdate = appUpdate;
_showWindowAction = showWindowAction.ThrowIfNull(nameof(showWindowAction));

View File

@@ -67,7 +67,7 @@ namespace mRemoteNG.UI.Forms
private readonly Shutdown _shutdown;
private readonly ICredentialRepositoryList _credentialRepositoryList;
private readonly Func<NotificationAreaIcon> _notificationAreaIconBuilder;
private readonly ConnectionsService _connectionsService;
private readonly IConnectionsService _connectionsService;
private readonly Import _import;
private readonly AppUpdater _appUpdater;
private readonly DatabaseConnectorFactory _databaseConnectorFactory;

View File

@@ -19,19 +19,19 @@ namespace mRemoteNG.UI.Forms
private readonly IConnectionInitiator _connectionInitiator;
private readonly Action<WindowType> _showWindowAction;
private readonly Func<NotificationAreaIcon> _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<WindowType> showWindowAction, Func<NotificationAreaIcon> 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<WindowType> showWindowAction, Func<NotificationAreaIcon> 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));

View File

@@ -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()

View File

@@ -13,10 +13,10 @@ namespace mRemoteNG.UI.Window
{
private readonly Func<ConnectionInfo> _getSelectedNodeFunc;
private readonly Import _import;
private readonly ConnectionsService _connectionsService;
private readonly IConnectionsService _connectionsService;
private string _currentDomain;
public ActiveDirectoryImportWindow(Func<ConnectionInfo> getSelectedNodeFunc, Import import, ConnectionsService connectionsService)
public ActiveDirectoryImportWindow(Func<ConnectionInfo> getSelectedNodeFunc, Import import, IConnectionsService connectionsService)
{
_getSelectedNodeFunc = getSelectedNodeFunc;
_connectionsService = connectionsService.ThrowIfNull(nameof(connectionsService));

View File

@@ -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;

View File

@@ -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;

View File

@@ -22,10 +22,10 @@ namespace mRemoteNG.UI.Window
private readonly ExternalToolsService _externalToolsService;
private readonly Func<Optional<ConnectionInfo>> _getCurrentlySelectedConnection;
private readonly IWin32Window _dialogWindowParent;
private readonly ConnectionsService _connectionsService;
private readonly IConnectionsService _connectionsService;
public ExternalToolsWindow(IConnectionInitiator connectionInitiator, ExternalToolsService externalToolsService,
Func<Optional<ConnectionInfo>> getCurrentlySelectedConnection, IWin32Window dialogWindowParent, ConnectionsService connectionsService)
Func<Optional<ConnectionInfo>> getCurrentlySelectedConnection, IWin32Window dialogWindowParent, IConnectionsService connectionsService)
{
_connectionInitiator = connectionInitiator.ThrowIfNull(nameof(connectionInitiator));
_externalToolsService = externalToolsService.ThrowIfNull(nameof(externalToolsService));

View File

@@ -233,6 +233,7 @@
<Compile Include="Connection\DefaultConnectionInfo.cs" />
<Compile Include="Connection\DefaultConnectionInheritance.cs" />
<Compile Include="Connection\IConnectionInitiator.cs" />
<Compile Include="Connection\IConnectionsService.cs" />
<Compile Include="Connection\IInheritable.cs" />
<Compile Include="Connection\IHasParent.cs" />
<Compile Include="Connection\Protocol\Http\Connection.Protocol.HTTPS.CertEvent.cs" />