mirror of
https://github.com/winscp/winscp.git
synced 2026-10-24 02:28:55 +03:00
https://winscp.net/tracker/856 ---- @mjkent: Add interfaces to .NET assembly for improved testability This PR extracts interfaces from the main WinSCP .NET assembly classes (Session, SessionOptions, TransferOptions, etc.), enabling: Unit testing - Mock ISession to test code that uses WinSCP without requiring actual SFTP/FTP connections Dependency injection - Register interfaces in DI containers for cleaner architecture Decoupling - Program against abstractions rather than concrete implementations This change should be non-breaking, but I'm new to this project so review and feedback appreciated!
23 lines
574 B
C#
23 lines
574 B
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace WinSCP
|
|
{
|
|
[Guid("FBE2FACF-F1D5-493D-9E41-4B9B7243A676")]
|
|
[ClassInterface(Constants.ClassInterface)]
|
|
[ComVisible(true)]
|
|
public sealed class RemoteDirectoryInfo : IRemoteDirectoryInfo
|
|
{
|
|
public RemoteFileInfoCollection Files { get; private set; }
|
|
|
|
internal RemoteDirectoryInfo()
|
|
{
|
|
Files = new RemoteFileInfoCollection();
|
|
}
|
|
|
|
internal void AddFile(RemoteFileInfo file)
|
|
{
|
|
Files.InternalAdd(file);
|
|
}
|
|
}
|
|
}
|