<doc>
  <assembly>
    <name>Rebex.FileTransfer</name>
  </assembly>
  <members>
    <member name="T:Rebex.Net.FileTransferClient">
      <summary>
            This class is based on <see cref="T:Rebex.Net.IFtp" /> interface and provide common functionality for FTP, FTP/SSL and SFTP protocols.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.#ctor">
      <summary>
            Creates new instance of FileTransferClient class.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.Inner">
      <summary>
            Gets the inner protocol client. It can be <see cref="T:Rebex.Net.Ftp" /> or <see cref="T:Rebex.Net.Sftp" /> class instance. This is based on Connect method parameter.
            </summary>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.ValidatingCertificate">
      <summary>
            Occurs when an FTP/SSL server certificate needs to be validated.
            </summary>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.FingerprintCheck">
      <summary>
            Occurs when a fingerprint is received from the server and needs to be validated.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.UserName">
      <summary>
            Gets the authenticated user name, if available.
            </summary>
      <value>User name, or null (Nothing in VB.NET).</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.ServerName">
      <summary>
            Gets the server name, if available.
            </summary>
      <value>Server name, or null (Nothing in VB.NET).</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.ServerPort">
      <summary>
            Gets the server port, if available.
            </summary>
      <value>server port, or 0.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.IsConnected">
      <summary>
            Gets a value indicating whether the session is connected.
            </summary>
      <remarks>
        <p>
            This property returns the latest known state of the session.
            When it returns false, the session was either never connected, or no longer connected.
            When it returns true, the session was connected at the time of the last I/O operation.
            </p>
        <p>
          <b>Note:</b> There is no guarantee that the session is still connected even though
            <see cref="P:Rebex.Net.IFtp.IsConnected" /> returns true.
            </p>
      </remarks>
      <value>True if connected; false otherwise.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.IsAuthenticated">
      <summary>
            Gets a value indicating whether the session is authenticated.
            </summary>
      <value>True if authenticated; false otherwise.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.Settings">
      <summary>
            Gets the options set used by this object.
            </summary>
      <value>An options object.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.LocalEndPoint">
      <summary>
            Gets the local client <see cref="T:System.Net.EndPoint" />.
            </summary>
      <value>The local client <see cref="T:System.Net.EndPoint" />.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.RemoteEndPoint">
      <summary>
            Gets the remote server <see cref="T:System.Net.EndPoint" />.
            </summary>
      <value>The remote server <see cref="T:System.Net.EndPoint" />.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.IsSecured">
      <summary>
            Gets the value indicating whether the control connection is secured.
            </summary>
      <value>True if secure, false if not secure.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.Fingerprint">
      <summary>
            Gets the server public key fingerprint (for SFTP) or the server certificate thumbprint (for FTP/SSL).
            </summary>
      <value>Server fingerprint/thumbprint or null (for unsecured FTP).</value>
      <exception cref="T:System.InvalidOperationException">When this object has not been connected to the server.</exception>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.Proxy">
      <summary>
            Gets or sets the network proxy to use to access a remote server.
            </summary>
      <value>The <see cref="P:Rebex.Net.FileTransferClient.Proxy" /> to use to access a remote server.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.FtpPassiveMode">
      <summary>
            Gets or sets a value which specifies the way data transfers are made. This is used only when FTP protocol is used.
            </summary>
      <value>The file transfer type. Default is true (passive).</value>
      <remarks>
        <p>Passive mode - data transfer connections are made by the client, which connects to the server.</p>
        <p>Active mode - data transfer connections are made by the server, which connects to the client.</p>
        <p>Firewalls and NATs often make it impossible to use active transfers.</p>
        <p>When using HTTP CONNECT proxy, this property is ignored and all transfers are passive.</p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.FtpTransferMode">
      <summary>
            Gets or sets the data transfer mode. This is used only when FTP protocol is used.
            </summary>
      <value>The file transfer mode. Default is <see cref="P:Rebex.Net.FileTransferClient.FtpTransferMode">Stream</see>.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.IsBusy">
      <summary>
            Gets a value indicating whether there any operation (method) in progress. This is used only when FTP protocol is used.
            </summary>
      <returns>True if there is any operation in progress; false otherwise.</returns>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.SshSession">
      <summary>
            Gets the SSH session used by the SFTP part of the client.
            </summary>
      <value>SSH session.</value>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Dispose">
      <summary>
            Disposes the object. After calling this the inner instance will be disposed as well and <see cref="P:Rebex.Net.FileTransferClient.Inner" /> will be set to null.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Connect(System.String,Rebex.Net.FileTransferMode)">
      <summary>
            Connects to the server using chosen protocol.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="transferMode">Which protocol will be used for communication to the server.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Connect(System.String,System.Int32,Rebex.Net.FileTransferMode)">
      <summary>
            Connects to the server using chosen protocol.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="serverPort">The server port (e.g. 21).</param>
      <param name="transferMode">Which protocol will be used for communication to the server.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Disconnect">
      <summary>
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DisconnectAsync(System.Object)">
      <summary>
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Login(System.String,System.String)">
      <summary>
            Authenticates the user to the server.
            </summary>
      <param name="userName">The username.</param>
      <param name="password">Password for the given username.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Login(System.String,System.String,System.String)">
      <summary>
            Authenticates the user to the FTP server. This method cannot be used with SFTP protocol.
            </summary>
      <param name="userName">The username.</param>
      <param name="password">Password for the given username.</param>
      <param name="account">Account for the given username.</param>
      <returns>The logon message returned by the remote server.</returns>
      <remarks>
        <p>Represents FTP USER/PASS/ACCT command triplet.</p>
        <p>For anonymous logins, use "anonymous" as a username and an email as a password (and no account).</p>
        <p>If userName is a <b>null</b> reference, "anonymous" is used. If password is a <b>null</b> reference, "guest" is used.</p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Login(System.String,System.String,Rebex.Net.SshPrivateKey)">
      <summary>
            Authenticates the user to the server using a combination of password and public key and initializes the SFTP session.
            This method cannot be used with FTP protocol.
            </summary>
      <param name="userName">The username.</param>
      <param name="password">Password for the specified username.</param>
      <param name="privateKey">RSA or DSA private key for key-based authentication.</param>
      <remarks>Please note that some servers don't support both password and private key specified at the same time.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Login(System.String,Rebex.Net.SshPrivateKey)">
      <summary>
            Authenticates the user to the server using his private key and initializes the SFTP session.
            </summary>
      <param name="userName">The username.</param>
      <param name="privateKey">RSA or DSA private key for key-based authentication.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Login(Rebex.Net.SshGssApiCredentials)">
      <summary>
            Authenticates to the server using GSSAPI. Kerberos (not on .NET CF) and NTLM methods are supported.
            This method cannot be used with FTP protocol.
            </summary>
      <param name="credentials">Credentials.</param>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.ConnectAsync(System.String,Rebex.Net.FileTransferMode,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the server using chosen protocol.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="transferMode">Which protocol will be used for communication to the server.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.ConnectAsync(System.String,System.Int32,Rebex.Net.FileTransferMode,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the server using chosen protocol.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="serverPort">The server port (e.g. 21).</param>
      <param name="transferMode">Which protocol will be used for communication to the server.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.LoginAsync(System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the server.
            </summary>
      <param name="userName">The username.</param>
      <param name="password">Password for the given username.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.LoginAsync(System.String,System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the FTP server. This method cannot be used with SFTP protocol.
            </summary>
      <param name="userName">The username.</param>
      <param name="password">Password for the given username.</param>
      <param name="account">Account for the given username.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>The logon message returned by the remote server.</returns>
      <remarks>
        <p>Represents FTP USER/PASS/ACCT command triplet.</p>
        <p>For anonymous logins, use "anonymous" as a username and an email as a password (and no account).</p>
        <p>If userName is a <b>null</b> reference, "anonymous" is used. If password is a <b>null</b> reference, "guest" is used.</p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.LoginAsync(System.String,System.String,Rebex.Net.SshPrivateKey,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the server using a combination of password and public key and initializes the SFTP session.
            This method cannot be used with FTP protocol.
            </summary>
      <param name="userName">The username.</param>
      <param name="password">Password for the specified username.</param>
      <param name="privateKey">RSA or DSA private key for key-based authentication.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <remarks>Please note that some servers don't support both password and private key specified at the same time.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.LoginAsync(System.String,Rebex.Net.SshPrivateKey,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the server using his private key and initializes the SFTP session.
            </summary>
      <param name="userName">The username.</param>
      <param name="privateKey">RSA or DSA private key for key-based authentication.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.LoginAsync(Rebex.Net.SshGssApiCredentials,System.Object)">
      <summary>
            Authenticates to the server using GSSAPI. Kerberos (not on .NET CF) and NTLM methods are supported.
            This method cannot be used with FTP protocol.
            </summary>
      <param name="credentials">Credentials.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.SetSocketFactory(Rebex.Net.ISocketFactory)">
      <summary>
            Sets the socket factory to be used to create communication sockets.
            </summary>
      <param name="factory">Socket factory.</param>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.Encoding">
      <summary>
            Gets or sets the <see cref="T:System.Text.Encoding">Encoding</see> to use to encode and decode command parameters and server responses.
            </summary>
      <value>The <see cref="T:System.Text.Encoding">Encoding</see> to use to encode and decode command parameters and server responses. Default is <see cref="T:System.Text.Encoding">Encoding.Default</see>.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.MaxDownloadSpeed">
      <summary>
            Gets or sets the maximum allowed download speed, in kilobytes. For unlimited speed, set this to zero.
            </summary>
      <value>Maximum allowed download speed.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.MaxUploadSpeed">
      <summary>
            Gets or sets the maximum allowed upload speed, in kilobytes. For unlimited speed, set this to zero.
            </summary>
      <value>Maximum allowed upload speed.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.Timeout">
      <summary>
            Gets or sets the length of time in milliseconds before the operation times out (specify -1 or 0 to indicate that the request does not time out).
            </summary>
      <value>
            The length of time, in milliseconds, until the operation times out,
            or the value -1 or 0 to indicate that the request does not time out.
            Default is 60000 (60 seconds).
            </value>
      <remarks>
        <p>
            The internal timeout counter is reset every time data is sent
            or received from to server. This also means that data transfers only
            time out after x milliseconds of inactivity, not after x milliseconds
            from the start of the transfer.
            </p>
        <p>
            The <see cref="P:Rebex.Net.IFtp.Timeout" /> property only affects synchronous methods. To time out asynchronous methods, use the <see cref="M:Rebex.Net.IFtp.Abort" /> method.
            </p>
        <p>
            Minimal value is 1000. Setting this to a value lower than 1000 will set it to 1000.
            </p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferClient.TransferType">
      <summary>
            Gets or sets the data transfer type.
            </summary>
      <value>The file transfer type. Default is <see cref="F:Rebex.Net.TransferType.Binary" />.</value>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.ProblemDetected">
      <summary>
            Occurs when a problem is detected in <see cref="M:Rebex.Net.IFtp.Download(System.String,System.String)" />, <see cref="M:Rebex.Net.IFtp.Upload(System.String,System.String)" />, <see cref="M:Rebex.Net.IFtp.Delete(System.String,Rebex.IO.TraversalMode)" /> or <see cref="M:Rebex.Net.IFtp.GetItems(System.String)" /> methods,
            making it possible for the handler to choose a desired reaction.
            </summary>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.Traversing">
      <summary>
            Occurs when a significant action occurs in <see cref="M:Rebex.Net.IFtp.Download(System.String,System.String)" />, <see cref="M:Rebex.Net.IFtp.Upload(System.String,System.String)" />, <see cref="M:Rebex.Net.IFtp.Delete(System.String,Rebex.IO.TraversalMode)" /> or <see cref="M:Rebex.Net.IFtp.GetItems(System.String)" /> methods.
            Notifies the client about traversing hierarchy structure.
            </summary>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.TransferProgressChanged">
      <summary>
            Occurs when a significant action occurs in <see cref="M:Rebex.Net.IFtp.Download(System.String,System.String)" />, <see cref="M:Rebex.Net.IFtp.Upload(System.String,System.String)" /> methods.
            Notifies the client about currently processing directory, currently transferring file and progress of the transfer.
            </summary>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.DeleteProgressChanged">
      <summary>
            Occurs when a significant action occurs in <see cref="M:Rebex.Net.IFtp.Delete(System.String,Rebex.IO.TraversalMode)" /> method.
            Notifies the client about currently processing directory, currently deleting file and progress of the delete.
            </summary>
    </member>
    <member name="E:Rebex.Net.FileTransferClient.ListItemReceived">
      <summary>
            Occurs when a file and directory listing item is received by the <see cref="M:Rebex.Net.IFtp.GetList" />, <see cref="M:Rebex.Net.IFtp.GetRawList" />, <see cref="M:Rebex.Net.IFtp.GetNameList" /> or <see cref="M:Rebex.Net.IFtp.GetItems(System.String)" /> methods.
            Notifies the client about currently processed item.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.SetFileDateTimeAsync(System.String,System.DateTime,System.Object)">
      <summary>
            Sets the modification date and time of the specified remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="newDateTime">The date and time to set.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DeleteFileAsync(System.String,System.Object)">
      <summary>
            Deletes a file on the server.
            </summary>
      <param name="remotePath">The path to the file to be deleted.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DeleteAsync(System.String,Rebex.IO.TraversalMode,System.Object)">
      <summary>
            Deletes specified files and/or directories on the server. Accepts wildcards.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DeleteAsync(Rebex.IO.FileSet,System.Object)">
      <summary>
            Deletes specified files and/or directories on the server.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be deleted.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DirectoryExistsAsync(System.String,System.Object)">
      <summary>
            Detects whether the specified directory exists on the server.
            </summary>
      <param name="remotePath">The path of the remote directory to check.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>True if the directory exists, false otherwise.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.FileExistsAsync(System.String,System.Object)">
      <summary>
            Detects whether the specified file exists on the server.
            </summary>
      <param name="remotePath">The path of the remote file to check.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>True if the file exists, false otherwise.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetCurrentDirectoryAsync(System.Object)">
      <summary>
            Gets the absolute path of the current working directory on the remote server.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>A string containing the absolute path of the current working remote directory.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileDateTimeAsync(System.String,System.Object)">
      <summary>
            Retrieves the modification date and time of the specified remote file.
            </summary>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>A <see cref="T:System.DateTime" /> value set to date and time that the specified file was modified.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileLengthAsync(System.String,System.Object)">
      <summary>
            Retrieves the size of the specified remote file.
            </summary>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>The size of the specified file in bytes.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetInfoAsync(System.String,System.Boolean,System.Object)">
      <summary>
            Retrieves a <see cref="T:Rebex.IO.FileSystemItem" /> containing the information about the specified remote file or directory.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="failIfNotFound">Specifies whether to throw an exception if file not found.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Information about the remote file or directory.</returns>
      <remarks>Returns null if no file is found and failIfNotFound argument is set to false.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetDownloadStreamAsync(System.String,System.IO.SeekOrigin,System.Int64,System.Object)">
      <summary>
            Returns a Stream for reading data from the remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="origin">Position indicator that is used to obtain new position within the stream.</param>
      <param name="offset">A byte offset relative to the origin parameter.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>A Stream for reading data from the remote file.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetUploadStreamAsync(System.String,System.IO.SeekOrigin,System.Int64,System.Object)">
      <summary>
            Returns a Stream for writing data to the remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <returns>A Stream for writing data to the remote file.</returns>
      <param name="origin">Position indicator that is used to obtain new position within the stream.</param>
      <param name="offset">A byte offset relative to the origin parameter.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <remarks>
            Because the FTP protocol does not support processing multiple commands or transfers at the same time,
            the stream has to be closed before any other FTP operation can be used.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileAsync(System.String,System.IO.Stream,System.Object)">
      <summary>
            Downloads the specified emote file to the data stream.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="outputStream">The output stream.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the local file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileAsync(System.String,System.IO.Stream,System.Int64,System.Object)">
      <summary>
            Downloads the specified part of the remote file to the data stream.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="outputStream">The output stream.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the local file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileAsync(System.String,System.String,System.Object)">
      <summary>
            Downloads the remote file to the specified local file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="localPath">The path of the local file. This cannot be a directory.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the local file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileAsync(System.String,System.String,System.Int64,System.Int64,System.Object)">
      <summary>
            Downloads the specified part of the remote file to the specified offset of the local file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="localPath">The path of the local file. This cannot be a directory.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="localOffset">The starting offset in the local file.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the local file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFileAsync(System.IO.Stream,System.String,System.Object)">
      <summary>
            Uploads the content of the data stream to the specified offset of the file on the server.
            </summary>
      <param name="sourceStream">The source data stream.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the remote file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFileAsync(System.IO.Stream,System.String,System.Int64,System.Int64,System.Object)">
      <summary>
            Uploads the content of the data stream to the specified offset of the file on the server.
            </summary>
      <param name="sourceStream">The source data stream.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="length">Number of bytes to transfer or -1 to transfer all data until an end is reached.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the remote file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFileAsync(System.String,System.String,System.Object)">
      <summary>
            Uploads the specified part of the local file to the specified offset of the file on the server.
            </summary>
      <param name="localPath">The path of the local file.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the remote file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFileAsync(System.String,System.String,System.Int64,System.Int64,System.Int64,System.Object)">
      <summary>
            Uploads the specified part of the local file to the specified offset of the file on the server.
            </summary>
      <param name="localPath">The path of the local file.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="localOffset">The starting offset in the local file.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="length">Number of bytes to transfer or -1 to transfer all data until an end is reached.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the remote file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DownloadAsync(System.String,System.String,Rebex.IO.TraversalMode,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles,System.Object)">
      <summary>
            Downloads the specified file or directory hierarchy from the server to the local directory. Accepts wildcards.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DownloadAsync(Rebex.IO.FileSet,System.String,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles,System.Object)">
      <summary>
            Downloads the specified files and/or directories from the server to the local directory.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be downloaded.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.UploadAsync(System.String,System.String,Rebex.IO.TraversalMode,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles,System.Object)">
      <summary>
            Uploads the specified file or directory hierarchy to the directory on the server. Accepts wildcards.
            </summary>
      <param name="localPath">The path of the local file or directory.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.UploadAsync(Rebex.IO.FileSet,System.String,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles,System.Object)">
      <summary>
            Uploads the specified local files and/or directories to the directory to the server.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be uploaded.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetItemsAsync(System.String,Rebex.IO.TraversalMode,System.Object)">
      <summary>
            Retrieves the list of files and directories.
            </summary>
      <param name="remotePath">The path (with or without a mask) to a remote file or directory.</param>
      <param name="traversalMode">Specifies how to traverse hierarchy of directories.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetItemsAsync(Rebex.IO.FileSet,System.Object)">
      <summary>
            Retrieves the list of files and directories specified by the <paramref name="set" />.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be retrieved.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetListAsync(System.Object)">
      <summary>
            Retrieves the list of files and directories in the current server directory.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetNameListAsync(System.Object)">
      <summary>
            Retrieves the list of file and directory names.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>An array of lines, with each line representing a single name.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetRawListAsync(System.Object)">
      <summary>
            Retrieves the raw list of files and directories using a raw text format.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>An array of lines, with each line representing a single item.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetListAsync(System.String,System.Object)">
      <summary>
            Retrieves the list of files and directories in the current server directory.
            </summary>
      <param name="arguments">Server and protocol-specific arguments. Usually a directory path.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetNameListAsync(System.String,System.Object)">
      <summary>
            Retrieves the list of file and directory names.
            </summary>
      <param name="arguments">Server and protocol-specific arguments. Usually a directory path.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>An array of lines, with each line representing a single name.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetRawListAsync(System.String,System.Object)">
      <summary>
            Retrieves the raw list of files and directories using a raw text format.
            </summary>
      <param name="arguments">Server and protocol-specific arguments. Usually a directory path.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>An array of lines, with each line representing a single item.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.CheckConnectionState">
      <summary>
            Checks whether the session is still connected. Throws an exception on error.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.KeepAlive">
      <summary>
            Sends a command to the server to keep the connection alive.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Abort">
      <summary>
            Abort pending operations.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.CreateDirectory(System.String)">
      <summary>
            Creates a directory on the server.
            </summary>
      <param name="remotePath">Pathname of the new remote directory.</param>
      <returns>A string containing the absolute path of the newly created remote directory.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.ChangeDirectory(System.String)">
      <summary>
            Changes the current working directory on the server.
            </summary>
      <param name="remotePath">Path of the directory to change to.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.RemoveDirectory(System.String)">
      <summary>
            Deletes an empty remote directory with the specified pathname.
            </summary>
      <param name="remotePath">Remote directory pathname.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Rename(System.String,System.String)">
      <summary>
            Renames or moves a file or directory on the server.
            </summary>
      <param name="fromPath">The pathname of the remote file or directory to be renamed.</param>
      <param name="toPath">The pathname to rename the file or directory to.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.SetFileDateTime(System.String,System.DateTime)">
      <summary>
            Sets the modification date and time of the specified remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="newDateTime">The date and time to set.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DeleteFile(System.String)">
      <summary>
            Deletes a file on the server.
            </summary>
      <param name="remotePath">The path to the file to be deleted.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Delete(System.String,Rebex.IO.TraversalMode)">
      <summary>
            Deletes specified files and/or directories on the server. Accepts wildcards.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Delete(Rebex.IO.FileSet)">
      <summary>
            Deletes specified files and/or directories on the server.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be deleted.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.DirectoryExists(System.String)">
      <summary>
            Detects whether the specified directory exists on the server.
            </summary>
      <param name="remotePath">The path of the remote directory to check.</param>
      <returns>True if the directory exists, false otherwise.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.FileExists(System.String)">
      <summary>
            Detects whether the specified file exists on the server.
            </summary>
      <param name="remotePath">The path of the remote file to check.</param>
      <returns>True if the file exists, false otherwise.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetCurrentDirectory">
      <summary>
            Gets the absolute path of the current working directory on the remote server.
            </summary>
      <returns>A string containing the absolute path of the current working remote directory.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileDateTime(System.String)">
      <summary>
            Retrieves the modification date and time of the specified remote file.
            </summary>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <returns>A <see cref="T:System.DateTime" /> value set to date and time that the specified file was modified.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFileLength(System.String)">
      <summary>
            Retrieves the size of the specified remote file.
            </summary>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <returns>The size of the specified file in bytes.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetInfo(System.String,System.Boolean)">
      <summary>
            Retrieves a <see cref="T:Rebex.IO.FileSystemItem" /> containing the information about the specified remote file or directory.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="failIfNotFound">Specifies whether to throw an exception if file not found.</param>
      <returns>Information about the remote file or directory.</returns>
      <remarks>Returns null if no file is found and failIfNotFound argument is set to false.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetDownloadStream(System.String)">
      <summary>
            Returns a Stream for reading data from the remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <returns>A Stream for reading data from the remote file.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetDownloadStream(System.String,System.IO.SeekOrigin,System.Int64)">
      <summary>
            Returns a Stream for reading data from the remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="origin">Position indicator that is used to obtain new position within the stream.</param>
      <param name="offset">A byte offset relative to the origin parameter.</param>
      <returns>A Stream for reading data from the remote file.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetUploadStream(System.String)">
      <summary>
            Returns a Stream for writing data to the remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <returns>A Stream for writing data to the remote file.</returns>
      <remarks>
            Because the FTP protocol does not support processing multiple commands or transfers at the same time,
            the stream has to be closed before any other FTP operation can be used.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetUploadStream(System.String,System.IO.SeekOrigin,System.Int64)">
      <summary>
            Returns a Stream for writing data to the remote file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <returns>A Stream for writing data to the remote file.</returns>
      <param name="origin">Position indicator that is used to obtain new position within the stream.</param>
      <param name="offset">A byte offset relative to the origin parameter.</param>
      <remarks>
            Because the FTP protocol does not support processing multiple commands or transfers at the same time,
            the stream has to be closed before any other FTP operation can be used.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFile(System.String,System.IO.Stream)">
      <summary>
            Downloads the remote file to the data stream.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="outputStream">The output stream.</param>
      <returns>Number of bytes transferred.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFile(System.String,System.String)">
      <summary>
            Downloads the remote file to the local file, overriding it if it already exists.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="localPath">The path of the local file. This cannot be a directory.</param>
      <returns>Number of bytes transferred.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFile(System.String,System.IO.Stream,System.Int64)">
      <summary>
            Downloads the specified part of the remote file to the data stream.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="outputStream">The output stream.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the local file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetFile(System.String,System.String,System.Int64,System.Int64)">
      <summary>
            Downloads the specified part of the remote file to the specified offset of the local file.
            </summary>
      <param name="remotePath">The path of the remote file.</param>
      <param name="localPath">The path of the local file. This cannot be a directory.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="localOffset">The starting offset in the local file.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the local file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFile(System.IO.Stream,System.String)">
      <summary>
            Uploads the content of the data stream to the file on the server, overriding it if it already exists.
            </summary>
      <param name="sourceStream">The source data stream.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <returns>Number of bytes transferred.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFile(System.String,System.String)">
      <summary>
            Uploads the content of the local file to the file on the server, overriding it if it already exists.
            </summary>
      <param name="localPath">The path of the local file.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <returns>Number of bytes transferred.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFile(System.IO.Stream,System.String,System.Int64,System.Int64)">
      <summary>
            Uploads the content of the data stream to the specified offset of the file on the server.
            </summary>
      <param name="sourceStream">The source data stream.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="length">Number of bytes to transfer or -1 to transfer all data until an end is reached.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the remote file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.PutFile(System.String,System.String,System.Int64,System.Int64,System.Int64)">
      <summary>
            Uploads the specified part of the local file to the specified offset of the file on the server.
            </summary>
      <param name="localPath">The path of the local file.</param>
      <param name="remotePath">The path of the remote file. This cannot be a directory.</param>
      <param name="localOffset">The starting offset in the local file.</param>
      <param name="remoteOffset">The starting offset of the remote file.</param>
      <param name="length">Number of bytes to transfer or -1 to transfer all data until an end is reached.</param>
      <returns>Number of bytes transferred.</returns>
      <remarks>If the remote file does not exist, it is created.</remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Download(System.String,System.String)">
      <summary>
            Downloads the specified file or directory hierarchy from the server to the local directory. Accepts wildcards.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Download(System.String,System.String,Rebex.IO.TraversalMode)">
      <summary>
            Downloads the specified file or directory hierarchy from the server to the local directory. Accepts wildcards.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Download(System.String,System.String,Rebex.IO.TraversalMode,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles)">
      <summary>
            Downloads the specified file or directory hierarchy from the server to the local directory. Accepts wildcards.
            </summary>
      <param name="remotePath">The path of the remote file or directory.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Download(Rebex.IO.FileSet,System.String)">
      <summary>
            Downloads the specified files and/or directories from the server to the local directory.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be downloaded.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Download(Rebex.IO.FileSet,System.String,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles)">
      <summary>
            Downloads the specified files and/or directories from the server to the local directory.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be downloaded.</param>
      <param name="localDirectoryPath">The path of the local directory. This must be a directory.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Upload(System.String,System.String)">
      <summary>
            Uploads the specified file or directory hierarchy to the directory on the server. Accepts wildcards.
            </summary>
      <param name="localPath">The path of the local file or directory.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Upload(System.String,System.String,Rebex.IO.TraversalMode)">
      <summary>
            Uploads the specified file or directory hierarchy to the directory on the server. Accepts wildcards.
            </summary>
      <param name="localPath">The path of the local file or directory.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Upload(System.String,System.String,Rebex.IO.TraversalMode,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles)">
      <summary>
            Uploads the specified file or directory hierarchy to the directory on the server. Accepts wildcards.
            </summary>
      <param name="localPath">The path of the local file or directory.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
      <param name="traversalMode">Traversal mode. Specifies whether the whole hierarchy or files only are transferred.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Upload(Rebex.IO.FileSet,System.String)">
      <summary>
            Uploads the specified local files and/or directories to the directory to the server.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be uploaded.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.Upload(Rebex.IO.FileSet,System.String,Rebex.IO.TransferMethod,Rebex.IO.ActionOnExistingFiles)">
      <summary>
            Uploads the specified local files and/or directories to the directory to the server.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be uploaded.</param>
      <param name="remoteDirectoryPath">The path of the remote directory. This cannot be a file.</param>
      <param name="transferMethod">Specifies whether to copy or move source items.</param>
      <param name="existingFileMode">Specifies the default behavior for files that already exists at the server.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetList">
      <summary>
            Retrieves the list of files and directories in the current server directory.
            </summary>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetList(System.String)">
      <summary>
            Retrieves the list of files and directories in the current server directory.
            </summary>
      <param name="arguments">Server and protocol-specific arguments. Usually a directory path.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetItems(System.String)">
      <summary>
            Retrieves the list of files and directories. Matching directories are searched recursively.
            </summary>
      <param name="remotePath">The path (with or without a mask) to a remote file or directory.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetItems(System.String,Rebex.IO.TraversalMode)">
      <summary>
            Retrieves the list of files and directories.
            </summary>
      <param name="remotePath">The path (with or without a mask) to a remote file or directory.</param>
      <param name="traversalMode">Specifies how to traverse hierarchy of directories.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetItems(Rebex.IO.FileSet)">
      <summary>
            Retrieves the list of files and directories specified by the <paramref name="set" />.
            </summary>
      <param name="set">A filtering set which specifies remote files and directories to be retrieved.</param>
      <returns>Collection of <see cref="T:Rebex.IO.FileSystemItem" /> values.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetNameList">
      <summary>
            Retrieves the list of file and directory names in the current remote directory.
            </summary>
      <returns>An array of lines, with each line representing a single name.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetNameList(System.String)">
      <summary>
            Retrieves the list of file and directory names.
            </summary>
      <param name="arguments">Server and protocol-specific arguments. Usually a directory path.</param>
      <returns>An array of lines, with each line representing a single name.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetRawList">
      <summary>
            Retrieves the raw list of files and directories in the current remote directory using a raw text format.
            </summary>
      <returns>An array of lines, with each line representing a single item.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetRawList(System.String)">
      <summary>
            Retrieves the raw list of files and directories using a raw text format.
            </summary>
      <param name="arguments">Server and protocol-specific arguments. Usually a directory path.</param>
      <returns>An array of lines, with each line representing a single item.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetChecksum(System.String,Rebex.IO.ChecksumAlgorithm)">
      <summary>
            Returns the checksum of the specified file on the server.
            </summary>
      <param name="remotePath">Path of the remote file.</param>
      <param name="algorithm">Desired checksum algorithm (server must support it).</param>
      <returns>Checksum of the specified remote file.</returns>
      <remarks>
            To calculate checksums of local files, use one of <see cref="M:Rebex.IO.LocalItem.CalculateChecksum(Rebex.ChecksumAlgorithm,System.String)" /> methods.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.GetChecksum(System.String,Rebex.IO.ChecksumAlgorithm,System.Int64,System.Int64)">
      <summary>
            Returns the checksum of the specified file on the server.
            </summary>
      <param name="remotePath">Path of the remote file.</param>
      <param name="algorithm">Desired checksum algorithm (server must support it).</param>
      <param name="offset">The offset in remote file where reading will start.</param>
      <param name="count">The maximum number of bytes to read.</param>
      <returns>Checksum of the specified remote file.</returns>
      <remarks>
            To calculate checksums of local files, use one of <see cref="M:Rebex.IO.LocalItem.CalculateChecksum(Rebex.ChecksumAlgorithm,System.String)" /> methods.
            </remarks>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.KeepAliveAsync(System.Object)">
      <summary>
            Sends a command to the server to keep the connection alive.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.CreateDirectoryAsync(System.String,System.Object)">
      <summary>
            Creates a directory on the server.
            </summary>
      <param name="remotePath">Pathname of the new remote directory.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>A string containing the absolute path of the newly created remote directory.</returns>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.ChangeDirectoryAsync(System.String,System.Object)">
      <summary>
            Changes the current working directory on the server.
            </summary>
      <param name="remotePath">Path of the directory to change to.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.RemoveDirectoryAsync(System.String,System.Object)">
      <summary>
            Deletes an empty remote directory with the specified pathname.
            </summary>
      <param name="remotePath">Remote directory pathname.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.FileTransferClient.RenameAsync(System.String,System.String,System.Object)">
      <summary>
            Renames a file or directory on the server.
            </summary>
      <param name="fromPath">The pathname of the remote file to be renamed.</param>
      <param name="toPath">The pathname to rename the file to.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="T:Rebex.Net.FileTransferSettings">
      <summary>
            Specifies various settings for FileTransferClient.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferSettings.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns />
    </member>
    <member name="M:Rebex.Net.FileTransferSettings.ClearCommandChannel">
      <summary>
            Calls ClearCommandChannel on the underlying Ftp object. This method cannot be used with SFTP protocol.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferSettings.ClearCommandChannelAsync(System.Object)">
      <summary>
            Calls ClearCommandChannel on the underlying Ftp object. This method cannot be used with SFTP protocol.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.FtpSecureTransfers">
      <summary>
            Gets or sets a value which specifies whether data transfers are secure. This is used only when FTP protocol is used.
            </summary>
      <value>True if data transfers are secure, false if unsecure.</value>
    </member>
    <member name="M:Rebex.Net.FileTransferSettings.SetSymmetricCipherSuites(Rebex.Net.TlsSymmetricCipherSuite[])">
      <summary>
            Specifies a list of allowed symmetric cipher suites for TLS 1.3 and their order.
            For TLS 1.2 and lower, use <see cref="P:Rebex.Net.FileTransferSettings.SslAllowedSuites" /> property instead.
            </summary>
    </member>
    <member name="M:Rebex.Net.FileTransferSettings.GetSymmetricCipherSuites">
      <summary>
            Gets an enumeration of allowed symmetric cipher suites for TLS 1.3 and their order.
            See <see cref="M:Rebex.Net.FileTransferSettings.SetSymmetricCipherSuites(Rebex.Net.TlsSymmetricCipherSuite[])" /> for more info.
            </summary>
      <returns>List of encryption algorithm IDs.</returns>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.UseLargeBuffers">
      <summary>
            Use larger receive buffer for incoming and outgoing data.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.MultiFileLinkMode">
      <summary>
            Gets or sets the processing mode of detected links in multi-file operations.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.MultiFileMoveMode">
      <summary>
            Gets or sets the move behavior in multi-file transfers.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.RestoreDateTime">
      <summary>
            Gets or sets a value that indicates which date/time is restored after successful transfer.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.TimeComparisonGranularity">
      <summary>
            Gets or sets a value which specifies granularity for time comparisons.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.RecheckItemExistence">
      <summary>
            In multi-file operations it forces checking, whether currently processing item still exists.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisableProgressPercentage">
      <summary>
            Disables progress percentage reporting.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.RaiseEventsFromCurrentThread">
      <summary>
            Specifies whether to raise asynchronous events from the current working thread or
            whether to raise them using a <see cref="T:System.Threading.SynchronizationContext" /> available when an asynchronous operation was started.
            </summary>
      <value>False (default) raise events using <see cref="T:System.Threading.SynchronizationContext" />; true to raise them directly from the current working thread.</value>
      <remarks>Events of synchronous methods are always raised from the current working thread.</remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SkipDuplicateItems">
      <summary>
            Gets or sets a value that indicates whether to skip duplicate items in directory listings or whether to fail.
            </summary>
      <value>True to skip duplicate items; false to throw an exception.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DoNotSendSignals">
      <summary>
            Do not send abort signals when aborting download.
            </summary>
      <remarks>
        <p>
            RFC 959 and RFC 1123 recommend sending IP and Synch signals before
            the ABOR command. Many FTP servers even ignore an ABOR command without
            the preceding IP and Synch signals. The default behavior of Rebex FTP
            for .NET is to send IP and Synch, unless a proxy is in use.
            </p>
        <p>
            However, there are some bad FTP servers that react in an inappropriate way
            to IP and Synch signals. Problems with some network setups were also
            experienced.
            </p>
        <p>
            Setting this flag will disable sending of IP and Synch signals even through
            non-proxied FTP sessions. You might want to try disabling it if you
            experience problems while aborting data transfers.
            </p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DoNotSendAbort">
      <summary>
            Do not send the ABOR command when aborting download.
            </summary>
      <remarks>
        <p>
            This flag will cause the component not to send ABOR command while
            aborting a download. The download will be aborted by closing the
            receiving socket.
            </p>
        <p>
          <b>Caution:</b> Only use this if you know what you are doing and why
            you need this. Please note that some servers might react by closing
            the control connection.
            </p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.KeepAliveDuringTransfer">
      <summary>
            Send NOOP command during file transfers every 10 minutes.
            </summary>
      <remarks>
            This is only needed if the FTP control connection is otherwise being dropped by a buggy router
            or firewall while a very long data transfer is in progress.
            </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.ForceActiveCcc">
      <summary>
            Forces the CCC command behavior that was used by older Rebex FTP/SSL releases.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SendDataAsynchronously">
      <summary>
            Deprecated. Doesn't have any effect now.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.TimeoutAsynchronousMethods">
      <summary>
            Makes <see cref="P:Rebex.Net.Ftp.Timeout" /> property affect asynchronous methods as well.
            By default, it only affects the synchronous methods.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DoNotDetectFeatures">
      <summary>
            Disables feature detection using FEAT and other commands.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.IgnorePassiveModeAddress">
      <summary>
            Overrides an IP address announced by the server in response to PASV command
            with an IP used by the control connection.
            </summary>
      <remarks>
            This option is only active when not connected through a proxy.
            </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.EnableMultipleBlockingCalls">
      <summary>
            Makes it possible to call multiple methods from different threads at once.
            The calls will block until the operation is completed.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.PauseBeforeUploadClose">
      <summary>
            Performs a small pause before closing the encrypted upload connection when the transfer is finished.
            Used as a workaround for servers that are unable to correctly handle the last block data if it is followed
            by a TLS CloseNotify message in the same TCP block.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisableInvalidPassiveModeAddressWorkaround">
      <summary>
            Disables a workaround for FTP servers that announce private range IP addresses even though
            a public IP was used to connect to them. By default, when such server is detected,
            an IP address announced by the server in response to PASV command used is overrode
            with an IP used by the control connection.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.EnableControlConnectionFlushing">
      <summary>
            Enables reading and throwing out any unexpected incoming responses when sending an FTP command.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.ConnectPassiveLater">
      <summary>
            Makes the passive mode transfer initialize the connection only after the LIST/NLST/RETR/STOR command has been sent.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.ReuseControlConnectionSession">
      <summary>
            Re-use control connection session ID for data connections.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.ForceListHiddenFiles">
      <summary>
            Use "LIST -la" instead of "LIST" in <see cref="M:Rebex.Net.Ftp.GetList" />/<see cref="M:Rebex.Net.Ftp.GetRawList" /> methods.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.PreferredChecksumType">
      <summary>
            Gets or sets a checksum type to be preferred in multi-file operations when FTP server supports several checksum types.<br />
            Default value: SHA1.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.KeepAliveDuringTransferInterval">
      <summary>
            Gets or sets the length of interval (in seconds) between NOOP commands sent during transfer when
            the <see cref="F:Rebex.Net.FtpOptions.KeepAliveDuringTransfer" /> option is enabled.
            </summary>
      <value>The length of interval, in seconds, between successive NOOP commands.
            Default is 600.
            </value>
      <remarks>
        <p>
            Minimal value is 30. Setting this to a value lower than 30 will set it to 30.
            </p>
        <p>
            The <see cref="F:Rebex.Net.FtpOptions.KeepAliveDuringTransfer" /> option is only needed
            if the FTP control connection is otherwise being dropped by a buggy router
            or firewall while a very long data transfer is in progress.
            </p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.ForceMdtmForGetFileDateTime">
      <summary>
            Forces MDTM command to be always used by <see cref="M:Rebex.Net.Ftp.GetFileDateTime(System.String)" /> instead of MLST (which is used when available by default).
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.UploadCommand">
      <summary>
            Specifies FTP command for uploading files. STOR is used by default.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.UseLegacyPaths">
      <summary>
            Specifies whether to use old API style paths (relative) or new API style paths (absolute) in multi-file transfers.
            </summary>
      <value>False (default) to use absolute paths; true to use relative paths.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.As400ListingDateFormat">
      <summary>
            Forces listing date format on AS/400 like systems.
            Format is 'DMY' for day,month,year; 'MDY' for month, day, year; and so on.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisableImplicitAs400NameFormat">
      <summary>
            Gets or sets a value indicating whether the `SITE NAMEFMT 1` is used when AS/400 system is detected.
            Default is false, which means the `SITE NAMEFMT 1` is used.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslUpgradeType">
      <summary>
            Gets or sets the type of TLS/SSL initialization for explicit TLS/SSL mode.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslReuseSessions">
      <summary>
            Gets or sets a value indicating whether to reuse TLS/SSL sessions for data transfers. Default value is true.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslAcceptAllCertificates">
      <summary>
            Specifies whether to accept all server certificates by default. This is strongly discouraged in production environment.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslAllowedVersions">
      <summary>
            Gets or sets allowed TLS/SSL versions.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslServerName">
      <summary>
            Gets or sets TLS/SSL server's common name.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslAllowedSuites">
      <summary>
            Gets or sets the group of allowed TLS/SSL cipher suites.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslDoNotInsertEmptyFragment">
      <summary>
            Do not send empty record after successful handshake with CBC ciphers.
            </summary>
      <remarks>For compatibility with broken implementations.</remarks>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslServerCertificateVerifier">
      <summary>
            Gets or sets TLS/SSL server certificate verifier.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslServerCertificateValidationOptions">
      <summary>
            Gets or sets validation options to use when validating a server certificate using the default certificate validator.
            This value is passed as <see cref="P:Rebex.Net.SslCertificateValidationEventArgs.Options" /> as well.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SslClientCertificateRequestHandler">
      <summary>
            Gets or sets TLS/SSL client certificate request handler.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.SshParameters">
      <summary>
            Gets or sets SSH session parameters.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisableSftp4">
      <summary>
            Disable SFTP v4 and only use v3.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisableTransferQueue">
      <summary>
            Disable queuing of read and write requests.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.UseReadWriteModeForDownloads">
      <summary>
            Opens file for downloading (in <see cref="M:Rebex.Net.Sftp.GetFile(System.String,System.String)" />/<see cref="M:Rebex.Net.Sftp.Download(System.String,System.String,Rebex.IO.TraversalMode)" /> methods) in read-write mode
            instead of read-only mode.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.UseSmallPackets">
      <summary>
            Use small data packets (4KB each) during upload and never split them.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.WaitForServerWelcomeMessage">
      <summary>
            Wait for server SSH protocol welcome message before sending the client one.
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.TryPasswordFirst">
      <summary>
            When authenticating using both password and private key, try password authentication first (default is to try the private key first).
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.UsePosixRename">
      <summary>
            Gets or sets a value that indicates whether to use POSIX rename instead of standard SFTP rename (when available).
            </summary>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisablePutFileZeroOffsetTruncate">
      <summary>
            Gets or sets a value that specifies whether Sftp.PutFile method truncates files when a zero remote offset is specified.
            </summary>
      <value>False (default) to truncate files when zero remote offset is specified; true to keep the files.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisableFxpStatWorkaround">
      <summary>
            Gets or sets a value that disables workaround for a SSH_FXP_STAT command, which is known not to work correctly on some servers.
            </summary>
      <value>False (default) to keep the workaround working; true to disable the workaround.</value>
    </member>
    <member name="P:Rebex.Net.FileTransferSettings.DisablePathNormalization">
      <summary>
            Gets or sets a value that disables normalization of paths passed to all commands (paths are used unchanged).
            </summary>
      <value>False (default) to normalize paths; true to keep paths in original form.</value>
    </member>
  </members>
</doc>