RaUI/Bin/Debug/CommonControls/.NET4/FluentFTP.xml
zilinsoft b4e236fd55 ### 2025-01-06 星期一更新
------
#### OnLineUpgradeConfig    V1.0.2501.0601
- *.[修复]修复用户管理列表无法默认勾选已选择用户的BUG。
#### RaUI    V4.0.2501.0601
- *.[新增]RyFiles类新增SetFileDate、SetFileCreationTime、SetFileLastWriteTime方法。
- *.[新增]RyFiles.CopyBigFile方法现在会同步来源文件的创建和修改时间。
- *.[新增]ryQuickSQL类新增GetPostData函数,将数据快速转成Post数据。
- *.[改进]执行MySQL下的ExecuteNonQuery时,如果遇到连接关闭错误,允许重连并重新执行。
- *.[改进]IDbInterface在执行新的SQL语句前,自动清空最后错误。
- *.[修复]修复LayeredForm窗体以正常窗体打开的时候,文本框无法编辑的BUG。
- *.[修复]修复ApkOp获取apk权限时可能带乱码的BUG。
- *.[修复]修复WeifenLuo.WinFormsUI.Docking的ResourceManager.GetString路径不对导致报错的BUG。
2025-01-06 11:14:35 +08:00

5547 lines
311 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>FluentFTP</name>
</assembly>
<members>
<member name="T:FluentFTP.FtpClient">
<summary>
FTP Control Connection. Speaks the FTP protocol with the server and
provides facilities for performing transactions.
Debugging problems with FTP transactions is much easier to do when
you can see exactly what is sent to the server and the reply
FluentFTP gets in return. Please review the Debug example
below for information on how to add <see cref="T:System.Diagnostics.TraceListener"/>s for capturing
the conversation between FluentFTP and the server.
</summary>
<example>The following example illustrates how to assist in debugging
FluentFTP by getting a transaction log from the server.
<code source="..\Examples\Debug.cs" lang="cs" />
</example>
<example>The following example demonstrates adding a custom file
listing parser in the event that you encounter a list format
not already supported.
<code source="..\Examples\CustomParser.cs" lang="cs" />
</example>
<example>The following example demonstrates how to validate
a SSL certificate when using SSL/TLS.
<code source="..\Examples\ValidateCertificate.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file.
<code source="..\Examples\OpenRead.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file
using a URI object.
<code source="..\Examples\OpenReadURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file.
<code source="..\Examples\OpenWrite.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file
using a URI object.
<code source="..\Examples\OpenWriteURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file.
<code source="..\Examples\OpenAppend.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file
using a URI object.
<code source="..\Examples\OpenAppendURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to get a file
listing from the server.
<code source="..\Examples\GetListing.cs" lang="cs" />
</example>
<summary>
FTP Control Connection. Speaks the FTP protocol with the server and
provides facilities for performing transactions.
Debugging problems with FTP transactions is much easier to do when
you can see exactly what is sent to the server and the reply
FluentFTP gets in return. Please review the Debug example
below for information on how to add <see cref="T:System.Diagnostics.TraceListener"/>s for capturing
the conversation between FluentFTP and the server.
</summary>
<example>The following example illustrates how to assist in debugging
FluentFTP by getting a transaction log from the server.
<code source="..\Examples\Debug.cs" lang="cs" />
</example>
<example>The following example demonstrates adding a custom file
listing parser in the event that you encounter a list format
not already supported.
<code source="..\Examples\CustomParser.cs" lang="cs" />
</example>
<example>The following example demonstrates how to validate
a SSL certificate when using SSL/TLS.
<code source="..\Examples\ValidateCertificate.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file.
<code source="..\Examples\OpenRead.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file
using a URI object.
<code source="..\Examples\OpenReadURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file.
<code source="..\Examples\OpenWrite.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file
using a URI object.
<code source="..\Examples\OpenWriteURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file.
<code source="..\Examples\OpenAppend.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file
using a URI object.
<code source="..\Examples\OpenAppendURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to get a file
listing from the server.
<code source="..\Examples\GetListing.cs" lang="cs" />
</example>
<summary>
FTP Control Connection. Speaks the FTP protocol with the server and
provides facilities for performing transactions.
Debugging problems with FTP transactions is much easier to do when
you can see exactly what is sent to the server and the reply
FluentFTP gets in return. Please review the Debug example
below for information on how to add <see cref="T:System.Diagnostics.TraceListener"/>s for capturing
the conversation between FluentFTP and the server.
</summary>
<example>The following example illustrates how to assist in debugging
FluentFTP by getting a transaction log from the server.
<code source="..\Examples\Debug.cs" lang="cs" />
</example>
<example>The following example demonstrates adding a custom file
listing parser in the event that you encounter a list format
not already supported.
<code source="..\Examples\CustomParser.cs" lang="cs" />
</example>
<example>The following example demonstrates how to validate
a SSL certificate when using SSL/TLS.
<code source="..\Examples\ValidateCertificate.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file.
<code source="..\Examples\OpenRead.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file
using a URI object.
<code source="..\Examples\OpenReadURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file.
<code source="..\Examples\OpenWrite.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file
using a URI object.
<code source="..\Examples\OpenWriteURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file.
<code source="..\Examples\OpenAppend.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file
using a URI object.
<code source="..\Examples\OpenAppendURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to get a file
listing from the server.
<code source="..\Examples\GetListing.cs" lang="cs" />
</example>
<summary>
FTP Control Connection. Speaks the FTP protocol with the server and
provides facilities for performing transactions.
Debugging problems with FTP transactions is much easier to do when
you can see exactly what is sent to the server and the reply
FluentFTP gets in return. Please review the Debug example
below for information on how to add <see cref="T:System.Diagnostics.TraceListener"/>s for capturing
the conversation between FluentFTP and the server.
</summary>
<example>The following example illustrates how to assist in debugging
FluentFTP by getting a transaction log from the server.
<code source="..\Examples\Debug.cs" lang="cs" />
</example>
<example>The following example demonstrates adding a custom file
listing parser in the event that you encounter a list format
not already supported.
<code source="..\Examples\CustomParser.cs" lang="cs" />
</example>
<example>The following example demonstrates how to validate
a SSL certificate when using SSL/TLS.
<code source="..\Examples\ValidateCertificate.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file.
<code source="..\Examples\OpenRead.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file
using a URI object.
<code source="..\Examples\OpenReadURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file.
<code source="..\Examples\OpenWrite.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file
using a URI object.
<code source="..\Examples\OpenWriteURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file.
<code source="..\Examples\OpenAppend.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file
using a URI object.
<code source="..\Examples\OpenAppendURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to get a file
listing from the server.
<code source="..\Examples\GetListing.cs" lang="cs" />
</example>
<summary>
FTP Control Connection. Speaks the FTP protocol with the server and
provides facilities for performing transactions.
Debugging problems with FTP transactions is much easier to do when
you can see exactly what is sent to the server and the reply
FluentFTP gets in return. Please review the Debug example
below for information on how to add <see cref="T:System.Diagnostics.TraceListener"/>s for capturing
the conversation between FluentFTP and the server.
</summary>
<example>The following example illustrates how to assist in debugging
FluentFTP by getting a transaction log from the server.
<code source="..\Examples\Debug.cs" lang="cs" />
</example>
<example>The following example demonstrates adding a custom file
listing parser in the event that you encounter a list format
not already supported.
<code source="..\Examples\CustomParser.cs" lang="cs" />
</example>
<example>The following example demonstrates how to validate
a SSL certificate when using SSL/TLS.
<code source="..\Examples\ValidateCertificate.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file.
<code source="..\Examples\OpenRead.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file
using a URI object.
<code source="..\Examples\OpenReadURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file.
<code source="..\Examples\OpenWrite.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file
using a URI object.
<code source="..\Examples\OpenWriteURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file.
<code source="..\Examples\OpenAppend.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file
using a URI object.
<code source="..\Examples\OpenAppendURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to get a file
listing from the server.
<code source="..\Examples\GetListing.cs" lang="cs" />
</example>
<summary>
FTP Control Connection. Speaks the FTP protocol with the server and
provides facilities for performing transactions.
Debugging problems with FTP transactions is much easier to do when
you can see exactly what is sent to the server and the reply
FluentFTP gets in return. Please review the Debug example
below for information on how to add <see cref="T:System.Diagnostics.TraceListener"/>s for capturing
the conversation between FluentFTP and the server.
</summary>
<example>The following example illustrates how to assist in debugging
FluentFTP by getting a transaction log from the server.
<code source="..\Examples\Debug.cs" lang="cs" />
</example>
<example>The following example demonstrates adding a custom file
listing parser in the event that you encounter a list format
not already supported.
<code source="..\Examples\CustomParser.cs" lang="cs" />
</example>
<example>The following example demonstrates how to validate
a SSL certificate when using SSL/TLS.
<code source="..\Examples\ValidateCertificate.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file.
<code source="..\Examples\OpenRead.cs" lang="cs" />
</example>
<example>The following example demonstrates how to download a file
using a URI object.
<code source="..\Examples\OpenReadURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file.
<code source="..\Examples\OpenWrite.cs" lang="cs" />
</example>
<example>The following example demonstrates how to upload a file
using a URI object.
<code source="..\Examples\OpenWriteURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file.
<code source="..\Examples\OpenAppend.cs" lang="cs" />
</example>
<example>The following example demonstrates how to append to a file
using a URI object.
<code source="..\Examples\OpenAppendURI.cs" lang="cs" />
</example>
<example>The following example demonstrates how to get a file
listing from the server.
<code source="..\Examples\GetListing.cs" lang="cs" />
</example>
</member>
<member name="F:FluentFTP.FtpClient.m_lock">
<summary>
Used for internally synchronizing access to this
object from multiple threads
</summary>
</member>
<member name="P:FluentFTP.FtpClient.Lock">
<summary>
For usage by FTP proxies only
</summary>
</member>
<member name="F:FluentFTP.FtpClient.m_asyncmethods">
<summary>
A list of asynchronous methods that are in progress
</summary>
</member>
<member name="F:FluentFTP.FtpClient.m_stream">
<summary>
Control connection socket stream
</summary>
</member>
<member name="P:FluentFTP.FtpClient.IsDisposed">
<summary>
Gets a value indicating if this object has already been disposed.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.BaseStream">
<summary>
Gets the base stream for talking to the server via
the control connection.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.InternetProtocolVersions">
<summary>
Flags specifying which versions of the internet protocol to
support when making a connection. All addresses returned during
name resolution are tried until a successful connection is made.
You can fine tune which versions of the internet protocol to use
by adding or removing flags here. I.e., setting this property
to FtpIpVersion.IPv4 will cause the connection process to
ignore IPv6 addresses. The default value is ANY version.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.SocketPollInterval">
<summary>
Gets or sets the length of time in milliseconds
that must pass since the last socket activity
before calling <see cref="M:System.Net.Sockets.Socket.Poll(System.Int32,System.Net.Sockets.SelectMode)"/>
on the socket to test for connectivity.
Setting this interval too low will
have a negative impact on performance. Setting this
interval to 0 disables Polling all together.
The default value is 15 seconds.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.StaleDataCheck">
<summary>
Gets or sets a value indicating whether a test should be performed to
see if there is stale (unrequested data) sitting on the socket. In some
cases the control connection may time out but before the server closes
the connection it might send a 4xx response that was unexpected and
can cause synchronization errors with transactions. To avoid this
problem the <see cref="o:Execute"/> method checks to see if there is any data
available on the socket before executing a command. On Azure hosting
platforms this check can cause an exception to be thrown. In order
to work around the exception you can set this property to false
which will skip the test entirely however doing so eliminates the
best effort attempt of detecting such scenarios. See this thread
for more details about the Azure problem:
https://netftp.codeplex.com/discussions/535879
</summary>
</member>
<member name="P:FluentFTP.FtpClient.IsConnected">
<summary>
Gets a value indicating if the connection is alive
</summary>
</member>
<member name="P:FluentFTP.FtpClient.EnableThreadSafeDataConnections">
<summary>
When this value is set to true (default) the control connection
is cloned and a new connection the server is established for the
data channel operation. This is a thread safe approach to make
asynchronous operations on a single control connection transparent
to the developer.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.IsClone">
<summary>
Gets a value indicating if this control connection is a clone. This property
is used with data streams to determine if the connection should be closed
when the stream is closed. Servers typically only allow 1 data connection
per control connection. If you try to open multiple data connections this
object will be cloned for 2 or more resulting in N new connections to the
server.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.Encoding">
<summary>
Gets or sets the text encoding being used when talking with the server. The default
value is <see cref="P:System.Text.Encoding.ASCII"/> however upon connection, the client checks
for UTF8 support and if it's there this property is switched over to
<see cref="P:System.Text.Encoding.UTF8"/>. Manually setting this value overrides automatic detection
based on the FEAT list; if you change this value it's always used
regardless of what the server advertises, if anything.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.Host">
<summary>
The server to connect to
</summary>
</member>
<member name="P:FluentFTP.FtpClient.Port">
<summary>
The port to connect to. If this value is set to 0 (Default) the port used
will be determined by the type of SSL used or if no SSL is to be used it
will automatically connect to port 21.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.Credentials">
<summary>
Credentials used for authentication
</summary>
</member>
<member name="P:FluentFTP.FtpClient.MaximumDereferenceCount">
<summary>
Gets or sets a value that controls the maximum depth
of recursion that <see cref="o:DereferenceLink"/> will follow symbolic
links before giving up. You can also specify the value
to be used as one of the overloaded parameters to the
<see cref="o:DereferenceLink"/> method. The default value is 20. Specifying
-1 here means indefinitely try to resolve a link. This is
not recommended for obvious reasons (stack overflow).
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ClientCertificates">
<summary>
Client certificates to be used in SSL authentication process
</summary>
</member>
<member name="P:FluentFTP.FtpClient.AddressResolver">
<summary>
Delegate used for resolving local address, used for active data connections
This can be used in case you're behind a router, but port forwarding is configured to forward the
ports from your router to your internal IP. In that case, we need to send the router's IP instead of our internal IP.
See example: FtpClient.GetPublicIP -> This uses Ipify api to find external IP
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ActivePorts">
<summary>
Ports used for Active Data Connection
</summary>
</member>
<member name="P:FluentFTP.FtpClient.DataConnectionType">
<summary>
Data connection type, default is AutoPassive which tries
a connection with EPSV first and if it fails then tries
PASV before giving up. If you know exactly which kind of
connection you need you can slightly increase performance
by defining a specific type of passive or active data
connection here.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.UngracefullDisconnection">
<summary>
Disconnect from the server without sending QUIT. This helps
work around IOExceptions caused by buggy connection resets
when closing the control connection.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ConnectTimeout">
<summary>
Gets or sets the length of time in milliseconds to wait for a connection
attempt to succeed before giving up. Default is 15000 (15 seconds).
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ReadTimeout">
<summary>
Gets or sets the length of time wait in milliseconds for data to be
read from the underlying stream. The default value is 15000 (15 seconds).
</summary>
</member>
<member name="P:FluentFTP.FtpClient.DataConnectionConnectTimeout">
<summary>
Gets or sets the length of time in milliseconds for a data connection
to be established before giving up. Default is 15000 (15 seconds).
</summary>
</member>
<member name="P:FluentFTP.FtpClient.DataConnectionReadTimeout">
<summary>
Gets or sets the length of time in milliseconds the data channel
should wait for the server to send data. Default value is
15000 (15 seconds).
</summary>
</member>
<member name="P:FluentFTP.FtpClient.SocketKeepAlive">
<summary>
Gets or sets a value indicating if <see cref="F:System.Net.Sockets.SocketOptionName.KeepAlive"/> should be set on
the underlying stream's socket. If the connection is alive, the option is
adjusted in real-time. The value is stored and the KeepAlive option is set
accordingly upon any new connections. The value set here is also applied to
all future data streams. It has no affect on cloned control connections or
data connections already in progress. The default value is false.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.Capabilities">
<summary>
Gets the server capabilities represented by flags
</summary>
</member>
<member name="P:FluentFTP.FtpClient.HashAlgorithms">
<summary>
Get the hash types supported by the server, if any. This
is a recent extension to the protocol that is not fully
standardized and is not guaranteed to work. See here for
more details:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</summary>
</member>
<member name="P:FluentFTP.FtpClient.EncryptionMode">
<summary>
Type of SSL to use, or none. Default is none. Explicit is TLS, Implicit is SSL.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.DataConnectionEncryption">
<summary>
Indicates if data channel transfers should be encrypted. Only valid if <see cref="P:FluentFTP.FtpClient.EncryptionMode"/>
property is not equal to <see cref="F:FluentFTP.FtpEncryptionMode.None"/>.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.PlainTextEncryption">
<summary>
Indicates if the encryption should be disabled immediately after connecting using a CCC command.
This is useful when you have a FTP firewall that requires plaintext FTP, but your server mandates FTPS connections.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.SslProtocols">
<summary>
Encryption protocols to use. Only valid if EncryptionMode property is not equal to <see cref="F:FluentFTP.FtpEncryptionMode.None"/>.
Default value is .NET Framework defaults from the <see cref="T:System.Net.Security.SslStream"/> class.
</summary>
</member>
<member name="E:FluentFTP.FtpClient.ValidateCertificate">
<summary>
Event is fired to validate SSL certificates. If this event is
not handled and there are errors validating the certificate
the connection will be aborted.
</summary>
<example><code source="..\Examples\ValidateCertificate.cs" lang="cs" /></example>
</member>
<member name="P:FluentFTP.FtpClient.SystemType">
<summary>
Gets the type of system/server that we're connected to. Typically begins with "WINDOWS" or "UNIX".
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ServerType">
<summary>
Gets the type of the FTP server software that we're connected to.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ConnectionType">
<summary> Gets the connection type </summary>
</member>
<member name="P:FluentFTP.FtpClient.LastReply">
<summary> Gets the last reply recieved from the server</summary>
</member>
<member name="M:FluentFTP.FtpClient.#ctor">
<summary>
Creates a new instance of an FTP Client.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.#ctor(System.String)">
<summary>
Creates a new instance of an FTP Client, with the given host.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.#ctor(System.String,System.Net.NetworkCredential)">
<summary>
Creates a new instance of an FTP Client, with the given host and credentials.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.#ctor(System.String,System.Int32,System.Net.NetworkCredential)">
<summary>
Creates a new instance of an FTP Client, with the given host, port and credentials.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.#ctor(System.String,System.String,System.String)">
<summary>
Creates a new instance of an FTP Client, with the given host, username and password.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.#ctor(System.String,System.Int32,System.String,System.String)">
<summary>
Creates a new instance of an FTP Client, with the given host, port, username and password.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Create">
<summary>
Creates a new instance of this class. Useful in FTP proxy classes.
</summary>
<returns></returns>
</member>
<member name="M:FluentFTP.FtpClient.Dispose">
<summary>
Disconnects from the server, releases resources held by this
object.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Finalize">
<summary>
Finalizer
</summary>
</member>
<member name="M:FluentFTP.FtpClient.CloneConnection">
<summary>
Clones the control connection for opening multiple data streams
</summary>
<returns>A new control connection with the same property settings as this one</returns>
<example><code source="..\Examples\CloneConnection.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.Execute(System.String)">
<summary>
Executes a command
</summary>
<param name="command">The command to execute</param>
<returns>The servers reply to the command</returns>
<example><code source="..\Examples\Execute.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginExecute(System.String,System.AsyncCallback,System.Object)">
<summary>
Performs execution of the specified command asynchronously
</summary>
<param name="command">The command to execute</param>
<param name="callback">The <see cref="T:System.AsyncCallback"/> method</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginExecute.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndExecute(System.IAsyncResult)">
<summary>
Ends an asynchronous command
</summary>
<param name="ar">IAsyncResult returned from BeginExecute</param>
<returns>FtpReply object (never null).</returns>
<example><code source="..\Examples\BeginExecute.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.ExecuteAsync(System.String)">
<summary>
Performs an asynchronous execution of the specified command
</summary>
<param name="command">The command to execute</param>
<returns>The servers reply to the command</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetReply">
<summary>
Retrieves a reply from the server. Do not execute this method
unless you are sure that a reply has been sent, i.e., you
executed a command. Doing so will cause the code to hang
indefinitely waiting for a server reply that is never coming.
</summary>
<returns>FtpReply representing the response from the server</returns>
<example><code source="..\Examples\BeginGetReply.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetReplyAsync">
<summary>
Retrieves a reply from the server. Do not execute this method
unless you are sure that a reply has been sent, i.e., you
executed a command. Doing so will cause the code to hang
indefinitely waiting for a server reply that is never coming.
</summary>
<returns>FtpReply representing the response from the server</returns>
<example><code source="..\Examples\BeginGetReply.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.Connect">
<summary>
Connect to the server
</summary>
<exception cref="T:System.ObjectDisposedException">Thrown if this object has been disposed.</exception>
<example><code source="..\Examples\Connect.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.ConnectAsync">
<summary>
Connect to the server
</summary>
<exception cref="T:System.ObjectDisposedException">Thrown if this object has been disposed.</exception>
<example><code source="..\Examples\Connect.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.Connect(FluentFTP.FtpSocketStream)">
<summary>
Connect to the FTP server. Overwritten in proxy classes.
</summary>
<param name="stream"></param>
</member>
<member name="M:FluentFTP.FtpClient.ConnectAsync(FluentFTP.FtpSocketStream)">
<summary>
Connect to the FTP server. Overwritten in proxy classes.
</summary>
<param name="stream"></param>
</member>
<member name="M:FluentFTP.FtpClient.Connect(FluentFTP.FtpSocketStream,System.String,System.Int32,FluentFTP.FtpIpVersion)">
<summary>
Connect to the FTP server. Overwritten in proxy classes.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.ConnectAsync(FluentFTP.FtpSocketStream,System.String,System.Int32,FluentFTP.FtpIpVersion)">
<summary>
Connect to the FTP server. Overwritten in proxy classes.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Handshake">
<summary>
Called during Connect(). Typically extended by FTP proxies.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.HandshakeAsync">
<summary>
Called during <see cref="M:FluentFTP.FtpClient.ConnectAsync"/>. Typically extended by FTP proxies.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.GetFeatures(FluentFTP.FtpReply)">
<summary>
Populates the capabilities flags based on capabilities
supported by this server. This method is overridable
so that new features can be supported
</summary>
<param name="reply">The reply object from the FEAT command. The InfoMessages property will
contain a list of the features the server supported delimited by a new line '\n' character.</param>
</member>
<member name="M:FluentFTP.FtpClient.BeginConnect(System.AsyncCallback,System.Object)">
<summary>
Initiates a connection to the server
</summary>
<param name="callback">AsyncCallback method</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginConnect.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndConnect(System.IAsyncResult)">
<summary>
Ends an asynchronous connection attempt to the server from <see cref="M:FluentFTP.FtpClient.BeginConnect(System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar"><see cref="T:System.IAsyncResult"/> returned from <see cref="M:FluentFTP.FtpClient.BeginConnect(System.AsyncCallback,System.Object)"/></param>
<example><code source="..\Examples\BeginConnect.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DetectFtpServer">
<summary>
Detect the FTP Server based on the welcome message sent by the server after getting the 220 connection command.
Its the primary method.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.DetectFtpServerBySyst">
<summary>
Detect the FTP Server based on the response to the SYST connection command.
Its a fallback method if the server did not send an identifying welcome message.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Authenticate">
<summary>
Performs a login on the server. This method is overridable so
that the login procedure can be changed to support, for example,
a FTP proxy.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.AuthenticateAsync">
<summary>
Performs a login on the server. This method is overridable so
that the login procedure can be changed to support, for example,
a FTP proxy.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Authenticate(System.String,System.String)">
<summary>
Performs a login on the server. This method is overridable so
that the login procedure can be changed to support, for example,
a FTP proxy.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.AuthenticateAsync(System.String,System.String)">
<summary>
Performs a login on the server. This method is overridable so
that the login procedure can be changed to support, for example,
a FTP proxy.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Disconnect">
<summary>
Disconnects from the server
</summary>
</member>
<member name="M:FluentFTP.FtpClient.BeginDisconnect(System.AsyncCallback,System.Object)">
<summary>
Initiates a disconnection on the server
</summary>
<param name="callback"><see cref="T:System.AsyncCallback"/> method</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginDisconnect.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndDisconnect(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginDisconnect(System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar"><see cref="T:System.IAsyncResult"/> returned from <see cref="M:FluentFTP.FtpClient.BeginDisconnect(System.AsyncCallback,System.Object)"/></param>
<example><code source="..\Examples\BeginConnect.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DisconnectAsync">
<summary>
Disconnects from the server asynchronously
</summary>
</member>
<member name="M:FluentFTP.FtpClient.FireValidateCertficate(FluentFTP.FtpSocketStream,FluentFTP.FtpSslValidationEventArgs)">
<summary>
Catches the socket stream ssl validation event and fires the event handlers
attached to this object for validating SSL certificates
</summary>
<param name="stream">The stream that fired the event</param>
<param name="e">The event args used to validate the certificate</param>
</member>
<member name="M:FluentFTP.FtpClient.OnValidateCertficate(FluentFTP.FtpSslValidationEventArgs)">
<summary>
Fires the SSL validation event
</summary>
<param name="e">Event Args</param>
</member>
<member name="M:FluentFTP.FtpClient.HasFeature(FluentFTP.FtpCapability)">
<summary>
Performs a bitwise and to check if the specified
flag is set on the <see cref="P:FluentFTP.FtpClient.Capabilities"/> property.
</summary>
<param name="cap">The <see cref="T:FluentFTP.FtpCapability"/> to check for</param>
<returns>True if the feature was found, false otherwise</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetAsyncDelegate``1(System.IAsyncResult)">
<summary>
Retrieves the delegate for the specified IAsyncResult and removes
it from the m_asyncmethods collection if the operation is successful
</summary>
<typeparam name="T">Type of delegate to retrieve</typeparam>
<param name="ar">The IAsyncResult to retrieve the delegate for</param>
<returns>The delegate that generated the specified IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetAbsolutePath(System.String)">
<summary>
Ensure a relative path is absolute by appending the working dir
</summary>
</member>
<member name="M:FluentFTP.FtpClient.GetAbsolutePathAsync(System.String)">
<summary>
Ensure a relative path is absolute by appending the working dir
</summary>
</member>
<member name="M:FluentFTP.FtpClient.DisableUTF8">
<summary>
Disables UTF8 support and changes the Encoding property
back to ASCII. If the server returns an error when trying
to turn UTF8 off a FtpCommandException will be thrown.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.ReadStaleData(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Data shouldn't be on the socket, if it is it probably
means we've been disconnected. Read and discard
whatever is there and close the connection (optional).
</summary>
<param name="closeStream">close the connection?</param>
<param name="evenEncrypted">even read encrypted data?</param>
<param name="traceData">trace data to logs?</param>
</member>
<member name="M:FluentFTP.FtpClient.ReadStaleDataAsync(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Data shouldn't be on the socket, if it is it probably
means we've been disconnected. Read and discard
whatever is there and close the connection (optional).
</summary>
<param name="closeStream">close the connection?</param>
<param name="evenEncrypted">even read encrypted data?</param>
<param name="traceData">trace data to logs?</param>
</member>
<member name="M:FluentFTP.FtpClient.CalcChmod(FluentFTP.FtpPermission,FluentFTP.FtpPermission,FluentFTP.FtpPermission)">
<summary>
Calculate the CHMOD integer value given a set of permissions.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.Connect(System.Uri,System.Boolean)">
<summary>
Connects to the specified URI. If the path specified by the URI ends with a
/ then the working directory is changed to the path specified.
</summary>
<param name="uri">The URI to parse</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<returns>FtpClient object</returns>
</member>
<member name="M:FluentFTP.FtpClient.Connect(System.Uri)">
<summary>
Connects to the specified URI. If the path specified by the URI ends with a
/ then the working directory is changed to the path specified.
</summary>
<param name="uri">The URI to parse</param>
<returns>FtpClient object</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.Uri,System.Boolean,FluentFTP.FtpDataType,System.Int64)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<param name="datatype">ASCII/Binary mode</param>
<param name="restart">Restart location</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenReadURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.Uri,System.Boolean,FluentFTP.FtpDataType)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<param name="datatype">ASCII/Binary mode</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenReadURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.Uri,System.Boolean)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenReadURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.Uri)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenReadURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenWrite(System.Uri,System.Boolean,FluentFTP.FtpDataType)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<param name="datatype">ASCII/Binary mode</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenWriteURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenWrite(System.Uri,System.Boolean)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenWriteURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenWrite(System.Uri)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenWriteURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppend(System.Uri,System.Boolean,FluentFTP.FtpDataType)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<param name="datatype">ASCII/Binary mode</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenAppendURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppend(System.Uri,System.Boolean)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<param name="checkcertificate">Indicates if a ssl certificate should be validated when using FTPS schemes</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenAppendURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppend(System.Uri)">
<summary>
Opens a stream to the file specified by the URI
</summary>
<param name="uri">FTP/FTPS URI pointing at a file</param>
<returns>Stream object</returns>
<example><code source="..\Examples\OpenAppendURI.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetPublicIP">
<summary>
Calculate you public internet IP using the ipify service. Returns null if cannot be calculated.
</summary>
<returns>Public IP Address</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetHashAlgorithm">
<summary>
Gets the currently selected hash algorithm for the HASH command.
</summary>
<remarks>
This feature is experimental. See this link for details:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<returns>The <see cref="T:FluentFTP.FtpHashAlgorithm"/> flag or <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/> if there was a problem.</returns>
<example><code source="..\Examples\GetHashAlgorithm.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetHashAlgorithm(System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get the currently selected hash algorithm for the HASH command.
</summary>
<remarks>
This feature is experimental. See this link for details:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetHashAlgorithm(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginGetHashAlgorithm(System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetHashAlgorithm(System.AsyncCallback,System.Object)"/></param>
<returns>The <see cref="T:FluentFTP.FtpHashAlgorithm"/> flag or <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/> if there was a problem.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetHashAlgorithmAsync">
<summary>
Gets the currently selected hash algorithm for the HASH command asynchronously.
</summary>
<remarks>
This feature is experimental. See this link for details:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<returns>The <see cref="T:FluentFTP.FtpHashAlgorithm"/> flag or <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/> if there was a problem.</returns>
</member>
<member name="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)">
<summary>
Sets the hash algorithm on the server to use for the HASH command.
</summary>
<remarks>
If you specify an algorithm not listed in <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/>
a <see cref="T:System.NotImplementedException"/> will be thrown
so be sure to query that list of Flags before
selecting a hash algorithm. Support for the
HASH command is experimental. Please see
the following link for more details:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<param name="type">Hash Algorithm</param>
<exception cref="T:System.NotImplementedException">Thrown if the selected algorithm is not available on the server</exception>
<example><code source="..\Examples\SetHashAlgorithm.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginSetHashAlgorithm(FluentFTP.FtpHashAlgorithm,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to set the hash algorithm on the server to use for the HASH command.
</summary>
<remarks>
If you specify an algorithm not listed in <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/>
a <see cref="T:System.NotImplementedException"/> will be thrown
so be sure to query that list of Flags before
selecting a hash algorithm. Support for the
HASH command is experimental. Please see
the following link for more details:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<param name="type">Hash algorithm to use</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndSetHashAlgorithm(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginSetHashAlgorithm(FluentFTP.FtpHashAlgorithm,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginSetHashAlgorithm(FluentFTP.FtpHashAlgorithm,System.AsyncCallback,System.Object)"/></param>
</member>
<member name="M:FluentFTP.FtpClient.SetHashAlgorithmAsync(FluentFTP.FtpHashAlgorithm)">
<summary>
Sets the hash algorithm on the server to be used with the HASH command asynchronously.
</summary>
<param name="type">Hash algorithm to use</param>
<exception cref="T:System.NotImplementedException">Thrown if the selected algorithm is not available on the server</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetHash(System.String)">
<summary>
Gets the hash of an object on the server using the currently selected hash algorithm.
</summary>
<remarks>
Supported algorithms, if any, are available in the <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/>
property. You should confirm that it's not equal
to <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/> before calling this method
otherwise the server trigger a <see cref="T:FluentFTP.FtpCommandException"/>
due to a lack of support for the HASH command. You can
set the algorithm using the <see cref="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)"/> method and
you can query the server for the current hash algorithm
using the <see cref="M:FluentFTP.FtpClient.GetHashAlgorithm"/> method.
This feature is experimental and based on the following draft:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<param name="path">Full or relative path of the object to compute the hash for.</param>
<returns>The hash of the file.</returns>
<exception cref="T:FluentFTP.FtpCommandException">
Thrown if the <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/> property is <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/>,
the remote path does not exist, or the command cannot be executed.
</exception>
<exception cref="T:System.ArgumentException">Path argument is null</exception>
<exception cref="T:System.NotImplementedException">Thrown when an unknown hash algorithm type is returned by the server</exception>
<example><code source="..\Examples\GetHash.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetHash(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get the hash of an object on the server using the currently selected hash algorithm.
</summary>
<remarks>
Supported algorithms, if any, are available in the <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/>
property. You should confirm that it's not equal
to <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/> before calling this method
otherwise the server trigger a <see cref="T:FluentFTP.FtpCommandException"/>
due to a lack of support for the HASH command. You can
set the algorithm using the <see cref="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)"/> method and
you can query the server for the current hash algorithm
using the <see cref="M:FluentFTP.FtpClient.GetHashAlgorithm"/> method.
This feature is experimental and based on the following draft:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<param name="path">The file you want the server to compute the hash for</param>
<param name="callback">AsyncCallback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetHash(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetHash(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetHash(System.String,System.AsyncCallback,System.Object)"/></param>
</member>
<member name="M:FluentFTP.FtpClient.GetHashAsync(System.String)">
<summary>
Gets the hash of an object on the server using the currently selected hash algorithm asynchronously.
</summary>
<remarks>
Supported algorithms, if any, are available in the <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/>
property. You should confirm that it's not equal
to <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/> before calling this method
otherwise the server trigger a <see cref="T:FluentFTP.FtpCommandException"/>
due to a lack of support for the HASH command. You can
set the algorithm using the <see cref="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)"/> method and
you can query the server for the current hash algorithm
using the <see cref="M:FluentFTP.FtpClient.GetHashAlgorithm"/> method.
This feature is experimental and based on the following draft:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</remarks>
<param name="path">The file you want the server to compute the hash for</param>
<exception cref="T:FluentFTP.FtpCommandException">
Thrown if the <see cref="P:FluentFTP.FtpClient.HashAlgorithms"/> property is <see cref="F:FluentFTP.FtpHashAlgorithm.NONE"/>,
the remote path does not exist, or the command cannot be executed.
</exception>
<exception cref="T:System.ArgumentException">Path argument is null</exception>
<exception cref="T:System.NotImplementedException">Thrown when an unknown hash algorithm type is returned by the server</exception>
<returns>The hash of the file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetChecksum(System.String)">
<summary>
Retrieves a checksum of the given file using a checksum method that the server supports, if any.
</summary>
<remarks>
The algorithm used goes in this order:
1. HASH command; server preferred algorithm. See <see cref="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)"/>
2. MD5 / XMD5 commands
3. XSHA1 command
4. XSHA256 command
5. XSHA512 command
6. XCRC command
</remarks>
<param name="path">Full or relative path of the file to checksum</param>
<returns><see cref="T:FluentFTP.FtpHash"/> object containing the value and algorithm. Use the <see cref="P:FluentFTP.FtpHash.IsValid"/> property to
determine if this command was successful. <see cref="T:FluentFTP.FtpCommandException"/>s can be thrown from
the underlying calls.</returns>
<example><code source="..\Examples\GetChecksum.cs" lang="cs" /></example>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetChecksum(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a checksum of the given file using a checksum method that the server supports, if any.
</summary>
<remarks>
The algorithm used goes in this order:
1. HASH command; server preferred algorithm. See <see cref="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)"/>
2. MD5 / XMD5 commands
3. XSHA1 command
4. XSHA256 command
5. XSHA512 command
6. XCRC command
</remarks>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetChecksum(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetChecksum(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetChecksum(System.String,System.AsyncCallback,System.Object)"/></param>
<returns><see cref="T:FluentFTP.FtpHash"/> object containing the value and algorithm. Use the <see cref="P:FluentFTP.FtpHash.IsValid"/> property to
determine if this command was successful. <see cref="T:FluentFTP.FtpCommandException"/>s can be thrown from
the underlying calls.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetChecksumAsync(System.String)">
<summary>
Retrieves a checksum of the given file using a checksum method that the server supports, if any.
</summary>
<remarks>
The algorithm used goes in this order:
1. HASH command; server preferred algorithm. See <see cref="M:FluentFTP.FtpClient.SetHashAlgorithm(FluentFTP.FtpHashAlgorithm)"/>
2. MD5 / XMD5 commands
3. XSHA1 command
4. XSHA256 command
5. XSHA512 command
6. XCRC command
</remarks>
<param name="path">Full or relative path of the file to checksum</param>
<returns><see cref="T:FluentFTP.FtpHash"/> object containing the value and algorithm. Use the <see cref="P:FluentFTP.FtpHash.IsValid"/> property to
determine if this command was successful. <see cref="T:FluentFTP.FtpCommandException"/>s can be thrown from
the underlying calls.</returns>
<example><code source="..\Examples\GetChecksum.cs" lang="cs" /></example>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetMD5(System.String)">
<summary>
Gets the MD5 hash of the specified file using MD5. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the MD5 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetMD5(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a MD5 hash. The MD5 command is non-standard
and not guaranteed to work.
</summary>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetMD5(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetMD5(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetMD5(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The MD5 hash of the specified file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetMD5Async(System.String)">
<summary>
Gets the MD5 hash of the specified file using MD5 asynchronously. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the MD5 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetXCRC(System.String)">
<summary>
Get the CRC value of the specified file. This is a non-standard extension of the protocol
and may throw a FtpCommandException if the server does not support it.
</summary>
<param name="path">The path of the file you'd like the server to compute the CRC value for.</param>
<returns>The response from the server, typically the XCRC value. FtpCommandException thrown on error</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetXCRC(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a CRC hash. The XCRC command is non-standard
and not guaranteed to work.
</summary>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetXCRC(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetXCRC(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetXCRC(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The CRC hash of the specified file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetXCRCAsync(System.String)">
<summary>
Gets the CRC hash of the specified file using XCRC asynchronously. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the CRC hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetXMD5(System.String)">
<summary>
Gets the MD5 hash of the specified file using XMD5. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the MD5 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetXMD5(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a XMD5 hash. The XMD5 command is non-standard
and not guaranteed to work.
</summary>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetXMD5(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetXMD5(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetXMD5(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The MD5 hash of the specified file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetXMD5Async(System.String)">
<summary>
Gets the MD5 hash of the specified file using XMD5 asynchronously. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the MD5 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetXSHA1(System.String)">
<summary>
Gets the SHA-1 hash of the specified file using XSHA1. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the SHA-1 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetXSHA1(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a SHA1 hash. The XSHA1 command is non-standard
and not guaranteed to work.
</summary>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetXSHA1(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetXSHA1(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetXSHA1(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The SHA-1 hash of the specified file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetXSHA1Async(System.String)">
<summary>
Gets the SHA-1 hash of the specified file using XSHA1 asynchronously. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the SHA-1 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetXSHA256(System.String)">
<summary>
Gets the SHA-256 hash of the specified file using XSHA256. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the SHA-256 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetXSHA256(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a SHA256 hash. The XSHA256 command is non-standard
and not guaranteed to work.
</summary>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetXSHA256(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetXSHA256(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetXSHA256(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The SHA-256 hash of the specified file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetXSHA256Async(System.String)">
<summary>
Gets the SHA-256 hash of the specified file using XSHA256 asynchronously. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the SHA-256 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.GetXSHA512(System.String)">
<summary>
Gets the SHA-512 hash of the specified file using XSHA512. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the SHA-512 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetXSHA512(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve a SHA512 hash. The XSHA512 command is non-standard
and not guaranteed to work.
</summary>
<param name="path">Full or relative path to remote file</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetXSHA512(System.IAsyncResult)">
<summary>
Ends an asynchronous call to <see cref="M:FluentFTP.FtpClient.BeginGetXSHA512(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetXSHA512(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The SHA-512 hash of the specified file.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetXSHA512Async(System.String)">
<summary>
Gets the SHA-512 hash of the specified file using XSHA512 asynchronously. This is a non-standard extension
to the protocol and may or may not work. A FtpCommandException will be
thrown if the command fails.
</summary>
<param name="path">Full or relative path to remote file</param>
<returns>Server response, presumably the SHA-512 hash.</returns>
<exception cref="T:FluentFTP.FtpCommandException">The command fails</exception>
</member>
<member name="P:FluentFTP.FtpClient.TransferChunkSize">
<summary>
Gets or sets the number of bytes transferred in a single chunk (a single FTP command).
Used by <see cref="o:UploadFile"/>/<see cref="o:UploadFileAsync"/> and <see cref="o:DownloadFile"/>/<see cref="o:DownloadFileAsync"/>
to transfer large files in multiple chunks.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.RetryAttempts">
<summary>
Gets or sets the retry attempts allowed when a verification failure occurs during download or upload.
This value must be set to 1 or more.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.UploadRateLimit">
<summary>
Rate limit for uploads in kbyte/s. Set this to 0 for unlimited speed.
Honored by high-level API such as Upload(), Download(), UploadFile(), DownloadFile()..
</summary>
</member>
<member name="P:FluentFTP.FtpClient.DownloadRateLimit">
<summary>
Rate limit for downloads in kbytes/s. Set this to 0 for unlimited speed.
Honored by high-level API such as Upload(), Download(), UploadFile(), DownloadFile()..
</summary>
</member>
<member name="P:FluentFTP.FtpClient.UploadDataType">
<summary>
Controls if the high-level API uploads files in Binary or ASCII mode.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.DownloadDataType">
<summary>
Controls if the high-level API downloads files in Binary or ASCII mode.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.UploadFiles(System.Collections.Generic.IEnumerable{System.String},System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError)">
<summary>
Uploads the given file paths to a single folder on the server.
All files are placed directly into the given folder regardless of their path on the local filesystem.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
Faster than uploading single files with <see cref="o:UploadFile"/> since it performs a single "file exists" check rather than one check per file.
</summary>
<param name="localPaths">The full or relative paths to the files on the local file system. Files can be from multiple folders.</param>
<param name="remoteDir">The full or relative path to the directory that files will be uploaded on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance,
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<returns>The count of how many files were uploaded successfully. Affected when files are skipped when they already exist.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.UploadFiles(System.Collections.Generic.IEnumerable{System.IO.FileInfo},System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError)">
<summary>
Uploads the given file paths to a single folder on the server.
All files are placed directly into the given folder regardless of their path on the local filesystem.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
Faster than uploading single files with <see cref="o:UploadFile"/> since it performs a single "file exists" check rather than one check per file.
</summary>
<param name="localFiles">Files to be uploaded</param>
<param name="remoteDir">The full or relative path to the directory that files will be uploaded on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to FtpExists.None for fastest performance but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<returns>The count of how many files were downloaded successfully. When existing files are skipped, they are not counted.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.UploadFilesAsync(System.Collections.Generic.IEnumerable{System.String},System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError,System.Threading.CancellationToken)">
<summary>
Uploads the given file paths to a single folder on the server asynchronously.
All files are placed directly into the given folder regardless of their path on the local filesystem.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
Faster than uploading single files with <see cref="o:UploadFile"/> since it performs a single "file exists" check rather than one check per file.
</summary>
<param name="localPaths">The full or relative paths to the files on the local file system. Files can be from multiple folders.</param>
<param name="remoteDir">The full or relative path to the directory that files will be uploaded on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to FtpExists.None for fastest performance but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful upload and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<param name="token">The token to monitor for cancellation requests</param>
<returns>The count of how many files were uploaded successfully. Affected when files are skipped when they already exist.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.UploadFilesAsync(System.Collections.Generic.IEnumerable{System.String},System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError)">
<summary>
Uploads the given file paths to a single folder on the server asynchronously.
All files are placed directly into the given folder regardless of their path on the local filesystem.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
Faster than uploading single files with <see cref="o:UploadFile"/> since it performs a single "file exists" check rather than one check per file.
</summary>
<param name="localPaths">The full or relative paths to the files on the local file system. Files can be from multiple folders.</param>
<param name="remoteDir">The full or relative path to the directory that files will be uploaded on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to FtpExists.None for fastest performance but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful upload and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<returns>The count of how many files were uploaded successfully. Affected when files are skipped when they already exist.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFiles(System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError)">
<summary>
Downloads the specified files into a local single directory.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
Same speed as <see cref="o:DownloadFile"/>.
</summary>
<param name="localDir">The full or relative path to the directory that files will be downloaded into.</param>
<param name="remotePaths">The full or relative paths to the files on the server</param>
<param name="overwrite">True if you want the local file to be overwritten if it already exists. (Default value is true)</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<returns>The count of how many files were downloaded successfully. When existing files are skipped, they are not counted.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted then overwrite will automatically switch to true for subsequent attempts.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFilesAsync(System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError,System.Threading.CancellationToken)">
<summary>
Downloads the specified files into a local single directory.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
Same speed as <see cref="o:DownloadFile"/>.
</summary>
<param name="localDir">The full or relative path to the directory that files will be downloaded.</param>
<param name="remotePaths">The full or relative paths to the files on the server</param>
<param name="overwrite">True if you want the local file to be overwritten if it already exists. (Default value is true)</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<param name="token">The token to monitor for cancellation requests</param>
<returns>The count of how many files were downloaded successfully. When existing files are skipped, they are not counted.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted then overwrite will automatically be set to true for subsequent attempts.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFilesAsync(System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,FluentFTP.FtpVerify,FluentFTP.FtpError)">
<summary>
Downloads the specified files into a local single directory.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
Same speed as <see cref="o:DownloadFile"/>.
</summary>
<param name="localDir">The full or relative path to the directory that files will be downloaded into.</param>
<param name="remotePaths">The full or relative paths to the files on the server</param>
<param name="overwrite">True if you want the local file to be overwritten if it already exists. (Default value is true)</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="errorHandling">Used to determine how errors are handled</param>
<returns>The count of how many files were downloaded successfully. When existing files are skipped, they are not counted.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted then overwrite will automatically be set to true for subsequent attempts.
If <see cref="F:FluentFTP.FtpVerify.Throw"/> is set and <see cref="F:FluentFTP.FtpError.Throw"/> is <i>not set</i>, then individual verification errors will not cause an exception
to propagate from this method.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.UploadFile(System.String,System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify,System.IProgress{System.Double})">
<summary>
Uploads the specified file directly onto the server.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="localPath">The full or relative path to the file on the local file system</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful upload and what to do if it fails verification (See Remarks)</param>
<param name="progress">Provide an implementation of IProgress to track upload progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.UploadFileAsync(System.String,System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Uploads the specified file directly onto the server asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="localPath">The full or relative path to the file on the local file system</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful upload and what to do if it fails verification (See Remarks)</param>
<param name="token">The token to monitor for cancellation requests.</param>
<param name="progress">Provide an implementation of IProgress to track upload progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.UploadFileAsync(System.String,System.String,FluentFTP.FtpExists,System.Boolean,FluentFTP.FtpVerify)">
<summary>
Uploads the specified file directly onto the server asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="localPath">The full or relative path to the file on the local file system</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful upload and what to do if it fails verification (See Remarks)</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted the existsMode will automatically be set to <see cref="F:FluentFTP.FtpExists.Overwrite"/>.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.Upload(System.IO.Stream,System.String,FluentFTP.FtpExists,System.Boolean,System.IProgress{System.Double})">
<summary>
Uploads the specified stream as a file onto the server.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="fileStream">The full data of the file, as a stream</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="progress">Provide an implementation of IProgress to track upload progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
</member>
<member name="M:FluentFTP.FtpClient.Upload(System.Byte[],System.String,FluentFTP.FtpExists,System.Boolean,System.IProgress{System.Double})">
<summary>
Uploads the specified byte array as a file onto the server.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="fileData">The full data of the file, as a byte array</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="progress">Provide an implementation of IProgress to track upload progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
</member>
<member name="M:FluentFTP.FtpClient.UploadAsync(System.IO.Stream,System.String,FluentFTP.FtpExists,System.Boolean,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Uploads the specified stream as a file onto the server asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="fileStream">The full data of the file, as a stream</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance,
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="token">The token to monitor for cancellation requests.</param>
<param name="progress">Provide an implementation of IProgress to track upload progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.UploadAsync(System.Byte[],System.String,FluentFTP.FtpExists,System.Boolean,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Uploads the specified byte array as a file onto the server asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="fileData">The full data of the file, as a byte array</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance,
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<param name="token">The token to monitor for cancellation requests.</param>
<param name="progress">Provide an implementation of IProgress to track upload progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.UploadAsync(System.IO.Stream,System.String,FluentFTP.FtpExists,System.Boolean)">
<summary>
Uploads the specified stream as a file onto the server asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="fileStream">The full data of the file, as a stream</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance,
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.UploadAsync(System.Byte[],System.String,FluentFTP.FtpExists,System.Boolean)">
<summary>
Uploads the specified byte array as a file onto the server asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it uploads data in chunks.
</summary>
<param name="fileData">The full data of the file, as a byte array</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="existsMode">What to do if the file already exists? Skip, overwrite or append? Set this to <see cref="F:FluentFTP.FtpExists.NoCheck"/> for fastest performance,
but only if you are SURE that the files do not exist on the server.</param>
<param name="createRemoteDir">Create the remote directory if it does not exist. Slows down upload due to additional checks required.</param>
<returns>If true then the file was uploaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.UploadFileInternal(System.IO.Stream,System.String,System.Boolean,FluentFTP.FtpExists,System.Boolean,System.Boolean,System.IProgress{System.Double})">
<summary>
Upload the given stream to the server as a new file. Overwrites the file if it exists.
Writes data in chunks. Retries if server disconnects midway.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.UploadFileInternalAsync(System.IO.Stream,System.String,System.Boolean,FluentFTP.FtpExists,System.Boolean,System.Boolean,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Upload the given stream to the server as a new file asynchronously. Overwrites the file if it exists.
Writes data in chunks. Retries if server disconnects midway.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFile(System.String,System.String,System.Boolean,FluentFTP.FtpVerify,System.IProgress{System.Double})">
<summary>
Downloads the specified file onto the local file system.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="localPath">The full or relative path to the file on the local file system</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="overwrite">True if you want the local file to be overwritten if it already exists. (Default value is true)</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted then overwrite will automatically be set to true for subsequent attempts.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFileAsync(System.String,System.String,System.Boolean,FluentFTP.FtpVerify,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Downloads the specified file onto the local file system asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="localPath">The full or relative path to the file on the local file system</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="overwrite">True if you want the local file to be overwritten if it already exists. (Default value is true)</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="token">The token to monitor for cancellation requests</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted then overwrite will automatically be set to true for subsequent attempts.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFileAsync(System.String,System.String,System.Boolean,FluentFTP.FtpVerify,System.IProgress{System.Double})">
<summary>
Downloads the specified file onto the local file system asynchronously.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="localPath">The full or relative path to the file on the local file system</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="overwrite">True if you want the local file to be overwritten if it already exists. (Default value is true)</param>
<param name="verifyOptions">Sets if checksum verification is required for a successful download and what to do if it fails verification (See Remarks)</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
<remarks>
If verification is enabled (All options other than <see cref="F:FluentFTP.FtpVerify.None"/>) the hash will be checked against the server. If the server does not support
any hash algorithm, then verification is ignored. If only <see cref="F:FluentFTP.FtpVerify.OnlyChecksum"/> is set then the return of this method depends on both a successful
upload &amp; verification. Additionally, if any verify option is set and a retry is attempted then overwrite will automatically be set to true for subsequent attempts.
</remarks>
</member>
<member name="M:FluentFTP.FtpClient.Download(System.IO.Stream,System.String,System.IProgress{System.Double})">
<summary>
Downloads the specified file into the specified stream.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="outStream">The stream that the file will be written to. Provide a new MemoryStream if you only want to read the file into memory.</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.Download(System.Byte[]@,System.String,System.IProgress{System.Double})">
<summary>
Downloads the specified file and return the raw byte array.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="outBytes">The variable that will receive the bytes.</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.DownloadAsync(System.IO.Stream,System.String,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Downloads the specified file into the specified stream asynchronously .
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="outStream">The stream that the file will be written to. Provide a new MemoryStream if you only want to read the file into memory.</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="token">The token to monitor cancellation requests</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.DownloadAsync(System.IO.Stream,System.String)">
<summary>
Downloads the specified file into the specified stream asynchronously .
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="outStream">The stream that the file will be written to. Provide a new MemoryStream if you only want to read the file into memory.</param>
<param name="remotePath">The full or relative path to the file on the server</param>
<returns>If true then the file was downloaded, false otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.DownloadAsync(System.String,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Downloads the specified file and return the raw byte array.
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="remotePath">The full or relative path to the file on the server</param>
<param name="token">The token to monitor cancellation requests</param>
<param name="progress">Provide an implementation of IProgress to track download progress. The value provided is in the range 0 to 100, indicating the percentage of the file transferred. If the progress is indeterminate, -1 is sent.</param>
<returns>A byte array containing the contents of the downloaded file if successful, otherwise null.</returns>
</member>
<member name="M:FluentFTP.FtpClient.DownloadAsync(System.String)">
<summary>
Downloads the specified file into the specified stream asynchronously .
High-level API that takes care of various edge cases internally.
Supports very large files since it downloads data in chunks.
</summary>
<param name="remotePath">The full or relative path to the file on the server</param>
<returns>A byte array containing the contents of the downloaded file if successful, otherwise null.</returns>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFileInternal(System.String,System.IO.Stream,System.IProgress{System.Double})">
<summary>
Download a file from the server and write the data into the given stream.
Reads data in chunks. Retries if server disconnects midway.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.DownloadFileInternalAsync(System.String,System.IO.Stream,System.Threading.CancellationToken,System.IProgress{System.Double})">
<summary>
Download a file from the server and write the data into the given stream asynchronously.
Reads data in chunks. Retries if server disconnects midway.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.ReportProgress(System.IProgress{System.Double},System.Int64,System.Int64)">
<summary>
Sends progress to the user, either a value between 0-100 indicating percentage complete, or -1 for indeterminate.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ListingParser">
<summary>
File listing parser to be used.
Automatically calculated based on the type of the server, unless changed.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.ListingCulture">
<summary>
Culture used to parse file listings
</summary>
</member>
<member name="P:FluentFTP.FtpClient.TimeOffset">
<summary>
Time difference between server and client, in hours.
If the server is located in New York and you are in London then the time difference is -5 hours.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.RecursiveList">
<summary>
Detect if your FTP server supports the recursive LIST command (LIST -R).
If you know for sure that this is supported, return true here.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.BulkListing">
<summary>
If true, increases performance of GetListing by reading multiple lines
of the file listing at once. If false then GetListing will read file
listings line-by-line. If GetListing is having issues with your server,
set it to false.
The number of bytes read is based upon <see cref="P:FluentFTP.FtpClient.BulkListingLength"/>.
</summary>
</member>
<member name="P:FluentFTP.FtpClient.BulkListingLength">
<summary>
Bytes to read during GetListing. Only honored if <see cref="P:FluentFTP.FtpClient.BulkListing"/> is true.
</summary>
</member>
<member name="M:FluentFTP.FtpClient.GetObjectInfo(System.String,System.Boolean)">
<summary>
Returns information about a file system object. Returns null if the server response can't
be parsed or the server returns a failure completion code. The error for a failure
is logged with FtpTrace. No exception is thrown on error because that would negate
the usefulness of this method for checking for the existence of an object.
</summary>
<param name="path">The path of the file or folder</param>
<param name="dateModified">Get the accurate modified date using another MDTM command</param>
<returns>A FtpListItem object</returns>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetObjectInfo(System.String,System.Boolean,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to return information about a remote file system object.
</summary>
<remarks>
You should check the <see cref="P:FluentFTP.FtpClient.Capabilities"/> property for the <see cref="F:FluentFTP.FtpCapability.MLSD"/>
flag before calling this method. Failing to do so will result in an InvalidOperationException
being thrown when the server does not support machine listings. Returns null if the server response can't
be parsed or the server returns a failure completion code. The error for a failure
is logged with FtpTrace. No exception is thrown on error because that would negate
the usefulness of this method for checking for the existence of an object.
</remarks>
<param name="path">Path of the file or folder</param>
<param name="dateModified">Get the accurate modified date using another MDTM command</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndGetObjectInfo(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginGetObjectInfo(System.String,System.Boolean,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetObjectInfo(System.String,System.Boolean,System.AsyncCallback,System.Object)"/></param>
<returns>A <see cref="T:FluentFTP.FtpListItem"/> if the command succeeded, or null if there was a problem.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetObjectInfoAsync(System.String,System.Boolean)">
<summary>
Return information about a remote file system object asynchronously.
</summary>
<remarks>
You should check the <see cref="P:FluentFTP.FtpClient.Capabilities"/> property for the <see cref="F:FluentFTP.FtpCapability.MLSD"/>
flag before calling this method. Failing to do so will result in an InvalidOperationException
being thrown when the server does not support machine listings. Returns null if the server response can't
be parsed or the server returns a failure completion code. The error for a failure
is logged with FtpTrace. No exception is thrown on error because that would negate
the usefulness of this method for checking for the existence of an object.</remarks>
<param name="path">Path of the item to retrieve information about</param>
<param name="dateModified">Get the accurate modified date using another MDTM command</param>
<exception cref="T:System.InvalidOperationException">Thrown if the server does not support this Capability</exception>
<returns>A <see cref="T:FluentFTP.FtpListItem"/> if the command succeeded, or null if there was a problem.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetListing">
<summary>
Gets a file listing from the server from the current working directory. Each <see cref="T:FluentFTP.FtpListItem"/> object returned
contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<returns>An array of FtpListItem objects</returns>
<example><code source="..\Examples\GetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetListing(System.String)">
<summary>
Gets a file listing from the server. Each <see cref="T:FluentFTP.FtpListItem"/> object returned
contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<param name="path">The path of the directory to list</param>
<returns>An array of FtpListItem objects</returns>
<example><code source="..\Examples\GetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetListing(System.String,FluentFTP.FtpListOption)">
<summary>
Gets a file listing from the server. Each <see cref="T:FluentFTP.FtpListItem"/> object returned
contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<param name="path">The path of the directory to list</param>
<param name="options">Options that dictacte how a list is performed and what information is gathered.</param>
<returns>An array of FtpListItem objects</returns>
<example><code source="..\Examples\GetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetListing(System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get a file listing from the server.
Each <see cref="T:FluentFTP.FtpListItem"/> object returned contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<param name="callback">AsyncCallback method</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetListing(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get a file listing from the server.
Each <see cref="T:FluentFTP.FtpListItem"/> object returned contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<param name="path">The path to list</param>
<param name="callback">AsyncCallback method</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetListing(System.String,FluentFTP.FtpListOption,System.AsyncCallback,System.Object)">
<summary>
Gets a file listing from the server asynchronously
</summary>
<param name="path">The path to list</param>
<param name="options">Options that dictate how the list operation is performed</param>
<param name="callback">AsyncCallback method</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndGetListing(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginGetListing"/>
</summary>
<param name="ar">IAsyncResult return from <see cref="o:BeginGetListing"/></param>
<returns>An array of items retrieved in the listing</returns>
<example><code source="..\Examples\BeginGetListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetListingAsync(System.String,FluentFTP.FtpListOption)">
<summary>
Gets a file listing from the server asynchronously. Each <see cref="T:FluentFTP.FtpListItem"/> object returned
contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<param name="path">The path to list</param>
<param name="options">Options that dictate how the list operation is performed</param>
<returns>An array of items retrieved in the listing</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetListingAsync(System.String)">
<summary>
Gets a file listing from the server asynchronously. Each <see cref="T:FluentFTP.FtpListItem"/> object returned
contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<param name="path">The path to list</param>
<returns>An array of items retrieved in the listing</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetListingAsync">
<summary>
Gets a file listing from the server asynchronously. Each <see cref="T:FluentFTP.FtpListItem"/> object returned
contains information about the file that was able to be retrieved.
</summary>
<remarks>
If a <see cref="T:System.DateTime"/> property is equal to <see cref="F:System.DateTime.MinValue"/> then it means the
date in question was not able to be retrieved. If the <see cref="P:FluentFTP.FtpListItem.Size"/> property
is equal to 0, then it means the size of the object could also not
be retrieved.
</remarks>
<returns>An array of items retrieved in the listing</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetListingRecursive(System.String,FluentFTP.FtpListOption)">
<summary>
Recursive method of GetListing, to recurse through directories on servers that do not natively support recursion.
Automatically called by GetListing where required.
Uses flat recursion instead of head recursion.
</summary>
<param name="path">The path of the directory to list</param>
<param name="options">Options that dictacte how a list is performed and what information is gathered.</param>
<returns>An array of FtpListItem objects</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetListingRecursiveAsync(System.String,FluentFTP.FtpListOption)">
<summary>
Recursive method of GetListingAsync, to recurse through directories on servers that do not natively support recursion.
Automatically called by GetListingAsync where required.
Uses flat recursion instead of head recursion.
</summary>
<param name="path">The path of the directory to list</param>
<param name="options">Options that dictacte how a list is performed and what information is gathered.</param>
<returns>An array of FtpListItem objects</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetNameListing">
<summary>
Returns a file/directory listing using the NLST command.
</summary>
<returns>A string array of file and directory names if any were returned.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetNameListing(System.String)">
<summary>
Returns a file/directory listing using the NLST command.
</summary>
<param name="path">The path of the directory to list</param>
<returns>A string array of file and directory names if any were returned.</returns>
<example><code source="..\Examples\GetNameListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetNameListing(System.String,System.AsyncCallback,System.Object)">
<summary>
Begin an asynchronous operation to return a file/directory listing using the NLST command.
</summary>
<param name="path">The path of the directory to list</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetNameListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetNameListing(System.AsyncCallback,System.Object)">
<summary>
Begin an asynchronous operation to return a file/directory listing using the NLST command.
</summary>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetNameListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndGetNameListing(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginGetNameListing"/>
</summary>
<param name="ar">IAsyncResult object returned from <see cref="o:BeginGetNameListing"/></param>
<returns>An array of file and directory names if any were returned.</returns>
<example><code source="..\Examples\BeginGetNameListing.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetNameListingAsync(System.String)">
<summary>
Returns a file/directory listing using the NLST command asynchronously
</summary>
<param name="path">The path of the directory to list</param>
<returns>An array of file and directory names if any were returned.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetNameListingAsync">
<summary>
Returns a file/directory listing using the NLST command asynchronously
</summary>
<returns>An array of file and directory names if any were returned.</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenPassiveDataStream(FluentFTP.FtpDataConnectionType,System.String,System.Int64)">
<summary>
Opens the specified type of passive data stream
</summary>
<param name="type">Type of passive data stream to open</param>
<param name="command">The command to execute that requires a data stream</param>
<param name="restart">Restart location in bytes for file transfer</param>
<returns>A data stream ready to be used</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenPassiveDataStreamAsync(FluentFTP.FtpDataConnectionType,System.String,System.Int64)">
<summary>
Opens the specified type of passive data stream
</summary>
<param name="type">Type of passive data stream to open</param>
<param name="command">The command to execute that requires a data stream</param>
<param name="restart">Restart location in bytes for file transfer</param>
<returns>A data stream ready to be used</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetLocalAddress(System.Net.IPAddress)">
<summary>
Returns the ip address to be sent to the server for the active connection
</summary>
<param name="ip"></param>
<returns></returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenActiveDataStream(FluentFTP.FtpDataConnectionType,System.String,System.Int64)">
<summary>
Opens the specified type of active data stream
</summary>
<param name="type">Type of passive data stream to open</param>
<param name="command">The command to execute that requires a data stream</param>
<param name="restart">Restart location in bytes for file transfer</param>
<returns>A data stream ready to be used</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenActiveDataStreamAsync(FluentFTP.FtpDataConnectionType,System.String,System.Int64)">
<summary>
Opens the specified type of active data stream
</summary>
<param name="type">Type of passive data stream to open</param>
<param name="command">The command to execute that requires a data stream</param>
<param name="restart">Restart location in bytes for file transfer</param>
<returns>A data stream ready to be used</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenDataStream(System.String,System.Int64)">
<summary>
Opens a data stream.
</summary>
<param name='command'>The command to execute that requires a data stream</param>
<param name="restart">Restart location in bytes for file transfer</param>
<returns>The data stream.</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenDataStreamAsync(System.String,System.Int64)">
<summary>
Opens a data stream.
</summary>
<param name='command'>The command to execute that requires a data stream</param>
<param name="restart">Restart location in bytes for file transfer</param>
<returns>The data stream.</returns>
</member>
<member name="M:FluentFTP.FtpClient.CloseDataStream(FluentFTP.FtpDataStream)">
<summary>
Disconnects a data stream
</summary>
<param name="stream">The data stream to close</param>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String,FluentFTP.FtpDataType)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String,FluentFTP.FtpDataType,System.Boolean)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String,FluentFTP.FtpDataType,System.Int64)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="restart">Resume location</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String,System.Int64)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="restart">Resume location</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String,System.Int64,System.Boolean)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="restart">Resume location</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenRead(System.String,FluentFTP.FtpDataType,System.Int64,System.Boolean)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="restart">Resume location</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for reading the file on the server</returns>
<example><code source="..\Examples\OpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenRead(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenRead(System.String,FluentFTP.FtpDataType,System.AsyncCallback,System.Object)">
<summary>
Opens the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenRead(System.String,System.Int64,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="restart">Resume location</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenRead(System.String,FluentFTP.FtpDataType,System.Int64,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for reading
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="restart">Resume location</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndOpenRead(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginOpenRead"/>
</summary>
<param name="ar"><see cref="T:System.IAsyncResult"/> returned from <see cref="o:BeginOpenRead"/></param>
<returns>A readable stream of the remote file</returns>
<example><code source="..\Examples\BeginOpenRead.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenReadAsync(System.String,FluentFTP.FtpDataType,System.Int64,System.Boolean)">
<summary>
Opens the specified file for reading asynchronously
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="restart">Resume location</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for reading the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenReadAsync(System.String,FluentFTP.FtpDataType,System.Int64)">
<summary>
Opens the specified file for reading asynchronously
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="restart">Resume location</param>
<returns>A readable stream of the remote file</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenReadAsync(System.String,FluentFTP.FtpDataType)">
<summary>
Opens the specified file for reading asynchronously
</summary>
<param name="path">The full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<returns>A readable stream of the remote file</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenReadAsync(System.String,System.Int64)">
<summary>
Opens the specified file for reading asynchronously
</summary>
<param name="path">The full or relative path of the file</param>
<param name="restart">Resume location</param>
<returns>A readable stream of the remote file</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenReadAsync(System.String)">
<summary>
Opens the specified file for reading asynchronously
</summary>
<param name="path">The full or relative path of the file</param>
<returns>A readable stream of the remote file</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenWrite(System.String)">
<summary>
Opens the specified file for writing. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">Full or relative path of the file</param>
<returns>A stream for writing to the file on the server</returns>
<example><code source="..\Examples\OpenWrite.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenWrite(System.String,FluentFTP.FtpDataType)">
<summary>
Opens the specified file for writing. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<returns>A stream for writing to the file on the server</returns>
<example><code source="..\Examples\OpenWrite.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenWrite(System.String,FluentFTP.FtpDataType,System.Boolean)">
<summary>
Opens the specified file for writing. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for writing to the file on the server</returns>
<example><code source="..\Examples\OpenWrite.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenWrite(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for writing
</summary>
<param name="path">Full or relative path of the file</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenWrite.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenWrite(System.String,FluentFTP.FtpDataType,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for writing
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenWrite.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndOpenWrite(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginOpenWrite"/>
</summary>
<param name="ar"><see cref="T:System.IAsyncResult"/> returned from <see cref="o:BeginOpenWrite"/></param>
<returns>A writable stream</returns>
<example><code source="..\Examples\BeginOpenWrite.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenWriteAsync(System.String,FluentFTP.FtpDataType,System.Boolean)">
<summary>
Opens the specified file for writing. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for writing to the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenWriteAsync(System.String,FluentFTP.FtpDataType)">
<summary>
Opens the specified file for writing. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket. asynchronously
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<returns>A stream for writing to the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenWriteAsync(System.String)">
<summary>
Opens the specified file for writing. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket. asynchronously
</summary>
<param name="path">Full or relative path of the file</param>
<returns>A stream for writing to the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppend(System.String)">
<summary>
Opens the specified file for appending. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">The full or relative path to the file to be opened</param>
<returns>A stream for writing to the file on the server</returns>
<example><code source="..\Examples\OpenAppend.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppend(System.String,FluentFTP.FtpDataType)">
<summary>
Opens the specified file for appending. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">The full or relative path to the file to be opened</param>
<param name="type">ASCII/Binary</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for writing to the file on the server</returns>
<example><code source="..\Examples\OpenAppend.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppend(System.String,FluentFTP.FtpDataType,System.Boolean)">
<summary>
Opens the specified file for appending. Please call GetReply() after you have successfully transfered the file to read the "OK" command sent by the server and prevent stale data on the socket.
</summary>
<param name="path">The full or relative path to the file to be opened</param>
<param name="type">ASCII/Binary</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for writing to the file on the server</returns>
<example><code source="..\Examples\OpenAppend.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenAppend(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for appending
</summary>
<param name="path">Full or relative path of the file</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenAppend.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginOpenAppend(System.String,FluentFTP.FtpDataType,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to open the specified file for appending
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginOpenAppend.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndOpenAppend(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginOpenAppend"/>
</summary>
<param name="ar"><see cref="T:System.IAsyncResult"/> returned from <see cref="o:BeginOpenAppend"/></param>
<returns>A writable stream</returns>
<example><code source="..\Examples\BeginOpenAppend.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppendAsync(System.String,FluentFTP.FtpDataType,System.Boolean)">
<summary>
Opens the specified file to be appended asynchronously
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<param name="checkIfFileExists">Only set this to false if you are SURE that the file does not exist. If true, it reads the file size and saves it into the stream length.</param>
<returns>A stream for writing to the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppendAsync(System.String,FluentFTP.FtpDataType)">
<summary>
Opens the specified file to be appended asynchronously
</summary>
<param name="path">Full or relative path of the file</param>
<param name="type">ASCII/Binary</param>
<returns>A stream for writing to the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.OpenAppendAsync(System.String)">
<summary>
Opens the specified file to be appended asynchronously
</summary>
<param name="path">Full or relative path of the file</param>
<returns>A stream for writing to the file on the server</returns>
</member>
<member name="M:FluentFTP.FtpClient.SetDataType(FluentFTP.FtpDataType)">
<summary>
Sets the data type of information sent over the data stream
</summary>
<param name="type">ASCII/Binary</param>
</member>
<member name="M:FluentFTP.FtpClient.SetDataTypeInternal(FluentFTP.FtpDataType)">
<summary>Internal method that handles actually setting the data type.</summary>
<exception cref="T:FluentFTP.FtpCommandException">Thrown when a FTP Command error condition occurs.</exception>
<exception cref="T:FluentFTP.FtpException">Thrown when a FTP error condition occurs.</exception>
<param name="type">ASCII/Binary.</param>
<remarks>This method doesn't do any locking to prevent recursive lock scenarios. Callers must do their own locking.</remarks>
</member>
<member name="M:FluentFTP.FtpClient.BeginSetDataType(FluentFTP.FtpDataType,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to set the data type of information sent over the data stream
</summary>
<param name="type">ASCII/Binary</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndSetDataType(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginSetDataType(FluentFTP.FtpDataType,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginSetDataType(FluentFTP.FtpDataType,System.AsyncCallback,System.Object)"/></param>
</member>
<member name="M:FluentFTP.FtpClient.SetDataTypeAsync(FluentFTP.FtpDataType)">
<summary>
Sets the data type of information sent over the data stream asynchronously
</summary>
<param name="type">ASCII/Binary</param>
</member>
<member name="M:FluentFTP.FtpClient.DeleteFile(System.String)">
<summary>
Deletes a file on the server
</summary>
<param name="path">The full or relative path to the file</param>
<example><code source="..\Examples\DeleteFile.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginDeleteFile(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to delete the specified file on the server
</summary>
<param name="path">The full or relative path to the file</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginDeleteFile.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndDeleteFile(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginDeleteFile(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from BeginDeleteFile</param>
<example><code source="..\Examples\BeginDeleteFile.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DeleteFileAsync(System.String)">
<summary>
Deletes a file from the server asynchronously
</summary>
<param name="path">The full or relative path to the file</param>
</member>
<member name="M:FluentFTP.FtpClient.DeleteDirectory(System.String)">
<summary>
Deletes the specified directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<example><code source="..\Examples\DeleteDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DeleteDirectory(System.String,FluentFTP.FtpListOption)">
<summary>
Deletes the specified directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<param name="options">Useful to delete hidden files or dot-files.</param>
<example><code source="..\Examples\DeleteDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DeleteDirInternal(System.String,System.Boolean,FluentFTP.FtpListOption)">
<summary>
Deletes the specified directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<param name="deleteContents">If the directory is not empty, remove its contents</param>
<param name="options">Useful to delete hidden files or dot-files.</param>
<example><code source="..\Examples\DeleteDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.WasGetListingRecursive(FluentFTP.FtpListOption)">
<summary>
Checks whether <see cref="o:GetListing"/> will be called recursively or not.
</summary>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:FluentFTP.FtpClient.BeginDeleteDirectory(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to delete the specified directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginDeleteDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginDeleteDirectory(System.String,FluentFTP.FtpListOption,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to delete the specified directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<param name="options">Useful to delete hidden files or dot-files.</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginDeleteDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndDeleteDirectory(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginDeleteDirectory"/>
</summary>
<param name="ar">IAsyncResult returned from BeginDeleteDirectory</param>
<example><code source="..\Examples\BeginDeleteDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DeleteDirectoryAsync(System.String)">
<summary>
Asynchronously removes a directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
</member>
<member name="M:FluentFTP.FtpClient.DeleteDirectoryAsync(System.String,FluentFTP.FtpListOption)">
<summary>
Asynchronously removes a directory and all its contents.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<param name="options">Useful to delete hidden files or dot-files.</param>
</member>
<member name="M:FluentFTP.FtpClient.DeleteDirInternalAsync(System.String,System.Boolean,FluentFTP.FtpListOption)">
<summary>
Asynchronously removes a directory. Used by <see cref="M:FluentFTP.FtpClient.DeleteDirectoryAsync(System.String)"/> and
<see cref="M:FluentFTP.FtpClient.DeleteDirectoryAsync(System.String,FluentFTP.FtpListOption)"/>.
</summary>
<param name="path">The full or relative path of the directory to delete</param>
<param name="deleteContents">Delete the contents before deleting the folder</param>
<param name="options">Useful to delete hidden files or dot-files.</param>
<returns></returns>
</member>
<member name="M:FluentFTP.FtpClient.DirectoryExists(System.String)">
<summary>
Tests if the specified directory exists on the server. This
method works by trying to change the working directory to
the path specified. If it succeeds, the directory is changed
back to the old working directory and true is returned. False
is returned otherwise and since the CWD failed it is assumed
the working directory is still the same.
</summary>
<param name="path">The path of the directory</param>
<returns>True if it exists, false otherwise.</returns>
<example><code source="..\Examples\DirectoryExists.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginDirectoryExists(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to test if the specified directory exists on the server.
This method works by trying to change the working directory to
the path specified. If it succeeds, the directory is changed
back to the old working directory and true is returned. False
is returned otherwise and since the CWD failed it is assumed
the working directory is still the same.
</summary>
<returns>IAsyncResult</returns>
<param name='path'>The full or relative path of the directory to check for</param>
<param name='callback'>Async callback</param>
<param name='state'>State object</param>
<example><code source="..\Examples\BeginDirectoryExists.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndDirectoryExists(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginDirectoryExists(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from BeginDirectoryExists</param>
<returns>True if the directory exists. False otherwise.</returns>
<example><code source="..\Examples\BeginDirectoryExists.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DirectoryExistsAsync(System.String)">
<summary>
Tests if the specified directory exists on the server asynchronously. This
method works by trying to change the working directory to
the path specified. If it succeeds, the directory is changed
back to the old working directory and true is returned. False
is returned otherwise and since the CWD failed it is assumed
the working directory is still the same.
</summary>
<param name='path'>The full or relative path of the directory to check for</param>
<returns>True if the directory exists. False otherwise.</returns>
</member>
<member name="M:FluentFTP.FtpClient.FileExists(System.String)">
<summary>
Checks if a file exists on the server.
</summary>
<param name="path">The full or relative path to the file</param>
<returns>True if the file exists</returns>
<example><code source="..\Examples\FileExists.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginFileExists(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to check if a file exists on the
server by taking a file listing of the parent directory in the path
and comparing the results the path supplied.
</summary>
<param name="path">The full or relative path to the file</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginFileExists.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndFileExists(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginFileExists"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="o:BeginFileExists"/></param>
<returns>True if the file exists, false otherwise</returns>
<example><code source="..\Examples\BeginFileExists.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.FileExistsAsync(System.String)">
<summary>
Checks if a file exists on the server asynchronously.
</summary>
<param name="path">The full or relative path to the file</param>
<returns>True if the file exists, false otherwise</returns>
</member>
<member name="M:FluentFTP.FtpClient.CreateDirectory(System.String)">
<summary>
Creates a directory on the server. If the preceding
directories do not exist, then they are created.
</summary>
<param name="path">The full or relative path to the new remote directory</param>
<example><code source="..\Examples\CreateDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.CreateDirectory(System.String,System.Boolean)">
<summary>
Creates a directory on the server
</summary>
<param name="path">The full or relative path to the new remote directory</param>
<param name="force">Try to force all non-existent pieces of the path to be created</param>
<example><code source="..\Examples\CreateDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginCreateDirectory(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to create a remote directory. If the preceding
directories do not exist, then they are created.
</summary>
<param name="path">The full or relative path to the new remote directory</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginCreateDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginCreateDirectory(System.String,System.Boolean,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to create a remote directory
</summary>
<param name="path">The full or relative path to the new remote directory</param>
<param name="force">Try to create the whole path if the preceding directories do not exist</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginCreateDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndCreateDirectory(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginCreateDirectory"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="o:BeginCreateDirectory"/></param>
<example><code source="..\Examples\BeginCreateDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.CreateDirectoryAsync(System.String,System.Boolean)">
<summary>
Creates a remote directory asynchronously
</summary>
<param name="path">The full or relative path to the new remote directory</param>
<param name="force">Try to create the whole path if the preceding directories do not exist</param>
</member>
<member name="M:FluentFTP.FtpClient.CreateDirectoryAsync(System.String)">
<summary>
Creates a remote directory asynchronously. If the preceding
directories do not exist, then they are created.
</summary>
<param name="path">The full or relative path to the new remote directory</param>
</member>
<member name="M:FluentFTP.FtpClient.Rename(System.String,System.String)">
<summary>
Renames an object on the remote file system.
Low level method that should NOT be used in most cases. Prefer MoveFile() and MoveDirectory().
Throws exceptions if the file does not exist, or if the destination file already exists.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<example><code source="..\Examples\Rename.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginRename(System.String,System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to rename an object on the remote file system.
Low level method that should NOT be used in most cases. Prefer MoveFile() and MoveDirectory().
Throws exceptions if the file does not exist, or if the destination file already exists.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginRename.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndRename(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginRename(System.String,System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginRename(System.String,System.String,System.AsyncCallback,System.Object)"/></param>
<example><code source="..\Examples\BeginRename.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.RenameAsync(System.String,System.String)">
<summary>
Renames an object on the remote file system asynchronously.
Low level method that should NOT be used in most cases. Prefer MoveFile() and MoveDirectory().
Throws exceptions if the file does not exist, or if the destination file already exists.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
</member>
<member name="M:FluentFTP.FtpClient.MoveFile(System.String,System.String,FluentFTP.FtpExists)">
<summary>
Moves a file on the remote file system from one directory to another.
Always checks if the source file exists. Checks if the dest file exists based on the `existsMode` parameter.
Only throws exceptions for critical errors.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="existsMode">Should we check if the dest file exists? And if it does should we overwrite/skip the operation?</param>
<returns>Whether the file was moved</returns>
</member>
<member name="M:FluentFTP.FtpClient.BeginMoveFile(System.String,System.String,FluentFTP.FtpExists,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to move a file on the remote file system, from one directory to another.
Always checks if the source file exists. Checks if the dest file exists based on the `existsMode` parameter.
Only throws exceptions for critical errors.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="existsMode">Should we check if the dest file exists? And if it does should we overwrite/skip the operation?</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndMoveFile(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginMoveFile(System.String,System.String,FluentFTP.FtpExists,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginMoveFile(System.String,System.String,FluentFTP.FtpExists,System.AsyncCallback,System.Object)"/></param>
</member>
<member name="M:FluentFTP.FtpClient.MoveFileAsync(System.String,System.String,FluentFTP.FtpExists)">
<summary>
Moves a file asynchronously on the remote file system from one directory to another.
Always checks if the source file exists. Checks if the dest file exists based on the `existsMode` parameter.
Only throws exceptions for critical errors.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="existsMode">Should we check if the dest file exists? And if it does should we overwrite/skip the operation?</param>
<returns>Whether the file was moved</returns>
</member>
<member name="M:FluentFTP.FtpClient.MoveDirectory(System.String,System.String,FluentFTP.FtpExists)">
<summary>
Moves a directory on the remote file system from one directory to another.
Always checks if the source directory exists. Checks if the dest directory exists based on the `existsMode` parameter.
Only throws exceptions for critical errors.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="existsMode">Should we check if the dest directory exists? And if it does should we overwrite/skip the operation?</param>
<returns>Whether the directory was moved</returns>
</member>
<member name="M:FluentFTP.FtpClient.BeginMoveDirectory(System.String,System.String,FluentFTP.FtpExists,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to move a directory on the remote file system, from one directory to another.
Always checks if the source directory exists. Checks if the dest directory exists based on the `existsMode` parameter.
Only throws exceptions for critical errors.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="existsMode">Should we check if the dest directory exists? And if it does should we overwrite/skip the operation?</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndMoveDirectory(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginMoveDirectory(System.String,System.String,FluentFTP.FtpExists,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginMoveDirectory(System.String,System.String,FluentFTP.FtpExists,System.AsyncCallback,System.Object)"/></param>
</member>
<member name="M:FluentFTP.FtpClient.MoveDirectoryAsync(System.String,System.String,FluentFTP.FtpExists)">
<summary>
Moves a directory asynchronously on the remote file system from one directory to another.
Always checks if the source directory exists. Checks if the dest directory exists based on the `existsMode` parameter.
Only throws exceptions for critical errors.
</summary>
<param name="path">The full or relative path to the object</param>
<param name="dest">The new full or relative path including the new name of the object</param>
<param name="existsMode">Should we check if the dest directory exists? And if it does should we overwrite/skip the operation?</param>
<returns>Whether the directory was moved</returns>
</member>
<member name="M:FluentFTP.FtpClient.SetFilePermissions(System.String,System.Int32)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="permissions">The permissions in CHMOD format</param>
</member>
<member name="M:FluentFTP.FtpClient.SetFilePermissionsAsync(System.String,System.Int32)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="permissions">The permissions in CHMOD format</param>
</member>
<member name="M:FluentFTP.FtpClient.Chmod(System.String,System.Int32)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="permissions">The permissions in CHMOD format</param>
</member>
<member name="M:FluentFTP.FtpClient.ChmodAsync(System.String,System.Int32)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="permissions">The permissions in CHMOD format</param>
</member>
<member name="M:FluentFTP.FtpClient.SetFilePermissions(System.String,FluentFTP.FtpPermission,FluentFTP.FtpPermission,FluentFTP.FtpPermission)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="owner">The owner permissions</param>
<param name="group">The group permissions</param>
<param name="other">The other permissions</param>
</member>
<member name="M:FluentFTP.FtpClient.SetFilePermissionsAsync(System.String,FluentFTP.FtpPermission,FluentFTP.FtpPermission,FluentFTP.FtpPermission)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="owner">The owner permissions</param>
<param name="group">The group permissions</param>
<param name="other">The other permissions</param>
</member>
<member name="M:FluentFTP.FtpClient.Chmod(System.String,FluentFTP.FtpPermission,FluentFTP.FtpPermission,FluentFTP.FtpPermission)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="owner">The owner permissions</param>
<param name="group">The group permissions</param>
<param name="other">The other permissions</param>
</member>
<member name="M:FluentFTP.FtpClient.ChmodAsync(System.String,FluentFTP.FtpPermission,FluentFTP.FtpPermission,FluentFTP.FtpPermission)">
<summary>
Modify the permissions of the given file/folder.
Only works on *NIX systems, and not on Windows/IIS servers.
Only works if the FTP server supports the SITE CHMOD command
(requires the CHMOD extension to be installed and enabled).
Throws FtpCommandException if there is an issue.
</summary>
<param name="path">The full or relative path to the item</param>
<param name="owner">The owner permissions</param>
<param name="group">The group permissions</param>
<param name="other">The other permissions</param>
</member>
<member name="M:FluentFTP.FtpClient.GetFilePermissions(System.String)">
<summary>
Retrieve the permissions of the given file/folder as an FtpListItem object with all "Permission" properties set.
Throws FtpCommandException if there is an issue.
Returns null if the server did not specify a permission value.
Use `GetChmod` if you required the integer value instead.
</summary>
<param name="path">The full or relative path to the item</param>
</member>
<member name="M:FluentFTP.FtpClient.GetFilePermissionsAsync(System.String)">
<summary>
Retrieve the permissions of the given file/folder as an FtpListItem object with all "Permission" properties set.
Throws FtpCommandException if there is an issue.
Returns null if the server did not specify a permission value.
Use `GetChmod` if you required the integer value instead.
</summary>
<param name="path">The full or relative path to the item</param>
</member>
<member name="M:FluentFTP.FtpClient.GetChmod(System.String)">
<summary>
Retrieve the permissions of the given file/folder as an integer in the CHMOD format.
Throws FtpCommandException if there is an issue.
Returns 0 if the server did not specify a permission value.
Use `GetFilePermissions` if you required the permissions in the FtpPermission format.
</summary>
<param name="path">The full or relative path to the item</param>
</member>
<member name="M:FluentFTP.FtpClient.GetChmodAsync(System.String)">
<summary>
Retrieve the permissions of the given file/folder as an integer in the CHMOD format.
Throws FtpCommandException if there is an issue.
Returns 0 if the server did not specify a permission value.
Use `GetFilePermissions` if you required the permissions in the FtpPermission format.
</summary>
<param name="path">The full or relative path to the item</param>
</member>
<member name="M:FluentFTP.FtpClient.DereferenceLink(FluentFTP.FtpListItem)">
<summary>
Recursively dereferences a symbolic link. See the
MaximumDereferenceCount property for controlling
how deep this method will recurse before giving up.
</summary>
<param name="item">The symbolic link</param>
<returns>FtpListItem, null if the link can't be dereferenced</returns>
<example><code source="..\Examples\DereferenceLink.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DereferenceLink(FluentFTP.FtpListItem,System.Int32)">
<summary>
Recursively dereferences a symbolic link
</summary>
<param name="item">The symbolic link</param>
<param name="recMax">The maximum depth of recursion that can be performed before giving up.</param>
<returns>FtpListItem, null if the link can't be dereferenced</returns>
<example><code source="..\Examples\DereferenceLink.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DereferenceLink(FluentFTP.FtpListItem,System.Int32,System.Int32@)">
<summary>
Derefence a FtpListItem object
</summary>
<param name="item">The item to derefence</param>
<param name="recMax">Maximum recursive calls</param>
<param name="count">Counter</param>
<returns>FtpListItem, null if the link can't be dereferenced</returns>
<example><code source="..\Examples\DereferenceLink.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginDereferenceLink(FluentFTP.FtpListItem,System.Int32,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to dereference a <see cref="T:FluentFTP.FtpListItem"/> object
</summary>
<param name="item">The item to dereference</param>
<param name="recMax">Maximum recursive calls</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginDereferenceLink.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginDereferenceLink(FluentFTP.FtpListItem,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to dereference a <see cref="T:FluentFTP.FtpListItem"/> object. See the
<see cref="P:FluentFTP.FtpClient.MaximumDereferenceCount"/> property for controlling
how deep this method will recurse before giving up.
</summary>
<param name="item">The item to dereference</param>
<param name="callback">AsyncCallback</param>
<param name="state">State Object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginDereferenceLink.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndDereferenceLink(System.IAsyncResult)">
<summary>
Ends a call to <see cref="o:BeginDereferenceLink"/>
</summary>
<param name="ar">IAsyncResult</param>
<returns>A <see cref="T:FluentFTP.FtpListItem"/>, or null if the link can't be dereferenced</returns>
<example><code source="..\Examples\BeginDereferenceLink.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.DereferenceLinkAsync(FluentFTP.FtpListItem,System.Int32,FluentFTP.IntRef)">
<summary>
Derefence a FtpListItem object
</summary>
<param name="item">The item to derefence</param>
<param name="recMax">Maximum recursive calls</param>
<param name="count">Counter</param>
<returns>FtpListItem, null if the link can't be dereferenced</returns>
</member>
<member name="M:FluentFTP.FtpClient.DereferenceLinkAsync(FluentFTP.FtpListItem,System.Int32)">
<summary>
Dereference a <see cref="T:FluentFTP.FtpListItem"/> object asynchronously
</summary>
<param name="item">The item to dereference</param>
<param name="recMax">Maximum recursive calls</param>
<returns>FtpListItem, null if the link can't be dereferenced</returns>
</member>
<member name="M:FluentFTP.FtpClient.DereferenceLinkAsync(FluentFTP.FtpListItem)">
<summary>
Dereference a <see cref="T:FluentFTP.FtpListItem"/> object asynchronously
</summary>
<param name="item">The item to dereference</param>
<returns>FtpListItem, null if the link can't be dereferenced</returns>
</member>
<member name="M:FluentFTP.FtpClient.SetWorkingDirectory(System.String)">
<summary>
Sets the work directory on the server
</summary>
<param name="path">The path of the directory to change to</param>
<example><code source="..\Examples\SetWorkingDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginSetWorkingDirectory(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to set the working directory on the server
</summary>
<param name="path">The directory to change to</param>
<param name="callback">Async Callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginSetWorkingDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndSetWorkingDirectory(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginSetWorkingDirectory(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginSetWorkingDirectory(System.String,System.AsyncCallback,System.Object)"/></param>
<example><code source="..\Examples\BeginSetWorkingDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.SetWorkingDirectoryAsync(System.String)">
<summary>
Sets the working directory on the server asynchronously
</summary>
<param name="path">The directory to change to</param>
</member>
<member name="M:FluentFTP.FtpClient.GetWorkingDirectory">
<summary>
Gets the current working directory
</summary>
<returns>The current working directory, ./ if the response couldn't be parsed.</returns>
<example><code source="..\Examples\GetWorkingDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetWorkingDirectory(System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get the working directory
</summary>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetWorkingDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndGetWorkingDirectory(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginGetWorkingDirectory(System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetWorkingDirectory(System.AsyncCallback,System.Object)"/></param>
<returns>The current working directory</returns>
<example><code source="..\Examples\BeginGetWorkingDirectory.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetWorkingDirectoryAsync">
<summary>
Gets the current working directory asynchronously
</summary>
<returns>The current working directory, ./ if the response couldn't be parsed.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetFileSize(System.String)">
<summary>
Gets the size of a remote file
</summary>
<param name="path">The full or relative path of the file</param>
<returns>-1 if the command fails, otherwise the file size</returns>
<example><code source="..\Examples\GetFileSize.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetFileSize(System.String,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to retrieve the size of a remote file
</summary>
<param name="path">The full or relative path of the file</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetFileSize.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndGetFileSize(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginGetFileSize(System.String,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetFileSize(System.String,System.AsyncCallback,System.Object)"/></param>
<returns>The size of the file, -1 if there was a problem.</returns>
<example><code source="..\Examples\BeginGetFileSize.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetFileSizeAsync(System.String)">
<summary>
Retrieve the size of a remote file asynchronously
</summary>
<param name="path">The full or relative path of the file</param>
<returns>The size of the file, -1 if there was a problem.</returns>
</member>
<member name="M:FluentFTP.FtpClient.GetModifiedTime(System.String,FluentFTP.FtpDate)">
<summary>
Gets the modified time of a remote file
</summary>
<param name="path">The full path to the file</param>
<param name="type">Return the date in local timezone or UTC? Use FtpDate.Original to disable timezone conversion.</param>
<returns>The modified time, or <see cref="F:System.DateTime.MinValue"/> if there was a problem</returns>
<example><code source="..\Examples\GetModifiedTime.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.BeginGetModifiedTime(System.String,FluentFTP.FtpDate,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get the modified time of a remote file
</summary>
<param name="path">The full path to the file</param>
<param name="type">Return the date in local timezone or UTC? Use FtpDate.Original to disable timezone conversion.</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
<example><code source="..\Examples\BeginGetModifiedTime.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.EndGetModifiedTime(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginGetModifiedTime(System.String,FluentFTP.FtpDate,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginGetModifiedTime(System.String,FluentFTP.FtpDate,System.AsyncCallback,System.Object)"/></param>
<returns>The modified time, or <see cref="F:System.DateTime.MinValue"/> if there was a problem</returns>
<example><code source="..\Examples\BeginGetModifiedTime.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpClient.GetModifiedTimeAsync(System.String,FluentFTP.FtpDate)">
<summary>
Gets the modified time of a remote file asynchronously
</summary>
<param name="path">The full path to the file</param>
<param name="type">Return the date in local timezone or UTC? Use FtpDate.Original to disable timezone conversion.</param>
<returns>The modified time, or <see cref="F:System.DateTime.MinValue"/> if there was a problem</returns>
</member>
<member name="M:FluentFTP.FtpClient.SetModifiedTime(System.String,System.DateTime,FluentFTP.FtpDate)">
<summary>
Changes the modified time of a remote file
</summary>
<param name="path">The full path to the file</param>
<param name="date">The new modified date/time value</param>
<param name="type">Is the date provided in local timezone or UTC? Use FtpDate.Original to disable timezone conversion.</param>
</member>
<member name="M:FluentFTP.FtpClient.BeginSetModifiedTime(System.String,System.DateTime,FluentFTP.FtpDate,System.AsyncCallback,System.Object)">
<summary>
Begins an asynchronous operation to get the modified time of a remote file
</summary>
<param name="path">The full path to the file</param>
<param name="date">The new modified date/time value</param>
<param name="type">Is the date provided in local timezone or UTC? Use FtpDate.Original to disable timezone conversion.</param>
<param name="callback">Async callback</param>
<param name="state">State object</param>
<returns>IAsyncResult</returns>
</member>
<member name="M:FluentFTP.FtpClient.EndSetModifiedTime(System.IAsyncResult)">
<summary>
Ends a call to <see cref="M:FluentFTP.FtpClient.BeginSetModifiedTime(System.String,System.DateTime,FluentFTP.FtpDate,System.AsyncCallback,System.Object)"/>
</summary>
<param name="ar">IAsyncResult returned from <see cref="M:FluentFTP.FtpClient.BeginSetModifiedTime(System.String,System.DateTime,FluentFTP.FtpDate,System.AsyncCallback,System.Object)"/></param>
<returns>The modified time, or <see cref="F:System.DateTime.MinValue"/> if there was a problem</returns>
</member>
<member name="M:FluentFTP.FtpClient.SetModifiedTimeAsync(System.String,System.DateTime,FluentFTP.FtpDate)">
<summary>
Gets the modified time of a remote file asynchronously
</summary>
<param name="path">The full path to the file</param>
<param name="date">The new modified date/time value</param>
<param name="type">Is the date provided in local timezone or UTC? Use FtpDate.Original to disable timezone conversion.</param>
</member>
<member name="T:FluentFTP.IFtpClient">
<summary>
Interface for the FtpClient class. For detailed documentation of the methods, please see the FtpClient class.
</summary>
</member>
<member name="T:FluentFTP.FtpEncryptionMode">
<summary>
Defines the type of encryption to use
</summary>
</member>
<member name="F:FluentFTP.FtpEncryptionMode.None">
<summary>
Plain text.
</summary>
</member>
<member name="F:FluentFTP.FtpEncryptionMode.Implicit">
<summary>
FTPS encryption is used from the start of the connection, port 990.
</summary>
</member>
<member name="F:FluentFTP.FtpEncryptionMode.Explicit">
<summary>
Connection starts in plain text and FTPS encryption is enabled
with the AUTH command immediately after the server greeting.
</summary>
</member>
<member name="T:FluentFTP.FtpResponseType">
<summary>
The type of response the server responded with
</summary>
</member>
<member name="F:FluentFTP.FtpResponseType.None">
<summary>
No response
</summary>
</member>
<member name="F:FluentFTP.FtpResponseType.PositivePreliminary">
<summary>
Success
</summary>
</member>
<member name="F:FluentFTP.FtpResponseType.PositiveCompletion">
<summary>
Success
</summary>
</member>
<member name="F:FluentFTP.FtpResponseType.PositiveIntermediate">
<summary>
Success
</summary>
</member>
<member name="F:FluentFTP.FtpResponseType.TransientNegativeCompletion">
<summary>
Temporary failure
</summary>
</member>
<member name="F:FluentFTP.FtpResponseType.PermanentNegativeCompletion">
<summary>
Permanent failure
</summary>
</member>
<member name="T:FluentFTP.FtpCapability">
<summary>
Server features
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.NONE">
<summary>
This server said it doesn't support anything!
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.MLSD">
<summary>
Supports the MLST command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.SIZE">
<summary>
Supports the SIZE command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.MDTM">
<summary>
Supports the MDTM command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.REST">
<summary>
Supports download/upload stream resumes
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.UTF8">
<summary>
Supports UTF8
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.PRET">
<summary>
PRET Command used in distributed ftp server software DrFTPD
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.MFMT">
<summary>
Server supports the MFMT command for setting the
modified date of an object on the server
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.MFCT">
<summary>
Server supports the MFCT command for setting the
created date of an object on the server
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.MFF">
<summary>
Server supports the MFF command for setting certain facts
about file system objects. If you need this command, it would
probably be handy to query FEAT your self and have a look at
the FtpReply.InfoMessages property to see which facts the server
allows you to modify.
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.STAT">
<summary>
Server supports the STAT command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.HASH">
<summary>
Support for the HASH command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.MD5">
<summary>
Support for the non-standard MD5 command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.XMD5">
<summary>
Support for the non-standard XMD5 command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.XCRC">
<summary>
Support for the non-standard XCRC command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.XSHA1">
<summary>
Support for the non-standard XSHA1 command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.XSHA256">
<summary>
Support for the non-standard XSHA256 command
</summary>
</member>
<member name="F:FluentFTP.FtpCapability.XSHA512">
<summary>
Support for the non-standard XSHA512 command
</summary>
</member>
<member name="T:FluentFTP.FtpHashAlgorithm">
<summary>
Different types of hashing algorithms for computing checksums.
</summary>
</member>
<member name="F:FluentFTP.FtpHashAlgorithm.NONE">
<summary>
HASH command is not supported
</summary>
</member>
<member name="F:FluentFTP.FtpHashAlgorithm.SHA1">
<summary>
SHA-1
</summary>
</member>
<member name="F:FluentFTP.FtpHashAlgorithm.SHA256">
<summary>
SHA-256
</summary>
</member>
<member name="F:FluentFTP.FtpHashAlgorithm.SHA512">
<summary>
SHA-512
</summary>
</member>
<member name="F:FluentFTP.FtpHashAlgorithm.MD5">
<summary>
MD5
</summary>
</member>
<member name="F:FluentFTP.FtpHashAlgorithm.CRC">
<summary>
CRC
</summary>
</member>
<member name="T:FluentFTP.FtpIpVersion">
<summary>
IP Versions to allow when connecting
to a server.
</summary>
</member>
<member name="F:FluentFTP.FtpIpVersion.IPv4">
<summary>
Internet Protocol Version 4
</summary>
</member>
<member name="F:FluentFTP.FtpIpVersion.IPv6">
<summary>
Internet Protocol Version 6
</summary>
</member>
<member name="F:FluentFTP.FtpIpVersion.ANY">
<summary>
Allow any supported version
</summary>
</member>
<member name="T:FluentFTP.FtpDataConnectionType">
<summary>
Data connection type
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.AutoPassive">
<summary>
This type of data connection attempts to use the EPSV command
and if the server does not support EPSV it falls back to the
PASV command before giving up unless you are connected via IPv6
in which case the PASV command is not supported.
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.PASV">
<summary>
Passive data connection. EPSV is a better
option if it's supported. Passive connections
connect to the IP address dictated by the server
which may or may not be accessible by the client
for example a server behind a NAT device may
give an IP address on its local network that
is inaccessible to the client. Please note that IPv6
does not support this type data connection. If you
ask for PASV and are connected via IPv6 EPSV will
automatically be used in its place.
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.PASVEX">
<summary>
Same as PASV except the host supplied by the server is ignored
and the data connection is made to the same address that the control
connection is connected to. This is useful in scenarios where the
server supplies a private/non-routable network address in the
PASV response. It's functionally identical to EPSV except some
servers may not implement the EPSV command. Please note that IPv6
does not support this type data connection. If you
ask for PASV and are connected via IPv6 EPSV will
automatically be used in its place.
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.EPSV">
<summary>
Extended passive data connection, recommended. Works
the same as a PASV connection except the server
does not dictate an IP address to connect to, instead
the passive connection goes to the same address used
in the control connection. This type of data connection
supports IPv4 and IPv6.
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.AutoActive">
<summary>
This type of data connection attempts to use the EPRT command
and if the server does not support EPRT it falls back to the
PORT command before giving up unless you are connected via IPv6
in which case the PORT command is not supported.
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.PORT">
<summary>
Active data connection, not recommended unless
you have a specific reason for using this type.
Creates a listening socket on the client which
requires firewall exceptions on the client system
as well as client network when connecting to a
server outside of the client's network. In addition
the IP address of the interface used to connect to the
server is the address the server is told to connect to
which, if behind a NAT device, may be inaccessible to
the server. This type of data connection is not supported
by IPv6. If you specify PORT and are connected via IPv6
EPRT will automatically be used instead.
</summary>
</member>
<member name="F:FluentFTP.FtpDataConnectionType.EPRT">
<summary>
Extended active data connection, not recommended
unless you have a specific reason for using this
type. Creates a listening socket on the client
which requires firewall exceptions on the client
as well as client network when connecting to a
server outside of the client's network. The server
connects to the IP address it sees the client coming
from. This type of data connection supports IPv4 and IPv6.
</summary>
</member>
<member name="T:FluentFTP.FtpDataType">
<summary>
Type of data transfer to do
</summary>
</member>
<member name="F:FluentFTP.FtpDataType.ASCII">
<summary>
ASCII transfer
</summary>
</member>
<member name="F:FluentFTP.FtpDataType.Binary">
<summary>
Binary transfer
</summary>
</member>
<member name="T:FluentFTP.FtpFileSystemObjectType">
<summary>
Type of file system of object
</summary>
</member>
<member name="F:FluentFTP.FtpFileSystemObjectType.File">
<summary>
A file
</summary>
</member>
<member name="F:FluentFTP.FtpFileSystemObjectType.Directory">
<summary>
A directory
</summary>
</member>
<member name="F:FluentFTP.FtpFileSystemObjectType.Link">
<summary>
A symbolic link
</summary>
</member>
<member name="T:FluentFTP.FtpPermission">
<summary>
Types of file permissions
</summary>
</member>
<member name="F:FluentFTP.FtpPermission.None">
<summary>
No access
</summary>
</member>
<member name="F:FluentFTP.FtpPermission.Execute">
<summary>
Executable
</summary>
</member>
<member name="F:FluentFTP.FtpPermission.Write">
<summary>
Writable
</summary>
</member>
<member name="F:FluentFTP.FtpPermission.Read">
<summary>
Readable
</summary>
</member>
<member name="T:FluentFTP.FtpSpecialPermissions">
<summary>
Types of special UNIX permissions
</summary>
</member>
<member name="F:FluentFTP.FtpSpecialPermissions.None">
<summary>
No special permissions are set
</summary>
</member>
<member name="F:FluentFTP.FtpSpecialPermissions.Sticky">
<summary>
Sticky bit is set
</summary>
</member>
<member name="F:FluentFTP.FtpSpecialPermissions.SetGroupID">
<summary>
SGID bit is set
</summary>
</member>
<member name="F:FluentFTP.FtpSpecialPermissions.SetUserID">
<summary>
SUID bit is set
</summary>
</member>
<member name="T:FluentFTP.FtpParser">
<summary>
The type of response the server responded with
</summary>
</member>
<member name="F:FluentFTP.FtpParser.Legacy">
<summary>
Use the legacy parser (for older projects that depend on the pre-2017 parser routines).
</summary>
</member>
<member name="F:FluentFTP.FtpParser.Auto">
<summary>
Automatically detect the file listing parser to use based on the FTP server (SYST command).
</summary>
</member>
<member name="F:FluentFTP.FtpParser.Machine">
<summary>
Machine listing parser, works on any FTP server supporting the MLST/MLSD commands.
</summary>
</member>
<member name="F:FluentFTP.FtpParser.Windows">
<summary>
File listing parser for Windows/IIS.
</summary>
</member>
<member name="F:FluentFTP.FtpParser.Unix">
<summary>
File listing parser for Unix.
</summary>
</member>
<member name="F:FluentFTP.FtpParser.UnixAlt">
<summary>
Alternate parser for Unix. Use this if the default one does not work.
</summary>
</member>
<member name="F:FluentFTP.FtpParser.VMS">
<summary>
File listing parser for Vax/VMS/OpenVMS.
</summary>
</member>
<member name="F:FluentFTP.FtpParser.IBM">
<summary>
File listing parser for IBM OS400.
</summary>
</member>
<member name="F:FluentFTP.FtpParser.NonStop">
<summary>
File listing parser for Tandem/Nonstop Guardian OS.
</summary>
</member>
<member name="T:FluentFTP.FtpListOption">
<summary>
Flags that can dictate how a file listing is performed
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.Auto">
<summary>
Tries machine listings (MDTM command) if supported,
and if not then falls back to OS-specific listings (LIST command)
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.Modify">
<summary>
Load the modify date using MDTM when it could not
be parsed from the server listing. This only pertains
to servers that do not implement the MLSD command.
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.Size">
<summary>
Load the file size using the SIZE command when it
could not be parsed from the server listing. This
only pertains to servers that do not support the
MLSD command.
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.SizeModify">
<summary>
Combines the Modify and Size flags
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.AllFiles">
<summary>
Show hidden/dot files. This only pertains to servers
that do not support the MLSD command. This option
makes use the non standard -a parameter to LIST to
tell the server to show hidden files. Since it's a
non-standard option it may not always work. MLSD listings
have no such option and whether or not a hidden file is
shown is at the discretion of the server.
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.ForceList">
<summary>
Force the use of OS-specific listings (LIST command) even if
machine listings (MLSD command) are supported by the server
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.NameList">
<summary>
Use the NLST command instead of LIST for a reliable file listing
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.ForceNameList">
<summary>
Force the use of the NLST command (the slowest mode) even if machine listings
and OS-specific listings are supported by the server
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.DerefLinks">
<summary>
Try to dereference symbolic links, and stored the linked file/directory in FtpListItem.LinkObject
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.UseLS">
<summary>
Sets the ForceList flag and uses `LS' instead of `LIST' as the
command for getting a directory listing. This option overrides
ForceNameList and ignores the AllFiles flag.
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.Recursive">
<summary>
Gets files within subdirectories as well. Adds the -r option to the LIST command.
Some servers may not support this feature.
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.NoPath">
<summary>
Do not retrieve path when no path is supplied to GetListing(),
instead just execute LIST with no path argument.
</summary>
</member>
<member name="F:FluentFTP.FtpListOption.IncludeSelfAndParent">
<summary>
Include two extra items into the listing, for the current directory (".")
and the parent directory (".."). Meaningless unless you want these two
items for some reason.
</summary>
</member>
<member name="T:FluentFTP.FtpExists">
<summary>
Defines the behavior for uploading/downloading files that already exist
</summary>
</member>
<member name="F:FluentFTP.FtpExists.NoCheck">
<summary>
Do not check if the file exists. A bit faster than the other options. Only use this if you are SURE that the file does not exist on the server.
Otherwise it can cause the UploadFile method to hang due to filesize mismatch.
</summary>
</member>
<member name="F:FluentFTP.FtpExists.Skip">
<summary>
Skip the file if it exists, without any more checks.
</summary>
</member>
<member name="F:FluentFTP.FtpExists.Overwrite">
<summary>
Overwrite the file if it exists.
</summary>
</member>
<member name="F:FluentFTP.FtpExists.Append">
<summary>
Append to the file if it exists, by checking the length and adding the missing data.
</summary>
</member>
<member name="F:FluentFTP.FtpExists.AppendNoCheck">
<summary>
Append to the file, but don't check if it exists and add missing data. This might be required if you don't have permissions on the server to list files in the folder.
Only use this if you are SURE that the file does not exist on the server otherwise it can cause the UploadFile method to hang due to filesize mismatch.
</summary>
</member>
<member name="T:FluentFTP.FtpTraceLevel">
<summary>
Defines the level of the tracing message. Depending on the framework version this is translated
to an equivalent logging level in System.Diagnostices (if available)
</summary>
</member>
<member name="F:FluentFTP.FtpTraceLevel.Verbose">
<summary>
Used for logging Debug or Verbose level messages
</summary>
</member>
<member name="F:FluentFTP.FtpTraceLevel.Info">
<summary>
Used for logging Informational messages
</summary>
</member>
<member name="F:FluentFTP.FtpTraceLevel.Warn">
<summary>
Used for logging non-fatal or ignorable error messages
</summary>
</member>
<member name="F:FluentFTP.FtpTraceLevel.Error">
<summary>
Used for logging Error messages that may need investigation
</summary>
</member>
<member name="T:FluentFTP.FtpError">
<summary>
Defines how multi-file processes should handle a processing error.
</summary>
<remarks><see cref="F:FluentFTP.FtpError.Stop"/> &amp; <see cref="F:FluentFTP.FtpError.Throw"/> Cannot Be Combined</remarks>
</member>
<member name="F:FluentFTP.FtpError.None">
<summary>
No action is taken upon errors. The method absorbs the error and continues.
</summary>
</member>
<member name="F:FluentFTP.FtpError.DeleteProcessed">
<summary>
If any files have completed successfully (or failed after a partial download/upload) then should be deleted.
This will simulate an all-or-nothing transaction downloading or uploading multiple files. If this option is not
combined with <see cref="F:FluentFTP.FtpError.Stop"/> or <see cref="F:FluentFTP.FtpError.Throw"/> then the method will
continue to process all items whether if they are successful or not and then delete everything if a failure was
encountered at any point.
</summary>
</member>
<member name="F:FluentFTP.FtpError.Stop">
<summary>
The method should stop processing any additional files and immediately return upon encountering an error.
Cannot be combined with <see cref="F:FluentFTP.FtpError.Throw"/>
</summary>
</member>
<member name="F:FluentFTP.FtpError.Throw">
<summary>
The method should stop processing any additional files and immediately throw the current error.
Cannot be combined with <see cref="F:FluentFTP.FtpError.Stop"/>
</summary>
</member>
<member name="T:FluentFTP.FtpVerify">
<summary>
Defines if additional verification and actions upon failure that
should be performed when uploading/downloading files using the high-level APIs. Ignored if the
FTP server does not support any hashing algorithms.
</summary>
</member>
<member name="F:FluentFTP.FtpVerify.None">
<summary>
No verification of the file is performed
</summary>
</member>
<member name="F:FluentFTP.FtpVerify.Retry">
<summary>
The checksum of the file is verified, if supported by the server.
If the checksum comparison fails then we retry the download/upload
a specified amount of times before giving up. (See <see cref="P:FluentFTP.FtpClient.RetryAttempts"/>)
</summary>
</member>
<member name="F:FluentFTP.FtpVerify.Delete">
<summary>
The checksum of the file is verified, if supported by the server.
If the checksum comparison fails then the failed file will be deleted.
If combined with <see cref="F:FluentFTP.FtpVerify.Retry"/>, then
the deletion will occur if it fails upon the final retry.
</summary>
</member>
<member name="F:FluentFTP.FtpVerify.Throw">
<summary>
The checksum of the file is verified, if supported by the server.
If the checksum comparison fails then an exception will be thrown.
If combined with <see cref="F:FluentFTP.FtpVerify.Retry"/>, then the throw will
occur upon the failure of the final retry, and/or if combined with <see cref="F:FluentFTP.FtpVerify.Delete"/>
the method will throw after the deletion is processed.
</summary>
</member>
<member name="F:FluentFTP.FtpVerify.OnlyChecksum">
<summary>
The checksum of the file is verified, if supported by the server.
If the checksum comparison fails then the method returns false and no other action is taken.
</summary>
</member>
<member name="T:FluentFTP.FtpDate">
<summary>
Defines if additional verification and actions upon failure that
should be performed when uploading/downloading files using the high-level APIs. Ignored if the
FTP server does not support any hashing algorithms.
</summary>
</member>
<member name="F:FluentFTP.FtpDate.Original">
<summary>
The date is whatever the server returns, with no conversion performed.
</summary>
</member>
<member name="F:FluentFTP.FtpDate.Local">
<summary>
The date is converted to the local timezone, based on the TimeOffset property in FtpClient.
</summary>
</member>
<member name="F:FluentFTP.FtpDate.UTC">
<summary>
The date is converted to UTC, based on the TimeOffset property in FtpClient.
</summary>
</member>
<member name="T:FluentFTP.FtpServer">
<summary>
Defines the type of the FTP server software.
Add constants here as you add detection scripts for individual server types.
</summary>
</member>
<member name="F:FluentFTP.FtpServer.Unknown">
<summary>
Unknown FTP server software
</summary>
</member>
<member name="F:FluentFTP.FtpServer.PureFTPd">
<summary>
Definitely PureFTPd server
</summary>
</member>
<member name="F:FluentFTP.FtpServer.VsFTPd">
<summary>
Definitely VsFTPd server
</summary>
</member>
<member name="F:FluentFTP.FtpServer.ProFTPD">
<summary>
Definitely ProFTPD server
</summary>
</member>
<member name="F:FluentFTP.FtpServer.FileZilla">
<summary>
Definitely FileZilla server
</summary>
</member>
<member name="F:FluentFTP.FtpServer.OpenVMS">
<summary>
Definitely OpenVMS server
</summary>
</member>
<member name="F:FluentFTP.FtpServer.WindowsCE">
<summary>
Definitely WindowsCE server
</summary>
</member>
<member name="F:FluentFTP.FtpServer.WuFTPd">
<summary>
Definitely WuFTPd server
</summary>
</member>
<member name="T:FluentFTP.FtpSslValidation">
<summary>
Event is fired when a SSL certificate needs to be validated
</summary>
<param name="control">The control connection that triggered the event</param>
<param name="e">Event args</param>
</member>
<member name="T:FluentFTP.FtpSocketStreamSslValidation">
<summary>
Event fired if a bad SSL certificate is encountered. This even is used internally; if you
don't have a specific reason for using it you are probably looking for FtpSslValidation.
</summary>
<param name="stream"></param>
<param name="e"></param>
</member>
<member name="T:FluentFTP.FtpSslValidationEventArgs">
<summary>
Event args for the FtpSslValidationError delegate
</summary>
</member>
<member name="P:FluentFTP.FtpSslValidationEventArgs.Certificate">
<summary>
The certificate to be validated
</summary>
</member>
<member name="P:FluentFTP.FtpSslValidationEventArgs.Chain">
<summary>
The certificate chain
</summary>
</member>
<member name="P:FluentFTP.FtpSslValidationEventArgs.PolicyErrors">
<summary>
Validation errors, if any.
</summary>
</member>
<member name="P:FluentFTP.FtpSslValidationEventArgs.Accept">
<summary>
Gets or sets a value indicating if this certificate should be accepted. The default
value is false. If the certificate is not accepted, an AuthenticationException will
be thrown.
</summary>
</member>
<member name="T:FluentFTP.FtpException">
<summary>
FTP related error
</summary>
</member>
<member name="M:FluentFTP.FtpException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:FluentFTP.FtpException"/> class.
</summary>
<param name="message">The error message</param>
</member>
<member name="M:FluentFTP.FtpException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:FluentFTP.FtpException"/> class with an inner exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
</member>
<member name="M:FluentFTP.FtpException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Must be implemented so every Serializer can Deserialize the Exception
</summary>
</member>
<member name="T:FluentFTP.FtpCommandException">
<summary>
Exception triggered on command failures
</summary>
</member>
<member name="P:FluentFTP.FtpCommandException.CompletionCode">
<summary>
Gets the completion code associated with the response
</summary>
</member>
<member name="P:FluentFTP.FtpCommandException.ResponseType">
<summary>
The type of response received from the last command executed
</summary>
</member>
<member name="M:FluentFTP.FtpCommandException.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of a FtpResponseException
</summary>
<param name="code">Status code</param>
<param name="message">Associated message</param>
</member>
<member name="M:FluentFTP.FtpCommandException.#ctor(FluentFTP.FtpReply)">
<summary>
Initializes a new instance of a FtpResponseException
</summary>
<param name="reply">The FtpReply to build the exception from</param>
</member>
<member name="M:FluentFTP.FtpCommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Must be implemented so every Serializer can Deserialize the Exception
</summary>
</member>
<member name="T:FluentFTP.FtpSecurityNotAvailableException">
<summary>
Exception is thrown when encryption could not be negotiated by the server
</summary>
</member>
<member name="M:FluentFTP.FtpSecurityNotAvailableException.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:FluentFTP.FtpSecurityNotAvailableException.#ctor(System.String)">
<summary>
Custom error message
</summary>
<param name="message">Error message</param>
</member>
<member name="M:FluentFTP.FtpSecurityNotAvailableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Must be implemented so every Serializer can Deserialize the Exception
</summary>
</member>
<member name="T:FluentFTP.FtpHash">
<summary>
Represents a computed hash of an object
on the FTP server. See the following link
for more information:
http://tools.ietf.org/html/draft-bryan-ftpext-hash-02
</summary>
</member>
<member name="P:FluentFTP.FtpHash.Algorithm">
<summary>
Gets the algorithm that was used to compute the hash
</summary>
</member>
<member name="P:FluentFTP.FtpHash.Value">
<summary>
Gets the computed hash returned by the server
</summary>
</member>
<member name="P:FluentFTP.FtpHash.IsValid">
<summary>
Gets a value indicating if this object represents a
valid hash response from the server.
</summary>
</member>
<member name="M:FluentFTP.FtpHash.Verify(System.String)">
<summary>
Computes the hash for the specified file and compares
it to the value in this object. CRC hashes are not supported
because there is no built-in support in the .net framework and
a CRC implementation exceeds the scope of this project. If you
attempt to call this on a CRC hash a <see cref="T:System.NotImplementedException"/> will
be thrown.
</summary>
<param name="file">The file to compute the hash for</param>
<returns>True if the computed hash matches what's stored in this object.</returns>
<exception cref="T:System.NotImplementedException">Thrown if called on a CRC Hash</exception>
</member>
<member name="M:FluentFTP.FtpHash.Verify(System.IO.Stream)">
<summary>
Computes the hash for the specified stream and compares
it to the value in this object. CRC hashes are not supported
because there is no built-in support in the .net framework and
a CRC implementation exceeds the scope of this project. If you
attempt to call this on a CRC hash a <see cref="T:System.NotImplementedException"/> will
be thrown.
</summary>
<param name="istream">The stream to compute the hash for</param>
<returns>True if the computed hash matches what's stored in this object.</returns>
<exception cref="T:System.NotImplementedException">Thrown if called on a CRC Hash</exception>
</member>
<member name="M:FluentFTP.FtpHash.#ctor">
<summary>
Creates an empty instance.
</summary>
</member>
<member name="T:FluentFTP.FtpListItem">
<summary>
Represents a file system object on the server
</summary>
<example><code source="..\Examples\CustomParser.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpListItem.#ctor">
<summary>
Blank constructor; Fill args manually.
NOTE TO USER : You should not need to construct this class manually except in advanced cases. Typically constructed by GetListing().
</summary>
</member>
<member name="M:FluentFTP.FtpListItem.#ctor(System.String,System.String,System.Int64,System.Boolean,System.DateTime@)">
<summary>
Constructor with mandatory args filled.
NOTE TO USER : You should not need to construct this class manually except in advanced cases. Typically constructed by GetListing().
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Type">
<summary>
Gets the type of file system object.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.FullName">
<summary>
Gets the full path name to the object.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Name">
<summary>
Gets the name of the object.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.LinkTarget">
<summary>
Gets the target a symbolic link points to.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.LinkCount">
<summary>
Gets the number of links pointing to this file. Only supplied by Unix servers.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.LinkObject">
<summary>
Gets the object that the LinkTarget points to. This property is null unless you pass the
<see cref="F:FluentFTP.FtpListOption.DerefLinks"/> flag in which case GetListing() will try to resolve
the target itself.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Modified">
<summary>
Gets the last write time of the object.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Created">
<summary>
Gets the created date of the object.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Size">
<summary>
Gets the size of the object.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.SpecialPermissions">
<summary>
Gets special UNIX permissions such as Sticky, SUID and SGID.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.OwnerPermissions">
<summary>
Gets the owner permissions.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.GroupPermissions">
<summary>
Gets the group permissions.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.OthersPermissions">
<summary>
Gets the others permissions.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.RawPermissions">
<summary>
Gets the raw string received for the file permissions.
Use this if the other properties are blank/invalid.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Chmod">
<summary>
Gets the file permissions in the CHMOD format.
</summary>
</member>
<member name="F:FluentFTP.FtpListItem.RawGroup">
<summary>
Gets the raw string received for the file's GROUP permissions.
Use this if the other properties are blank/invalid.
</summary>
</member>
<member name="F:FluentFTP.FtpListItem.RawOwner">
<summary>
Gets the raw string received for the file's OWNER permissions.
Use this if the other properties are blank/invalid.
</summary>
</member>
<member name="P:FluentFTP.FtpListItem.Input">
<summary>
Gets the input string that was parsed to generate the
values in this object.
</summary>
</member>
<member name="M:FluentFTP.FtpListItem.ToString">
<summary>
Returns a string representation of this object and its properties
</summary>
<returns>A string representing this object</returns>
</member>
<member name="T:FluentFTP.FtpListParser">
<summary>
Parses a line from a file listing using the first successful parser, or the specified parser.
Returns an FtpListItem object representing the parsed line, or null if the line was unable to be parsed.
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.client">
<summary>
the FTP connection that owns this parser
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.system">
<summary>
which server type? (SYST)
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.parser">
<summary>
current parser, or parser set by user
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.detectedParser">
<summary>
parser calculated based on system type (SYST command)
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.parserConfirmed">
<summary>
if we have detected that the current parser is valid
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.parserCulture">
<summary>
which culture to read filenames with?
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.timeOffset">
<summary>
what is the time offset between server/client?
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.hasTimeOffset">
<summary>
any time offset between server/client?
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.vmsBlocksize">
<summary>
VMS ONLY : the blocksize used to calculate the file
</summary>
</member>
<member name="F:FluentFTP.FtpListParser.vmsNameHasVersion">
<summary>
Is the version number returned as part of the filename?
Some VMS FTP servers do not permit a file to be deleted unless
the filename includes the version number. Note that directories are
never returned with the version number.
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.#ctor(FluentFTP.FtpClient)">
<summary>
Initializes a new instance of the <see cref="T:FluentFTP.FtpListParser"/> class.
</summary>
<param name="client">An existing <see cref="T:FluentFTP.FtpClient"/> object</param>
</member>
<member name="M:FluentFTP.FtpListParser.Init(System.String)">
<summary>
Try to auto-detect which parser is suitable given a system string.
</summary>
<param name="system">result of SYST command</param>
</member>
<member name="M:FluentFTP.FtpListParser.ParseMultiLine(System.String[],System.Boolean)">
<summary>
Parse raw file list from server into file objects, using the currently active parser.
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.ParseSingleLine(System.String,System.String,FluentFTP.FtpCapability,System.Boolean)">
<summary>
Parse raw file from server into a file object, using the currently active parser.
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.ValidateParser(System.String[])">
<summary>
Validate if the current parser is correct, or if another parser seems more appropriate.
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.IsParserValid(FluentFTP.FtpParser,System.String[])">
<summary>
Validate if the current parser is correct
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.ParseLegacy(System.String,System.String,FluentFTP.FtpCapability)">
<summary>
Parses a line from a file listing using the first successful match in the Parsers collection.
</summary>
<param name="path">The source path of the file listing</param>
<param name="buf">A line from the file listing</param>
<param name="capabilities">Server capabilities</param>
<returns>A FtpListItem object representing the parsed line, null if the line was
unable to be parsed. If you have encountered an unsupported list type add a parser
to the public static Parsers collection of FtpListItem.</returns>
</member>
<member name="F:FluentFTP.FtpListParser.m_parserLock">
<summary>
Used for synchronizing access to the Parsers collection
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.InitParsers">
<summary>
Initializes the default list of parsers
</summary>
</member>
<member name="P:FluentFTP.FtpListParser.Parsers">
<summary>
Collection of parsers. Each parser object contains
a regex string that uses named groups, i.e., (?&lt;group_name&gt;foobar).
The support group names are modify for last write time, size for the
size and name for the name of the file system object. Each group name is
optional, if they are present then those values are retrieved from a
successful match. In addition, each parser contains a Type property
which gets set in the FtpListItem object to distinguish between different
types of objects.
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.AddParser(FluentFTP.FtpListParser.Parser)">
<summary>
Adds a custom parser
</summary>
<param name="parser">The parser delegate to add</param>
<example><code source="..\Examples\CustomParser.cs" lang="cs" /></example>
</member>
<member name="M:FluentFTP.FtpListParser.ClearParsers">
<summary>
Removes all parser delegates
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.RemoveParser(FluentFTP.FtpListParser.Parser)">
<summary>
Removes the specified parser
</summary>
<param name="parser">The parser delegate to remove</param>
</member>
<member name="M:FluentFTP.FtpListParser.ParseUnixList(System.String,FluentFTP.FtpCapability)">
<summary>
Parses LIST format listings
</summary>
<param name="buf">A line from the listing</param>
<param name="capabilities">Server capabilities</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseDosList(System.String,FluentFTP.FtpCapability)">
<summary>
Parses IIS DOS format listings
</summary>
<param name="buf">A line from the listing</param>
<param name="capabilities">Server capabilities</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="T:FluentFTP.FtpListParser.Parser">
<summary>
Ftp listing line parser
</summary>
<param name="line">The line from the listing</param>
<param name="capabilities">The server capabilities</param>
<returns>FtpListItem if the line can be parsed, null otherwise</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseMachineList(System.String,FluentFTP.FtpCapability)">
<summary>
Parses MLSD/MLST format listings
</summary>
<param name="buf">A line from the listing</param>
<param name="capabilities">Server capabilities</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseUnix(System.String)">
<summary>
Parses Unix format listings
</summary>
<param name="raw">A line from the listing</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseUnixAlt(System.String)">
<summary>
Parses Unix format listings with alternate parser
</summary>
<param name="raw">A line from the listing</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseWindows(System.String)">
<summary>
Parses IIS/DOS format listings
</summary>
<param name="raw">A line from the listing</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseVMS(System.String)">
<summary>
Parses Vax/VMS format listings
</summary>
<param name="raw">A line from the listing</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseNonstop(System.String)">
<summary>
Parses NonStop format listings
</summary>
<param name="raw">A line from the listing</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.ParseIBM(System.String)">
<summary>
Parses IBM OS/400 format listings
</summary>
<param name="raw">A line from the listing</param>
<returns>FtpListItem if the item is able to be parsed</returns>
</member>
<member name="M:FluentFTP.FtpListParser.SplitString(System.String)">
<summary>
Split into fields by splitting on strings
</summary>
</member>
<member name="M:FluentFTP.FtpListParser.FixDateVMS(System.String[])">
<summary> Fix the date string to make the month camel case</summary>
<param name="fields">array of fields</param>
</member>
<member name="T:FluentFTP.FtpReply">
<summary>
Represents a reply to an event on the server
</summary>
</member>
<member name="P:FluentFTP.FtpReply.Type">
<summary>
The type of response received from the last command executed
</summary>
</member>
<member name="P:FluentFTP.FtpReply.Code">
<summary>
The status code of the response
</summary>
</member>
<member name="P:FluentFTP.FtpReply.Message">
<summary>
The message, if any, that the server sent with the response
</summary>
</member>
<member name="P:FluentFTP.FtpReply.InfoMessages">
<summary>
Informational messages sent from the server
</summary>
</member>
<member name="P:FluentFTP.FtpReply.Success">
<summary>
General success or failure of the last command executed
</summary>
</member>
<member name="P:FluentFTP.FtpReply.ErrorMessage">
<summary>
Gets the error message including any informational output
that was sent by the server. Sometimes the final response
line doesn't contain anything informative as to what was going
on with the server. Instead it may send information messages so
in an effort to give as meaningful as a response as possible
the informational messages will be included in the error.
</summary>
</member>
<member name="T:FluentFTP.FtpTrace">
<summary>
Used for transaction logging and debug information.
</summary>
</member>
<member name="P:FluentFTP.FtpTrace.FlushOnWrite">
<summary>
Should the trace listeners be flushed immediately after writing to them?
</summary>
</member>
<member name="P:FluentFTP.FtpTrace.LogPrefix">
<summary>
Should the log entries be written with a prefix of "FluentFTP"?
Useful if you have a single TraceListener shared across multiple libraries.
</summary>
</member>
<member name="M:FluentFTP.FtpTrace.AddListener(System.Diagnostics.TraceListener)">
<summary>
Add a TraceListner to the collection. You can use one of the predefined
TraceListeners in the System.Diagnostics namespace, such as ConsoleTraceListener
for logging to the console, or you can write your own deriving from
System.Diagnostics.TraceListener.
</summary>
<param name="listener">The TraceListener to add to the collection</param>
</member>
<member name="M:FluentFTP.FtpTrace.RemoveListener(System.Diagnostics.TraceListener)">
<summary>
Remove the specified TraceListener from the collection
</summary>
<param name="listener">The TraceListener to remove from the collection.</param>
</member>
<member name="P:FluentFTP.FtpTrace.LogFunctions">
<summary>
Should the function calls be logged in Verbose mode?
</summary>
</member>
<member name="P:FluentFTP.FtpTrace.LogIP">
<summary>
Should the FTP server IP addresses be included in the logs?
</summary>
</member>
<member name="P:FluentFTP.FtpTrace.LogUserName">
<summary>
Should the FTP usernames be included in the logs?
</summary>
</member>
<member name="P:FluentFTP.FtpTrace.LogPassword">
<summary>
Should the FTP passwords be included in the logs?
</summary>
</member>
<member name="P:FluentFTP.FtpTrace.EnableTracing">
<summary>
Should we trace at all?
</summary>
</member>
<member name="M:FluentFTP.FtpTrace.Write(System.String)">
<summary>
Write to the TraceListeners
</summary>
<param name="message">The message to write</param>
</member>
<member name="M:FluentFTP.FtpTrace.WriteLine(System.Object)">
<summary>
Write to the TraceListeners
</summary>
<param name="message">The message to write</param>
</member>
<member name="M:FluentFTP.FtpTrace.WriteLine(FluentFTP.FtpTraceLevel,System.Object)">
<summary>
Write to the TraceListeners
</summary>
<param name="eventType">The type of tracing event</param>
<param name="message">The message to write</param>
</member>
<member name="M:FluentFTP.FtpTrace.WriteStatus(FluentFTP.FtpTraceLevel,System.Object)">
<summary>
Write to the TraceListeners, adding an automatic prefix to the message based on the `eventType`
</summary>
<param name="eventType">The type of tracing event</param>
<param name="message">The message to write</param>
</member>
<member name="M:FluentFTP.FtpTrace.WriteFunc(System.String,System.Object[])">
<summary>
Write to the TraceListeners, for the purpose of logging a API function call
</summary>
<param name="function">The name of the API function</param>
<param name="args">The args passed to the function</param>
</member>
<member name="M:FluentFTP.FtpTrace.Write(FluentFTP.FtpTraceLevel,System.String)">
<summary>
Write to the TraceListeners
</summary>
<param name="eventType">The type of tracing event</param>
<param name="message">A formattable string to write</param>
</member>
<member name="T:FluentFTP.Proxy.FtpClientHttp11Proxy">
<summary> A FTP client with a HTTP 1.1 proxy implementation. </summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.#ctor(FluentFTP.Proxy.ProxyInfo)">
<summary> A FTP client with a HTTP 1.1 proxy implementation </summary>
<param name="proxy">Proxy information</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.Handshake">
<summary> Redefine the first dialog: HTTP Frame for the HTTP 1.1 Proxy </summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.Create">
<summary>
Creates a new instance of this class. Useful in FTP proxy classes.
</summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.Connect(FluentFTP.FtpSocketStream)">
<summary>
Connects to the server using an existing <see cref="T:FluentFTP.FtpSocketStream"/>
</summary>
<param name="stream">The existing socket stream</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.ConnectAsync(FluentFTP.FtpSocketStream)">
<summary>
Connects to the server using an existing <see cref="T:FluentFTP.FtpSocketStream"/>
</summary>
<param name="stream">The existing socket stream</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.Connect(FluentFTP.FtpSocketStream,System.String,System.Int32,FluentFTP.FtpIpVersion)">
<summary>
Connects to the server using an existing <see cref="T:FluentFTP.FtpSocketStream"/>
</summary>
<param name="stream">The existing socket stream</param>
<param name="host">Host name</param>
<param name="port">Port number</param>
<param name="ipVersions">IP version to use</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientHttp11Proxy.ConnectAsync(FluentFTP.FtpSocketStream,System.String,System.Int32,FluentFTP.FtpIpVersion)">
<summary>
Connects to the server using an existing <see cref="T:FluentFTP.FtpSocketStream"/>
</summary>
<param name="stream">The existing socket stream</param>
<param name="host">Host name</param>
<param name="port">Port number</param>
<param name="ipVersions">IP version to use</param>
</member>
<member name="T:FluentFTP.Proxy.FtpClientProxy">
<summary>
Abstraction of an FtpClient with a proxy
</summary>
</member>
<member name="P:FluentFTP.Proxy.FtpClientProxy.Proxy">
<summary> The proxy connection info. </summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientProxy.#ctor(FluentFTP.Proxy.ProxyInfo)">
<summary> A FTP client with a HTTP 1.1 proxy implementation </summary>
<param name="proxy">Proxy information</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientProxy.Connect(FluentFTP.FtpSocketStream)">
<summary> Redefine connect for FtpClient : authentication on the Proxy </summary>
<param name="stream">The socket stream.</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientProxy.ConnectAsync(FluentFTP.FtpSocketStream)">
<summary> Redefine connect for FtpClient : authentication on the Proxy </summary>
<param name="stream">The socket stream.</param>
</member>
<member name="T:FluentFTP.Proxy.FtpClientUserAtHostProxy">
<summary> A FTP client with a user@host proxy identification. </summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientUserAtHostProxy.#ctor(FluentFTP.Proxy.ProxyInfo)">
<summary> A FTP client with a user@host proxy identification. </summary>
<param name="proxy">Proxy information</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientUserAtHostProxy.Create">
<summary>
Creates a new instance of this class. Useful in FTP proxy classes.
</summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientUserAtHostProxy.Handshake">
<summary> Redefine the first dialog: auth with proxy information </summary>
</member>
<member name="T:FluentFTP.Proxy.FtpClientUserAtHostProxyBlueCoat">
<summary>
A FTP client with a user@host proxy identification, that works with Blue Coat FTP Service servers.
The 'blue coat variant' forces the client to wait for a 220 FTP response code in
the handshake phase.
</summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientUserAtHostProxyBlueCoat.#ctor(FluentFTP.Proxy.ProxyInfo)">
<summary> A FTP client with a user@host proxy identification. </summary>
<param name="proxy">Proxy information</param>
</member>
<member name="M:FluentFTP.Proxy.FtpClientUserAtHostProxyBlueCoat.Create">
<summary>
Creates a new instance of this class. Useful in FTP proxy classes.
</summary>
</member>
<member name="M:FluentFTP.Proxy.FtpClientUserAtHostProxyBlueCoat.Handshake">
<summary> Redefine the first dialog: auth with proxy information </summary>
</member>
<member name="T:FluentFTP.Proxy.ProxyInfo">
<summary> POCO holding proxy information</summary>
</member>
<member name="P:FluentFTP.Proxy.ProxyInfo.Host">
<summary> Proxy host name </summary>
</member>
<member name="P:FluentFTP.Proxy.ProxyInfo.Port">
<summary> Proxy port </summary>
</member>
<member name="P:FluentFTP.Proxy.ProxyInfo.Credentials">
<summary> Proxy login credentials </summary>
</member>
<member name="T:FluentFTP.FtpDataStream">
<summary>
Base class for data stream connections
</summary>
</member>
<member name="P:FluentFTP.FtpDataStream.CommandStatus">
<summary>
Gets the status of the command that was used to open
this data channel
</summary>
</member>
<member name="P:FluentFTP.FtpDataStream.ControlConnection">
<summary>
Gets or sets the control connection for this data stream. Setting
the control connection causes the object to be cloned and a new
connection is made to the server to carry out the task. This ensures
that multiple streams can be opened simultaneously.
</summary>
</member>
<member name="P:FluentFTP.FtpDataStream.Length">
<summary>
Gets or sets the length of the stream. Only valid for file transfers
and only valid on servers that support the Size command.
</summary>
</member>
<member name="P:FluentFTP.FtpDataStream.Position">
<summary>
Gets or sets the position of the stream
</summary>
</member>
<member name="M:FluentFTP.FtpDataStream.Read(System.Byte[],System.Int32,System.Int32)">
<summary>
Reads data off the stream
</summary>
<param name="buffer">The buffer to read into</param>
<param name="offset">Where to start in the buffer</param>
<param name="count">Number of bytes to read</param>
<returns>The number of bytes read</returns>
</member>
<member name="M:FluentFTP.FtpDataStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
Reads data off the stream asynchronously
</summary>
<param name="buffer">The buffer to read into</param>
<param name="offset">Where to start in the buffer</param>
<param name="count">Number of bytes to read</param>
<param name="token">The cancellation token for this task</param>
<returns>The number of bytes read</returns>
</member>
<member name="M:FluentFTP.FtpDataStream.Write(System.Byte[],System.Int32,System.Int32)">
<summary>
Writes data to the stream
</summary>
<param name="buffer">The buffer to write to the stream</param>
<param name="offset">Where to start in the buffer</param>
<param name="count">The number of bytes to write to the buffer</param>
</member>
<member name="M:FluentFTP.FtpDataStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
Writes data to the stream asynchronously
</summary>
<param name="buffer">The buffer to write to the stream</param>
<param name="offset">Where to start in the buffer</param>
<param name="count">The number of bytes to write to the buffer</param>
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> for this task</param>
</member>
<member name="M:FluentFTP.FtpDataStream.SetLength(System.Int64)">
<summary>
Sets the length of this stream
</summary>
<param name="value">Value to apply to the Length property</param>
</member>
<member name="M:FluentFTP.FtpDataStream.SetPosition(System.Int64)">
<summary>
Sets the position of the stream. Intended to be used
internally by FtpControlConnection.
</summary>
<param name="pos">The position</param>
</member>
<member name="M:FluentFTP.FtpDataStream.Close">
<summary>
Closes the connection and reads the server's reply
</summary>
</member>
<member name="M:FluentFTP.FtpDataStream.#ctor(FluentFTP.FtpClient)">
<summary>
Creates a new data stream object
</summary>
<param name="conn">The control connection to be used for carrying out this operation</param>
</member>
<member name="M:FluentFTP.FtpDataStream.Finalize">
<summary>
Finalizer
</summary>
</member>
<member name="T:FluentFTP.FtpSocketStream">
<summary>
Stream class used for talking. Used by FtpClient, extended by FtpDataStream
</summary>
</member>
<member name="F:FluentFTP.FtpSocketStream.m_lastActivity">
<summary>
Used for tacking read/write activity on the socket
to determine if Poll() should be used to test for
socket connectivity. The socket in this class will
not know it has been disconnected if the remote host
closes the connection first. Using Poll() avoids
the exception that would be thrown when trying to
read or write to the disconnected socket.
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.Socket">
<summary>
The socket used for talking
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.SocketPollInterval">
<summary>
Gets or sets the length of time in milliseconds
that must pass since the last socket activity
before calling Poll() on the socket to test for
connectivity. Setting this interval too low will
have a negative impact on performance. Setting this
interval to 0 disables Poll()'ing all together.
The default value is 15 seconds.
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.SocketDataAvailable">
<summary>
Gets the number of available bytes on the socket, 0 if the
socket has not been initialized. This property is used internally
by FtpClient in an effort to detect disconnections and gracefully
reconnect the control connection.
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.IsConnected">
<summary>
Gets a value indicating if this socket stream is connected
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.IsEncrypted">
<summary>
Gets a value indicating if encryption is being used
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.NetworkStream">
<summary>
The non-encrypted stream
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.SslStream">
<summary>
The encrypted stream
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.BaseStream">
<summary>
Gets the underlying stream, could be a NetworkStream or SslStream
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.CanRead">
<summary>
Gets a value indicating if this stream can be read
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.CanSeek">
<summary>
Gets a value indicating if this stream if seekable
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.CanWrite">
<summary>
Gets a value indicating if this stream can be written to
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.Length">
<summary>
Gets the length of the stream
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.Position">
<summary>
Gets the current position of the stream. Trying to
set this property throws an InvalidOperationException()
</summary>
</member>
<member name="E:FluentFTP.FtpSocketStream.ValidateCertificate">
<summary>
Event is fired when a SSL certificate needs to be validated
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.ReadTimeout">
<summary>
Gets or sets the amount of time to wait for a read operation to complete. Default
value is Timeout.Infinite.
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.ConnectTimeout">
<summary>
Gets or sets the length of time milliseconds to wait
for a connection succeed before giving up. The default
is 30000 (30 seconds).
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.LocalEndPoint">
<summary>
Gets the local end point of the socket
</summary>
</member>
<member name="P:FluentFTP.FtpSocketStream.RemoteEndPoint">
<summary>
Gets the remote end point of the socket
</summary>
</member>
<member name="M:FluentFTP.FtpSocketStream.OnValidateCertificate(System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
<summary>
Fires the SSL certificate validation event
</summary>
<param name="certificate">Certificate being validated</param>
<param name="chain">Certificate chain</param>
<param name="errors">Policy errors if any</param>
<returns>True if it was accepted, false otherwise</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.Seek(System.Int64,System.IO.SeekOrigin)">
<summary>
Throws an InvalidOperationException
</summary>
<param name="offset">Ignored</param>
<param name="origin">Ignored</param>
<returns></returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.SetLength(System.Int64)">
<summary>
Throws an InvalidOperationException
</summary>
<param name="value">Ignored</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.Flush">
<summary>
Flushes the stream
</summary>
</member>
<member name="M:FluentFTP.FtpSocketStream.FlushAsync(System.Threading.CancellationToken)">
<summary>
Flushes the stream asynchronously
</summary>
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> for this task</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.RawSocketRead(System.Byte[])">
<summary>
Bypass the stream and read directly off the socket.
</summary>
<param name="buffer">The buffer to read into</param>
<returns>The number of bytes read</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.RawSocketReadAsync(System.Byte[])">
<summary>
Bypass the stream and read directly off the socket.
</summary>
<param name="buffer">The buffer to read into</param>
<returns>The number of bytes read</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.Read(System.Byte[],System.Int32,System.Int32)">
<summary>
Reads data from the stream
</summary>
<param name="buffer">Buffer to read into</param>
<param name="offset">Where in the buffer to start</param>
<param name="count">Number of bytes to be read</param>
<returns>The amount of bytes read from the stream</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
Reads data from the stream
</summary>
<param name="buffer">Buffer to read into</param>
<param name="offset">Where in the buffer to start</param>
<param name="count">Number of bytes to be read</param>
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> for this task</param>
<returns>The amount of bytes read from the stream</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.ReadLine(System.Text.Encoding)">
<summary>
Reads a line from the socket
</summary>
<param name="encoding">The type of encoding used to convert from byte[] to string</param>
<returns>A line from the stream, null if there is nothing to read</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.ReadAllLines(System.Text.Encoding,System.Int32)">
<summary>
Reads all line from the socket
</summary>
<param name="encoding">The type of encoding used to convert from byte[] to string</param>
<param name="bufferSize">The size of the buffer</param>
<returns>A list of lines from the stream</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.ReadLineAsync(System.Text.Encoding,System.Threading.CancellationToken)">
<summary>
Reads a line from the socket asynchronously
</summary>
<param name="encoding">The type of encoding used to convert from byte[] to string</param>
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> for this task</param>
<returns>A line from the stream, null if there is nothing to read</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.ReadLineAsync(System.Text.Encoding)">
<summary>
Reads a line from the socket asynchronously
</summary>
<param name="encoding">The type of encoding used to convert from byte[] to string</param>
<returns>A line from the stream, null if there is nothing to read</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.ReadAllLinesAsync(System.Text.Encoding,System.Int32)">
<summary>
Reads all line from the socket
</summary>
<param name="encoding">The type of encoding used to convert from byte[] to string</param>
<param name="bufferSize">The size of the buffer</param>
<returns>A list of lines from the stream</returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.Write(System.Byte[],System.Int32,System.Int32)">
<summary>
Writes data to the stream
</summary>
<param name="buffer">Buffer to write to stream</param>
<param name="offset">Where in the buffer to start</param>
<param name="count">Number of bytes to be read</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
Writes data to the stream asynchronously
</summary>
<param name="buffer">Buffer to write to stream</param>
<param name="offset">Where in the buffer to start</param>
<param name="count">Number of bytes to be read</param>
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> for this task</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.WriteLine(System.Text.Encoding,System.String)">
<summary>
Writes a line to the stream using the specified encoding
</summary>
<param name="encoding">Encoding used for writing the line</param>
<param name="buf">The data to write</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.WriteLineAsync(System.Text.Encoding,System.String,System.Threading.CancellationToken)">
<summary>
Writes a line to the stream using the specified encoding asynchronously
</summary>
<param name="encoding">Encoding used for writing the line</param>
<param name="buf">The data to write</param>
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> for this task</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.WriteLineAsync(System.Text.Encoding,System.String)">
<summary>
Writes a line to the stream using the specified encoding asynchronously
</summary>
<param name="encoding">Encoding used for writing the line</param>
<param name="buf">The data to write</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.Dispose(System.Boolean)">
<summary>
Disconnects from server
</summary>
</member>
<member name="M:FluentFTP.FtpSocketStream.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Boolean)">
<summary>
Sets socket options on the underlying socket
</summary>
<param name="level">SocketOptionLevel</param>
<param name="name">SocketOptionName</param>
<param name="value">SocketOptionValue</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.Connect(System.String,System.Int32,FluentFTP.FtpIpVersion)">
<summary>
Connect to the specified host
</summary>
<param name="host">The host to connect to</param>
<param name="port">The port to connect to</param>
<param name="ipVersions">Internet Protocol versions to support during the connection phase</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.ConnectAsync(System.String,System.Int32,FluentFTP.FtpIpVersion)">
<summary>
Connect to the specified host
</summary>
<param name="host">The host to connect to</param>
<param name="port">The port to connect to</param>
<param name="ipVersions">Internet Protocol versions to support during the connection phase</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.ActivateEncryption(System.String)">
<summary>
Activates SSL on this stream using default protocols. Fires the ValidateCertificate event.
If this event is not handled and there are SslPolicyErrors present, the certificate will
not be accepted.
</summary>
<param name="targethost">The host to authenticate the certificate against</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.ActivateEncryptionAsync(System.String)">
<summary>
Activates SSL on this stream using default protocols. Fires the ValidateCertificate event.
If this event is not handled and there are SslPolicyErrors present, the certificate will
not be accepted.
</summary>
<param name="targethost">The host to authenticate the certificate against</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.ActivateEncryption(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
<summary>
Activates SSL on this stream using default protocols. Fires the ValidateCertificate event.
If this event is not handled and there are SslPolicyErrors present, the certificate will
not be accepted.
</summary>
<param name="targethost">The host to authenticate the certificate against</param>
<param name="clientCerts">A collection of client certificates to use when authenticating the SSL stream</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.ActivateEncryptionAsync(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
<summary>
Activates SSL on this stream using default protocols. Fires the ValidateCertificate event.
If this event is not handled and there are SslPolicyErrors present, the certificate will
not be accepted.
</summary>
<param name="targethost">The host to authenticate the certificate against</param>
<param name="clientCerts">A collection of client certificates to use when authenticating the SSL stream</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.ActivateEncryption(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols)">
<summary>
Activates SSL on this stream using the specified protocols. Fires the ValidateCertificate event.
If this event is not handled and there are SslPolicyErrors present, the certificate will
not be accepted.
</summary>
<param name="targethost">The host to authenticate the certificate against</param>
<param name="clientCerts">A collection of client certificates to use when authenticating the SSL stream</param>
<param name="sslProtocols">A bitwise parameter for supported encryption protocols.</param>
<exception cref="T:System.Security.Authentication.AuthenticationException">Thrown when authentication fails</exception>
</member>
<member name="M:FluentFTP.FtpSocketStream.ActivateEncryptionAsync(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols)">
<summary>
Activates SSL on this stream using the specified protocols. Fires the ValidateCertificate event.
If this event is not handled and there are SslPolicyErrors present, the certificate will
not be accepted.
</summary>
<param name="targethost">The host to authenticate the certificate against</param>
<param name="clientCerts">A collection of client certificates to use when authenticating the SSL stream</param>
<param name="sslProtocols">A bitwise parameter for supported encryption protocols.</param>
<exception cref="T:System.Security.Authentication.AuthenticationException">Thrown when authentication fails</exception>
</member>
<member name="M:FluentFTP.FtpSocketStream.DeactivateEncryption">
<summary>
Deactivates SSL on this stream using the specified protocols and reverts back to plain-text FTP.
</summary>
</member>
<member name="M:FluentFTP.FtpSocketStream.Listen(System.Net.IPAddress,System.Int32)">
<summary>
Instructs this stream to listen for connections on the specified address and port
</summary>
<param name="address">The address to listen on</param>
<param name="port">The port to listen on</param>
</member>
<member name="M:FluentFTP.FtpSocketStream.Accept">
<summary>
Accepts a connection from a listening socket
</summary>
</member>
<member name="M:FluentFTP.FtpSocketStream.AcceptAsync">
<summary>
Accepts a connection from a listening socket
</summary>
</member>
<member name="M:FluentFTP.FtpSocketStream.BeginAccept(System.AsyncCallback,System.Object)">
<summary>
Asynchronously accepts a connection from a listening socket
</summary>
<param name="callback"></param>
<param name="state"></param>
<returns></returns>
</member>
<member name="M:FluentFTP.FtpSocketStream.EndAccept(System.IAsyncResult)">
<summary>
Completes a BeginAccept() operation
</summary>
<param name="ar">IAsyncResult returned from BeginAccept</param>
</member>
<member name="T:FluentFTP.FtpSslStream">
<summary>
.NET SslStream doesn't close TLS connection properly.
It does not send the close_notify alert before closing the connection.
FtpSslStream uses unsafe code to do that.
This is required when we want to downgrade the connection to plaintext using CCC command.
Thanks to Neco @ https://stackoverflow.com/questions/237807/net-sslstream-doesnt-close-tls-connection-properly/22626756#22626756
</summary>
</member>
<member name="M:FluentFTP.SslDirectCall.CloseNotify(System.Net.Security.SslStream)">
<summary>
Send an SSL close_notify alert.
</summary>
<param name="sslStream"></param>
</member>
<member name="T:FluentFTP.FtpExtensions">
<summary>
Extension methods related to FTP tasks
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.GetFtpPath(System.String)">
<summary>
Converts the specified path into a valid FTP file system path
</summary>
<param name="path">The file system path</param>
<returns>A path formatted for FTP</returns>
</member>
<member name="M:FluentFTP.FtpExtensions.GetFtpPath(System.String,System.String[])">
<summary>
Creates a valid FTP path by appending the specified segments to this string
</summary>
<param name="path">This string</param>
<param name="segments">The path segments to append</param>
<returns>A valid FTP path</returns>
</member>
<member name="M:FluentFTP.FtpExtensions.GetFtpDirectoryName(System.String)">
<summary>
Gets the parent directory path (formatted for a FTP server)
</summary>
<param name="path">The path</param>
<returns>The parent directory path</returns>
</member>
<member name="M:FluentFTP.FtpExtensions.GetFtpFileName(System.String)">
<summary>
Gets the file name and extension from the path
</summary>
<param name="path">The full path to the file</param>
<returns>The file name</returns>
</member>
<member name="M:FluentFTP.FtpExtensions.GetFtpDate(System.String,System.Globalization.DateTimeStyles)">
<summary>
Tries to convert the string FTP date representation into a <see cref="T:System.DateTime"/> object
</summary>
<param name="date">The date</param>
<param name="style">UTC/Local Time</param>
<returns>A <see cref="T:System.DateTime"/> object representing the date, or <see cref="F:System.DateTime.MinValue"/> if there was a problem</returns>
</member>
<member name="M:FluentFTP.FtpExtensions.FileSizeToString(System.Int32)">
<summary>
Converts a file size in bytes to a string representation (eg. 12345 becomes 12.3 KB)
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.FileSizeToString(System.UInt32)">
<summary>
Converts a file size in bytes to a string representation (eg. 12345 becomes 12.3 KB)
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.FileSizeToString(System.UInt64)">
<summary>
Converts a file size in bytes to a string representation (eg. 12345 becomes 12.3 KB)
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.FileSizeToString(System.Int64)">
<summary>
Converts a file size in bytes to a string representation (eg. 12345 becomes 12.3 KB)
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.FromAsync``5(System.Threading.Tasks.TaskFactory,System.Func{``0,``1,``2,``3,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``4},``0,``1,``2,``3,System.Object)">
<summary>
This creates a <see cref="T:System.Threading.Tasks.Task`1"/> that represents a pair of begin and end methods
that conform to the Asynchronous Programming Model pattern. This extends the maximum amount of arguments from
<see cref="o:System.Threading.TaskFactory.FromAsync"/> to 4 from a 3.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref name="beginMethod"/> delegate</typeparam>
<typeparam name="TArg2">The type of the second argument passed to the <paramref name="beginMethod"/> delegate</typeparam>
<typeparam name="TArg3">The type of the third argument passed to the <paramref name="beginMethod"/> delegate</typeparam>
<typeparam name="TArg4">The type of the forth argument passed to the <paramref name="beginMethod"/> delegate</typeparam>
<typeparam name="TResult">The type of the result.</typeparam>
<param name="factory">The <see cref="T:System.Threading.Tasks.TaskFactory"/> used</param>
<param name="beginMethod">The delegate that begins the asynchronous operation</param>
<param name="endMethod">The delegate that ends the asynchronous operation</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/> delegate</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/> delegate</param>
<param name="arg3">The third argument passed to the <paramref name="beginMethod"/> delegate</param>
<param name="arg4">The forth argument passed to the <paramref name="beginMethod"/> delegate</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/> delegate</param>
<returns>The created <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous operation</returns>
<exception cref="T:System.ArgumentNullException">
beginMethod is null
or
endMethod is null
</exception>
</member>
<member name="M:FluentFTP.FtpExtensions.IsValidCombination(FluentFTP.FtpError)">
<summary>
Validates that the FtpError flags set are not in an invalid combination.
</summary>
<param name="options">The error handling options set</param>
<returns>True if a valid combination, otherwise false</returns>
</member>
<member name="M:FluentFTP.FtpExtensions.IsNullOrWhiteSpace(System.String)">
<summary>
Checks if every character in the string is whitespace, or the string is null.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.IsBlank(System.String)">
<summary>
Checks if the string is null or 0 length.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.IsBlank(System.Collections.IList)">
<summary>
Checks if the array is null or 0 length.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.IsBlank(System.Collections.IEnumerable)">
<summary>
Checks if the array is null or 0 length.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.Join(System.String[],System.String)">
<summary>
Join the given strings by a delimiter.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.Join(System.Collections.Generic.List{System.String},System.String)">
<summary>
Join the given strings by a delimiter.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.AddPrefix(System.String[],System.String,System.Boolean)">
<summary>
Adds a prefix to the given strings, returns a new array.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.AddPrefix(System.Collections.Generic.List{System.String},System.String,System.Boolean)">
<summary>
Adds a prefix to the given strings, returns a new array.
</summary>
</member>
<member name="M:FluentFTP.FtpExtensions.ItemsToString(System.Object[])">
<summary>
Adds a prefix to the given strings, returns a new array.
</summary>
</member>
</members>
</doc>