From b5c7066bde04bde2ecb8cc02e79107b625ed517e Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Mon, 4 Apr 2016 14:37:09 +0200 Subject: [PATCH] Reduce partial methods/classes and streamline API surface across target frameworks * Make Extensions.DebugPrint(this IEnumerable) available on all target frameworks. * Moved the following extension methods from Extensions..cs to Extensions.cs: - IsNullOrWhiteSpace(this string) - CanRead(this Socket) - CanWrite(this Socket) * Removed GetIPAddress(this string) from Extensions.cs, and use DnsAbstraction.GetHostAddresses(string) instead. * Make ForwardedPortRemote(uint boundPort, string host, uint port) and ForwardedPortRemote(string boundHost, uint boundPort, string host, uint port) constructors available on all target frameworks. * Eliminated SendData(IChannelSession channel, string command) partial method from ScpClient.cs. * Make the following methods on SftpClient available on all target frameworks: - SynchronizeDirectories(string, string, string) - BeginSynchronizeDirectories(string, string, string, AsyncCallback, object) - EndSynchronizeDirectories(IAsyncResult) * Make DnsAbstraction.GetHostAddresses(string) available on all target frameworks. * Added SocketAbstraction class. --- .../Common/Extensions.NET35.cs | 2 - .../Renci.SshNet.NET35.csproj | 18 +- .../ChannelDirectTcpip.SilverlightShared.cs | 2 + .../Common/Extensions.SilverlightShared.cs | 36 ---- .../ForwardedPortRemote.SilverlightShared.cs | 16 -- ...eAuthenticationMethod.SilverlightShared.cs | 14 -- ...dAuthenticationMethod.SilverlightShared.cs | 13 -- .../Renci.SshNet.Silverlight.csproj | 26 +-- .../ScpClient.SilverlightShared.cs | 16 -- .../Session.SilverlightShared.cs | 3 +- .../SftpClient.SilverlightShared.cs | 16 -- .../Shell.SilverlightShared.cs | 16 -- .../ShellStream.SilverlightShared.cs | 16 -- .../SshCommand.SilverlightShared.cs | 16 -- .../Renci.SshNet.Silverlight5.csproj | 15 +- .../Renci.SshNet.WindowsPhone.csproj | 41 ++--- .../ForwardedPortLocal.SilverlightShared.cs | 20 --- .../Renci.SshNet.WindowsPhone8.csproj | 21 ++- .../Abstractions/DnsAbstraction.cs | 51 ++++-- .../Abstractions/ReflectionAbstraction.cs | 2 + .../Abstractions/SocketAbstraction.cs | 32 ++++ src/Renci.SshNet/Common/Extensions.NET.cs | 46 ----- src/Renci.SshNet/Common/Extensions.cs | 40 ++++- src/Renci.SshNet/ForwardedPortDynamic.NET.cs | 2 +- src/Renci.SshNet/ForwardedPortLocal.NET.cs | 2 +- src/Renci.SshNet/ForwardedPortRemote.NET.cs | 39 ---- src/Renci.SshNet/ForwardedPortRemote.cs | 31 +++- src/Renci.SshNet/Renci.SshNet.csproj | 8 +- src/Renci.SshNet/ScpClient.NET.cs | 6 - src/Renci.SshNet/ScpClient.cs | 5 +- src/Renci.SshNet/Session.NET.cs | 2 +- src/Renci.SshNet/Session.cs | 4 +- src/Renci.SshNet/SftpClient.NET.cs | 167 ------------------ src/Renci.SshNet/SftpClient.cs | 159 ++++++++++++++++- 34 files changed, 361 insertions(+), 542 deletions(-) delete mode 100644 src/Renci.SshNet.Silverlight/ForwardedPortRemote.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/KeyboardInteractiveAuthenticationMethod.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/PasswordAuthenticationMethod.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/ScpClient.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/SftpClient.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/Shell.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/ShellStream.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.Silverlight/SshCommand.SilverlightShared.cs delete mode 100644 src/Renci.SshNet.WindowsPhone8/ForwardedPortLocal.SilverlightShared.cs create mode 100644 src/Renci.SshNet/Abstractions/SocketAbstraction.cs delete mode 100644 src/Renci.SshNet/Common/Extensions.NET.cs delete mode 100644 src/Renci.SshNet/ForwardedPortRemote.NET.cs delete mode 100644 src/Renci.SshNet/SftpClient.NET.cs diff --git a/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs b/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs index 3fd71b0d..4c1f059a 100644 --- a/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs +++ b/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs @@ -1,6 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Text; using System.Net.Sockets; using System.Threading; diff --git a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj b/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj index 4b07a8bd..e537f1c0 100644 --- a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj +++ b/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - TRACE;DEBUG;TUNING;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER + TRACE;DEBUG;TUNING;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER prompt 4 @@ -26,7 +26,7 @@ none true bin\Release\ - TRACE;TUNING;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER + TRACE;TUNING;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER prompt 4 bin\Release\Renci.SshNet.xml @@ -53,6 +53,9 @@ Abstractions\ReflectionAbstraction.cs + + Abstractions\SocketAbstraction.cs + Abstractions\ThreadAbstraction.cs @@ -161,9 +164,6 @@ Common\Extensions.cs - - Common\Extensions.NET.cs - Common\HostKeyEventArgs.cs @@ -296,9 +296,6 @@ ForwardedPortRemote.cs - - ForwardedPortRemote.NET.cs - HashInfo.cs @@ -749,9 +746,6 @@ SftpClient.cs - - SftpClient.NET.cs - Sftp\Flags.cs @@ -942,7 +936,7 @@ - +