<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Rebex.Net.Ftp</name>
    </assembly>
    <members>
        <member name="T:Rebex.Net.Messages">
            <summary>
            Provides methods for constructing exception messages.
            </summary>
        </member>
        <member name="T:Rebex.Net.RebexAsyncResult">
            <summary>
            Universal class for asynchronous method invocation.
            </summary>
        </member>
        <member name="T:Rebex.Net.Ftp">
            <summary>
            Provides methods for communication with FTP servers.
            </summary>
            <remarks>All members of this class are thread-safe.</remarks>
        </member>
        <member name="F:Rebex.Net.Ftp.DefaultPort">
            <summary>
            Default FTP port (21).
            </summary>
        </member>
        <member name="M:Rebex.Net.Ftp.OnResponseRead(Rebex.Net.FtpResponseReadEventArgs)">
            <summary>
            Raises the <see cref="E:Rebex.Net.Ftp.ResponseRead"/> event.
            </summary>
            <param name="e">A <see cref="T:Rebex.Net.FtpResponseReadEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.OnCommandSent(Rebex.Net.FtpCommandSentEventArgs)">
            <summary>
            Raises the <see cref="E:Rebex.Net.Ftp.CommandSent"/> event.
            </summary>
            <param name="e">A <see cref="T:Rebex.Net.FtpCommandSentEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.OnStateChanged(Rebex.Net.FtpStateChangedEventArgs)">
            <summary>
            Raises the <see cref="E:Rebex.Net.Ftp.StateChanged"/> event.
            </summary>
            <param name="e">A <see cref="T:Rebex.Net.FtpStateChangedEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.OnTransferProgress(Rebex.Net.FtpTransferProgressEventArgs)">
            <summary>
            Raises the <see cref="E:Rebex.Net.Ftp.TransferProgress"/> event.
            </summary>
            <param name="e">A <see cref="T:Rebex.Net.FtpTransferProgressEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.OnTlsDebug(Rebex.Net.FtpTlsDebugEventArgs)">
            <summary>
            Raises the <see cref="E:Rebex.Net.Ftp.TlsDebug"/> event.
            </summary>
            <param name="e">A <see cref="T:Rebex.Net.FtpTlsDebugEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.#ctor">
            <summary>
            Initializes a new instance of the Ftp class.
            </summary>
        </member>
        <member name="M:Rebex.Net.Ftp.Dispose">
            <summary>
            Disposes the <see cref="T:Rebex.Net.Ftp"/> object and all the socket objects.
            </summary>
            <remarks>
            Calling this method ensures that all resources are freed.
            It is not necessary to call this method if the FTP session is
            successfully closed using <see cref="M:Rebex.Net.Ftp.Disconnect">Disconnect</see> method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:Rebex.Net.Ftp"/>
            and optionally releases the managed resources.
            </summary>
            <param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.Finalize">
            <summary>
            Finalizer. Called by garbage collector during object destruction.
            </summary>
        </member>
        <member name="M:Rebex.Net.Ftp.Abort">
            <summary>
            Aborts the current operation.
            </summary>
            <remarks>
            <p>
            The operation need not end immediately, it will finish within the interval
            specified by <see cref="P:Rebex.Net.Ftp.AbortTimeout">AbortTimeout</see>.
            Aborting data transfering operations (including <see cref="M:Rebex.Net.Ftp.GetList"/>,
            <see cref="M:Rebex.Net.Ftp.GetRawList"/> and <see cref="M:Rebex.Net.Ftp.GetNameList"/>) may take twice
            the amount of time specified by <see cref="P:Rebex.Net.Ftp.AbortTimeout"/>.
            </p>
            <p>
            The aborted operation will end either successfully, or with
            <see cref="T:Rebex.Net.FtpException"/> of status <see cref="T:Rebex.Net.FtpExceptionStatus">OperationAborted</see>
            or <see cref="T:Rebex.Net.FtpExceptionStatus">Timeout</see>.
            The <see cref="T:Rebex.Net.Ftp"/> object may remain in <see cref="T:Rebex.Net.FtpState">Reading</see>,
            <see cref="T:Rebex.Net.FtpState">Sending</see> or <see cref="T:Rebex.Net.FtpState">Processing</see>
            state. In this case, call <see cref="M:Rebex.Net.Ftp.Flush(System.Int32)"/> to get back to
            the <see cref="T:Rebex.Net.FtpState">Ready</see> state.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Connect(System.String)">
            <summary>
            Connects to the FTP server.
            </summary>
            <param name="serverName">The server address - either a hostname or a dotted string address.</param>
            <returns>Welcome message returned by the server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.Connect(System.String,System.Int32)">
            <summary>
            Connects to the FTP server.
            </summary>
            <param name="serverName">The server address - either a hostname or a dotted string address.</param>
            <param name="serverPort">The server port (eg. 21).</param>
            <returns>The welcome message returned by the server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.Connect(System.String,System.Int32,Rebex.Net.TlsParameters,Rebex.Net.FtpSecurity)">
            <summary>
            Connects to the FTP server with the specified security.
            </summary>
            <param name="serverName">The server address - either a hostname or a dotted string address.</param>
            <param name="serverPort">The server port (eg. 21).</param>
            <param name="parameters">Security parameters</param>
            <param name="security">Connection security.</param>
            <returns>The welcome message returned by the server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.Disconnect">
            <summary>
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
            <returns>The exit message returned by the server.</returns>
            <remarks>Represents FTP QUIT command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Secure(Rebex.Net.TlsParameters,Rebex.Net.FtpSecureUpgradeType)">
            <summary>
            Secures the connection with TLS/SSL using the <see cref="T:Rebex.Net.FtpSecureUpgradeType">FtpSecureUpgradeType.TLS</see> request type and security parameters.
            </summary>
            <param name="type">Upgrade request type.</param>
            <param name="parameters">Security parameters.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.Secure(Rebex.Net.TlsParameters)">
            <summary>
            Secures the connection with TLS/SSL using the specified security parameters.
            </summary>
            <param name="parameters">Security parameters.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.Secure">
            <summary>
            Secures the connection with TLS/SSL using default parameters.
            </summary>
        </member>
        <member name="M:Rebex.Net.Ftp.CopyToAnotherServer(Rebex.Net.Ftp,System.String,System.String)">
            <summary>
            Copies a file on this FTP server to another server using direct server-to-server transfer, also known as FXP.
            </summary>
            <param name="destinationServer">An <see cref="T:Rebex.Net.Ftp"/> object representing the destination server. Must be already initialized.</param>
            <param name="sourcePath">Path to the source file to be copied.</param>
            <param name="destinationPath">Path to the destination file.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.ServerToServerTransfer(System.String,System.String,Rebex.Net.Ftp,Rebex.Net.Ftp)">
            <summary>
            Transfers a file from one server to another server.
            </summary>
            <param name="sourcePath">Path to a file that will be transfered.</param>
            <param name="destPath">Destination path.</param>
            <param name="sourceServer">Source server.</param>
            <param name="destServer">Destination server.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.ClearCommandChannel">
            <summary>
            Reverts the protected control connection back to plaintext connection.
            </summary>
            <remarks>
            <p>
            Implements the FTP CCC (Clear Command Channel) command.
            </p>
            <p>
            This command is used in circumstances where it is desirable
            to protect the control connection only during authentication,
            when user credentials are being sent by the client.
            </p>
            <p>
            When the control connection is reverted to plaintext,
            subsequent data transfers will be protected with the current
            <see cref="P:Rebex.Net.Ftp.SecureTransfers"/> settings.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Rename(System.String,System.String)">
            <summary>
            Renames a file 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>
            <remarks>Represents FTP RNFR/RNTO command pair.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetRawList(System.String,Rebex.Net.FtpListingType)">
            <summary>
            Retrieves the raw list of files and directories as received from the server.
            </summary>
            <param name="arguments">Arguments for the list command.</param>
            <param name="listingType">The listing command to use.</param>
            <returns>The array of response lines.</returns>
            <remarks>
            <p>
            This method supports retrieving the raw listings using either the LIST command
            or MLSD command. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases, because it returns the parsed list, unlike <see cref="M:Rebex.Net.Ftp.GetRawList(System.String,Rebex.Net.FtpListingType)"/>.
            </p>
            <p>
            Please note that requesting a <see cref="T:Rebex.Net.FtpListingType">FtpListingType.MachineProcessingList</see>
            list will only work on servers that support this extension - this can be determined using the
            <see cref="P:Rebex.Net.Ftp.SupportedExtensions"/> property.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to dir command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetList(System.String)">
            <summary>
            Returns parsed list of files and directories.
            </summary>
            <param name="arguments">Arguments for the LIST or MLSD command.</param>
            <returns>An instance of <see cref="T:Rebex.Net.FtpList"/> containing the file list.</returns>
            <remarks>
            <p>
            This method will use the MLSD command if the server supports it and it is enabled
            (see <see cref="P:Rebex.Net.Ftp.SupportedExtensions"/> and <see cref="P:Rebex.Net.Ftp.EnabledExtensions"/> properties).
            It will use the LIST command if MLSD is not supported or disabled.
            </p>
            <p>
            See <see cref="E:Rebex.Net.FtpItem.ItemParse"/> for information on using custom list parsers.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to dir command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetFile(System.String,System.IO.Stream,System.Int64)">
            <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>
            <param name="remoteOffset">The starting offset of the remote file.</param>
            <returns>Number of bytes transfered.</returns>
            <remarks>
            <p>Represents FTP RETR command.</p>
            <p>
            The path parameter can specify either relative or absolute path.
            Relative path is interpreted as relative to the current working directory.
            Use <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see> to obtain the current working directory.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetFile(System.String,System.String,System.Int64,System.Int64)">
            <summary>
            Downloads the remote file to 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 transfered.</returns>
            <remarks>
            <p>Represents FTP RETR command.</p>
            <p>If the specified local file does not exist, it is created; if it does exist and the local offset is greater than 0, the contents after the offset are overwritten.</p>
            <p>If the localOffset is less than or equal to zero and the file exists, it will be truncated to zero length before the transfer starts.</p>
            <p>
            The path parameter can specify either relative or absolute path.
            Relative path is interpreted as relative to the current working directory.
            Use <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see> to obtain the current working directory.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Login(System.String,System.String)">
            <summary>
            Authenticates the user to the FTP server.
            </summary>
            <param name="userName">The username.</param>
            <param name="password">Password for the given username.</param>
            <returns>The logon message returned by the remote server.</returns>
            <remarks>
            <p>Represents FTP USER/PASS command pair.</p>
            <p>For anonymous logins, use "anonymous" as a username and an email as a password.</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.Ftp.Reinitialize">
            <summary>
            Terminates the user and flushes all state information
            on the server. The connection is left open.
            </summary>
            <remarks>
            <p>Represents FTP REIN command.</p>
            <p>
            The connection is reset to the state in which it is immediately after
            it was opened.
            </p>
            <p>
            The REIN command is unsupported by many FTP servers and not supported
            correctly by most FTP proxies. Its usage is not recommended.
            Use <see cref="M:Rebex.Net.Ftp.Disconnect"/>/<see cref="M:Rebex.Net.Ftp.Connect(System.String)"/> instead.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.SetTransferType(Rebex.Net.FtpTransferType)">
            <summary>
            Sets the data transfer type.
            </summary>
            <param name="transferType">Transfer type to set.</param>
            <remarks>
            <p>Represents FTP TYPE command.</p>
            <p>This method is now obsolete. Please use the TransferType property instead.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.SetFileDateTime(System.String,System.DateTime)">
            <summary>
            Sets the modification date and time of the specified remote file. Not all FTP servers support this!
            </summary>
            <param name="remotePath">The path of the remote file.</param>
            <param name="newDateTime">The date and time to set.</param>
            <remarks>
            <p>
            Support for setting modification date and time, either using MFMT or MDTM command, is not as widespread
            as retrieving it. This method will fail on servers that support neither of these commands.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.FileExists(System.String)">
            <summary>
            Detects whether the specified file exists on the server. Not all FTP servers support this!
            </summary>
            <param name="remotePath">The path of the remote file to check.</param>
            <returns>True if the file exists, false otherwise.</returns>
            <remarks>
            <p>
            The standard FTP protocol does not have a dedicated command that could be used to detect
            whether a file exists. There is the MLST command that is quite reliable, but not all server support
            it and we have to rely on SIZE or even PWD, CWD commands for these servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.DirectoryExists(System.String)">
            <summary>
            Detects whether the specified directory exists on the server. Not all FTP servers support this!
            </summary>
            <param name="remotePath">The path of the remote directory to check.</param>
            <returns>True if the directory exists, false otherwise.</returns>
            <remarks>
            <p>
            The standard FTP protocol does not have a dedicated command that could be used to detect
            whether a directory exists. There is the MLST command that is quite reliable, but not all server support
            it and we have to rely on MDTM, SIZE or even PWD, CWD commands for these servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.SendCommand(System.String)">
            <summary>
            Executes a command on the FTP server.
            </summary>
            <param name="command">Command (eg. "HELP").</param>
            <remarks>
            <p>Must be followed by a call to <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see> method.</p>
            <p>Use <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see> and SendCommand to implement various custom commands.</p>
            <p>After a successful call to SendCommand, the <see cref="T:Rebex.Net.Ftp"/> object will be in <see cref="T:Rebex.Net.FtpState">Reading</see> state.</p>
            <p>The <see cref="T:Rebex.Net.Ftp"/> object <see cref="P:Rebex.Net.Ftp.State"/> must be <see cref="T:Rebex.Net.FtpState">Ready</see> or <see cref="T:Rebex.Net.FtpState">Processing</see> when calling this method.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.ReadResponse">
            <summary>
            Returns the response of the FTP server to the command.
            </summary>
            <returns>Response of the FTP server.</returns>
            <remarks>
            <p>Must be preceeded by a call to <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)">SendCommand</see> method. (Or, more exactly, the <see cref="P:Rebex.Net.Ftp.State"/> must be <see cref="T:Rebex.Net.FtpState">Reading</see>.</p>
            <p>Use ReadResponse and <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)">SendCommand</see> to implement various custom commands.</p>
            <p>
            After a successful call to ReadResponse,
            the <see cref="T:Rebex.Net.Ftp"/> object will be in <see cref="T:Rebex.Net.FtpState">Processing</see> state if the response <see cref="P:Rebex.Net.FtpResponse.Group">Group</see> is 3,
            in <see cref="T:Rebex.Net.FtpState">Reading</see> state if the response <see cref="P:Rebex.Net.FtpResponse.Group">Group</see> is 1 or
            in <see cref="T:Rebex.Net.FtpState">Ready</see> state in other cases.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.CheckConnectionState">
            <summary>
            Checks whether the FTP session is still connected. Throws an exception on error.
            </summary>
        </member>
        <member name="M:Rebex.Net.Ftp.GetConnectionState">
            <summary>
            Checks whether the FTP session is still connected and returns its state.
            </summary>
            <returns>Connection state.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.Flush(System.Int32)">
            <summary>
            Reads and returns control connection data, if available.
            </summary>
            <param name="timeLimit">The length of time (in milliseconds) to wait for data to be received.</param>
            <returns><see cref="T:Rebex.Net.FtpResponse">FtpResponse</see> if data was read or <b>null</b> reference if no data was read.</returns>
            <remarks>
            <p>
            Reads and returns any control connection data that might have remained
            unread after an asynchronouos operation aborted by a call to <see cref="M:Rebex.Net.Ftp.Abort">Abort</see> method.
            </p>
            <p>
            It can also be used to read FTP server messages that are not responses
            to any commands.
            </p>
            <p>
            If the state of the <see cref="T:Rebex.Net.Ftp"/> object is <see cref="T:Rebex.Net.FtpState">Ready</see> and no data is available,
            this method returns immediately with a <b>null</b> reference.
            If the state of the Ftp object is <see cref="T:Rebex.Net.FtpState">Reading</see>,
            <see cref="T:Rebex.Net.FtpState">Sending</see> or
            <see cref="T:Rebex.Net.FtpState">Processing</see> and no data
            is available within the specified time limit, it returns
            with a <b>null</b> reference. If data is available, it is read
            and returned. If the object is in any other state, an exception is thrown.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.PutUniqueFile(System.IO.Stream)">
            <summary>
            Uploads the content of the stream to the file with unique pathname on the server.
            </summary>
            <param name="sourceStream">The source data stream.</param>
            <returns>Name of the newly created unique file on the server.</returns>
            <remarks>
            <p>Represents the FTP STOU command.</p>
            <p>Use with caution - many servers do not support this and many servers support this incorrectly (MS FTP).</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.PutUniqueFile(System.String)">
            <summary>
            Uploads the content of the local file to the file with unique pathname on the server.
            </summary>
            <param name="localPath">The path of the local file.</param>
            <returns>Name of the newly created unique file on the server.</returns>
            <remarks>
            <p>Represents the FTP STOU command.</p>
            <p>Use with caution - many servers do not support this and many servers support this incorrectly (MS FTP).</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Logoff">
            <summary>
            This method is now obsolete. It is just an empty stub.
            It is NOT necessary to call this before disconnecting!
            </summary>
            <remarks>
            <p>
            The Logoff method used to represent FTP REIN command in previous versions. 
            This has caused a lot of confusion not only due to its name, but due to
            the fact that it is rarely useful and most servers do not implement it.
            </p>
            <p>
            If you really do need REIN functionality, use <see cref="M:Rebex.Net.Ftp.Reinitialize"/> method.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.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>
            <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.Ftp.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.Ftp.KeepAlive">
            <summary>
            Sends the NOOP command to the server to keep the connection alive.
            </summary>
            <remarks>
            <p>Represents FTP NOOP command.</p>
            <p>Call this if you do not want the connection to the server to time out.</p>
            <p>Some servers ignore NOOP command.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetRawList">
            <summary>
            Retrieves the raw list of files and directories in the current server directory as received from the server.
            </summary>
            <returns>The array of response lines.</returns>
            <remarks>
            <p>Represents FTP LIST command.</p>
            <p>
            Because the RFC does not define the format of the file list, this method
            is often useless. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetRawList(System.String)">
            <summary>
            Retrieves the raw list of files and directories as received from the server.
            </summary>
            <param name="arguments">Arguments for the LIST command.</param>
            <returns>The array of response lines.</returns>
            <remarks>
            <p>Represents FTP LIST command.</p>
            <p>
            Because the RFC does not define the format of the file list, this method
            is often useless. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to dir command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetNameList(System.String)">
            <summary>
            Retrieves the list of names.
            </summary>
            <param name="arguments">Arguments for the NLST command.</param>
            <returns>An array of names.</returns>
            <remarks>
            <p>Represents FTP NLST command.</p>
            <p>
            Actual behaviour of NLST command varies from server to server,
            because the RFC is not clear in explaining what it should do. 
            Some servers return the names of both files and directories, others
            return files only or even report error if the current directory
            is empty. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to ls command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetNameList">
            <summary>
            Retrieves the list of names in the current server directory.
            </summary>
            <returns>An array of names.</returns>
            <remarks>
            <p>Represents FTP NLST command.</p>
            <p>
            Actual behaviour of NLST command varies from server to server,
            because the RFC is not clear in explaining what it should do. 
            Some servers return the names of both files and directories, others
            return files only or even report error if the current directory
            is empty. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetSystemName">
            <summary>
            Returns the name of the remote OS.
            </summary>
            <returns>The name of the remote OS.</returns>
            <remarks>
            <p>Represents FTP SYST command.</p>
            <p>Some servers do not support SYST command and most servers return very inaccurate responses.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.Site(System.String)">
            <summary>
            Executes site-specific command and returns the response.
            </summary>
            <param name="command">Site-specific command.</param>
            <returns>Command-specific response.</returns>
            <remarks>
            <p>Represents FTP SITE command.</p>
            <p>Using <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)">SendCommand</see>
            and <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see>
            method might be a better choice in some cases.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.DeleteFile(System.String)">
            <summary>
            Deletes the file on the server,
            </summary>
            <param name="remotePath">The pathname of the file to be deleted. Either an absolute pathname or relative to the current working directory.</param>
            <remarks>Represents FTP DELE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.ChangeDirectory(System.String)">
            <summary>
            Changes the current working directory on the server.
            </summary>
            <param name="remotePath">Pathname of the directory to change to.</param>
            <remarks>
            <p>Implemented using FTP CWD command for pathnames not equal to ".." and CDUP command for ".." pathnames. "." pathnames are ignored.</p>
            <p>
            Caution: some uncommon servers do not use a slash as a directory separator.
            Do not use slashes in the path to remain compatible with such servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.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 if the server complies to RFC 959; otherwise, <b>null</b> reference is returned.</returns>
            <remarks>
            <p>
            Represents FTP MKD command.
            </p>
            <p>
            <b>CAUTION:</b> RFC states that successful reply to the MKD command
            must always contain the absolute path of the created directory.
            However, many FTP servers do not comply to this requirement, for example
            wu-ftpd 2.4.2, (which is still widely used, although newer releases
            fixed this bug). Therefore, when the response is unparsable, this method
            returns a <b>null</b> reference instead of throwing an exception.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.RemoveDirectory(System.String)">
            <summary>
            Deletes an empty remote directory with the specified pathname.
            </summary>
            <param name="remotePath">Remote directory pathname.</param>
            <remarks>Represents FTP RMD command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.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>
            <remarks>
            <p>Represents FTP PWD command.</p>
            <p>
            Some servers (eg. TOPS-20) do not support this method.
            <see cref="T:Rebex.Net.FtpException"/> with status of
            <see cref="T:Rebex.Net.FtpExceptionStatus">FtpExceptionStatus.ProtocolError</see>
            and code of 550 is thrown if this is the case.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetFileLength(System.String)">
            <summary>
            Returns 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>
            <remarks>
            <p>Represents FTP SIZE command.</p>
            <p>The SIZE command was not defined by the original RFC, but it has been widely supported for a number of years.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetFileDateTime(System.String)">
            <summary>
            Returns 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"/> structure set to date and time that the specified file was modified.</returns>
            <remarks>
            <p>Represents FTP MDTM command.</p>
            <p>The MDTM command was not defined by the original RFC, but it has been widely supported for a number of years.</p>
            <p>Some servers return times in their local time zones, some use GMT.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.PutFile(System.IO.Stream,System.String)">
            <summary>
            Uploads the content of the data stream to 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>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.PutFile(System.String,System.String)">
            <summary>
            Uploads the content of the local file to 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>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.PutFile(System.IO.Stream,System.String,System.Int64,System.Int64)">
            <summary>
            Uploads the content of the data stream to 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 the whole stream.</param>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.PutFile(System.String,System.String,System.Int64,System.Int64,System.Int64)">
            <summary>
            Uploads the content of the local file to 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 the whole stream.</param>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.AppendFile(System.IO.Stream,System.String)">
            <summary>
            Appends the content of the data stream to 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>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.AppendFile(System.String,System.String)">
            <summary>
            Appends the content of the local file to 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>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.AppendFile(System.IO.Stream,System.String,System.Int64)">
            <summary>
            Appends the content of the data stream to 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="length">Number of bytes to transfer or -1 to transfer the whole stream.</param>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.AppendFile(System.String,System.String,System.Int64,System.Int64)">
            <summary>
            Appends the content of the local file to 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="length">Number of bytes to transfer or -1 to transfer the whole stream.</param>
            <returns>Number of bytes transfered.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.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 transfered.</returns>
            <remarks>The path parameter can specify either relative or absolute path. Relative path is interpreted as relative to the current working directory. To obtain the current working directory, see <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see>.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetFile(System.String,System.String)">
            <summary>
            Downloads the remote file to 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>
            <returns>Number of bytes transfered.</returns>
            <remarks>
            <p>
            The path parameter can specify either relative or absolute path.
            Relative path is interpreted as relative to the current working directory.
            To obtain the current working directory, see <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory"/>.
            </p>
            <p>
            If the specified file does not exist, it is created; if it does exist,
            it is truncated and overwritten.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.GetList">
            <summary>
            Returns parsed list of files and directories in the current server directory.
            </summary>
            <returns>An instance of <see cref="T:Rebex.Net.FtpList"/> containing the file list.</returns>
            <remarks>
            <p>
            This method will use the MLSD command if the server supports it and it is enabled
            (see <see cref="P:Rebex.Net.Ftp.SupportedExtensions"/> and <see cref="P:Rebex.Net.Ftp.EnabledExtensions"/> properties).
            It will use the LIST command if MLSD is not supported or disabled.
            </p>
            <p>
            See <see cref="E:Rebex.Net.FtpItem.ItemParse"/> for information on using custom list parsers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginDisconnect(System.AsyncCallback,System.Object)">
            <summary>
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP QUIT command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndDisconnect(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous disconnect operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The exit message returned by the server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginRename(System.String,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Renames a file 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP RNFR/RNTO command pair.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndRename(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous rename operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetRawList(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Retrieves the raw list of files and directories as received from the server.
            </summary>
            <param name="arguments">Arguments for the LIST command.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP LIST command.</p>
            <p>
            Because the RFC does not define the format of the file list,
            this method is often useless. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to dir command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetRawList(System.String,Rebex.Net.FtpListingType,System.AsyncCallback,System.Object)">
            <summary>
            Retrieves the raw list of files and directories as received from the server.
            </summary>
            <param name="arguments">Arguments for the list command.</param>
            <param name="listingType">The listing command to use.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <returns>The array of response lines.</returns>
            <remarks>
            <p>
            This method supports retrieving the raw listings using either the LIST command
            or MLSD command. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases, because it returns the parsed list, unlike <see cref="M:Rebex.Net.Ftp.GetRawList(System.String,Rebex.Net.FtpListingType)"/>.
            </p>
            <p>
            Please note that requesting a <see cref="T:Rebex.Net.FtpListingType">FtpListingType.MachineProcessingList</see>
            list will only work on servers that support this extension - this can be determined using the
            <see cref="P:Rebex.Net.Ftp.SupportedExtensions"/> property.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to dir command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetRawList(System.AsyncCallback,System.Object)">
            <summary>
            Retrieves the raw list of files and directories in the current server directory as received from the server.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP LIST command.</p>
            <p>
            Because the RFC does not define the format of the file list,
            this method is often useless. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetRawList(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The array of response lines.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetList(System.AsyncCallback,System.Object)">
            <summary>
            Returns parsed list of files and directories in the current server directory.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            This method will use the MLSD command if the server supports it and it is enabled
            (see <see cref="P:Rebex.Net.Ftp.SupportedExtensions"/> and <see cref="P:Rebex.Net.Ftp.EnabledExtensions"/> properties).
            It will use the LIST command if MLSD is not supported or disabled.
            </p>
            <p>
            See <see cref="E:Rebex.Net.FtpItem.ItemParse"/> for information on using custom list parsers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetList(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Returns parsed list of files and directories.
            </summary>
            <param name="arguments">Arguments for the LIST command.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            This method will use the MLSD command if the server supports it and it is enabled
            (see <see cref="P:Rebex.Net.Ftp.SupportedExtensions"/> and <see cref="P:Rebex.Net.Ftp.EnabledExtensions"/> properties).
            It will use the LIST command if MLSD is not supported or disabled.
            </p>
            <p>
            See <see cref="E:Rebex.Net.FtpItem.ItemParse"/> for information on using custom list parsers.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to dir command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetList(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>An instance of <see cref="T:Rebex.Net.FtpList"/> containing the file list.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetNameList(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Retrieves the list of names.
            </summary>
            <param name="arguments">Arguments for the NLST command.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP NLST command.</p>
            <p>
            Actual behaviour of NLST command varies from server to server,
            because the RFC is not clear in explaining what it should do. 
            Some servers return the names of both files and directories, others
            return files only or even report error if the current directory
            is empty. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            <p>
            <b>Caution:</b> The meaning of the <i>arguments</i> argument is not defined by RFC
            and varies from server to server. Some servers interpret it as parameters
            to ls command, some as a filename, some ignore it and some report an error.
            Calling this method with <i>arguments</i> other than null is not
            recommended and will make your code incompatible with many FTP servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetNameList(System.AsyncCallback,System.Object)">
            <summary>
            Retrieves the list of names in the current server directory.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP NLST command.</p>
            <p>
            Actual behaviour of NLST command varies from server to server,
            because the RFC is not clear in explaining what it should do. 
            Some servers return the names of both files and directories, others
            return files only or even report error if the current directory
            is empty. Using <see cref="M:Rebex.Net.Ftp.GetList">GetList</see> is a better
            choice in most cases.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetNameList(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>An array of names.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginLogin(System.String,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Authenticates the user to the FTP server.
            </summary>
            <param name="userName">The username.</param>
            <param name="password">Password for the given username.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP USER/PASS command pair.</p>
            <p>For anonymous logins, use "anonymous" as a username and an email as a password.</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.Ftp.EndLogin(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous login.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The logon message returned by the remote server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginConnect(System.String,System.Int32,System.AsyncCallback,System.Object)">
            <summary>
            Connects to an FTP server.
            </summary>
            <param name="serverName">The server address - either a hostname or a dotted string address.</param>
            <param name="serverPort">The server port (eg. 21).</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginConnect(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Connects to an FTP server.
            </summary>
            <param name="serverName">The server address - either a hostname or a dotted string address.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.EndConnect(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous connect.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The welcome message returned by the server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginConnect(System.String,System.Int32,Rebex.Net.TlsParameters,Rebex.Net.FtpSecurity,System.AsyncCallback,System.Object)">
            <summary>
            Connects to the TLS/SSL FTP server.
            </summary>
            <param name="serverName">The server address - either a hostname or a dotted string address.</param>
            <param name="serverPort">The server port (eg. 990).</param>
            <param name="parameters">Security parameters</param>
            <param name="security">FTP security type.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginSecure(Rebex.Net.TlsParameters,Rebex.Net.FtpSecureUpgradeType,System.AsyncCallback,System.Object)">
            <summary>
            Secures the connection with TLS/SSL using the <see cref="T:Rebex.Net.FtpSecureUpgradeType">FtpSecureUpgradeType.TLS</see> request type and security parameters.
            </summary>
            <param name="type">Upgrade request type.</param>
            <param name="parameters">Security parameters.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.EndSecure(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous TLS/SSL securing request.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginClearCommandChannel(System.AsyncCallback,System.Object)">
            <summary>
            Reverts the protected control connection back to plaintext connection.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            Implements the FTP CCC (Clear Command Channel) command.
            </p>
            <p>
            This command is used in circumstances where it is desirable
            to protect the control connection only during authentication,
            when user credentials are being sent by the client.
            </p>
            <p>
            When the control connection is reverted to plaintext,
            subsequent data transfers will be protected with the current
            <see cref="P:Rebex.Net.Ftp.SecureTransfers"/> settings.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndClearCommandChannel(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous rename CCC operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginSetTransferType(Rebex.Net.FtpTransferType,System.AsyncCallback,System.Object)">
            <summary>
            Sets the data transfer type.
            </summary>
            <param name="transferType">Transfer type to set.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP TYPE command.</p>
            <p>This method is now obsolete. Please use the TransferType property instead.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndSetTransferType(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginSendCommand(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Executes a command on the FTP server.
            </summary>
            <param name="command">Command (eg. "HELP").</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>The BeginSendCommand/<see cref="M:Rebex.Net.Ftp.EndSendCommand(System.IAsyncResult)"/> pair must be followed by a call to <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see> or <see cref="M:Rebex.Net.Ftp.BeginReadResponse(System.AsyncCallback,System.Object)"/> methods.</p>
            <p>Use <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see> or <see cref="M:Rebex.Net.Ftp.BeginReadResponse(System.AsyncCallback,System.Object)">BeginReadResponse</see> and <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)"/> or BeginSendCommand to implement various custom USER commands.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndSendCommand(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous command send.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginReadResponse(System.AsyncCallback,System.Object)">
            <summary>
            Returns the server response.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Must be preceeded by a call to <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)"/> method or <see cref="M:Rebex.Net.Ftp.BeginSendCommand(System.String,System.AsyncCallback,System.Object)"/>/<see cref="M:Rebex.Net.Ftp.EndSendCommand(System.IAsyncResult)"/> method pair.</p>
            <p>Use <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see> or BeginReadResponse and <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)">SendCommand</see> or <see cref="M:Rebex.Net.Ftp.BeginSendCommand(System.String,System.AsyncCallback,System.Object)"/> to implement various custom USER commands.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndReadResponse(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous response read.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>Response of the FTP server.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginLogoff(System.AsyncCallback,System.Object)">
            <summary>
            This method is now obsolete. It is just an empty stub.
            It is NOT necessary to call this before disconnecting or
            attempting another login!
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            The Logoff method used to represent FTP REIN command in previous versions. 
            This has caused a lot of confusion not only due to its name, but due to
            the fact that it is rarely useful and most servers do not implement it.
            </p>
            <p>
            If you really do need REIN functionality, use <see cref="M:Rebex.Net.Ftp.BeginReinitialize(System.AsyncCallback,System.Object)"/> method.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndLogoff(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous logoff.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginReinitialize(System.AsyncCallback,System.Object)">
            <summary>
            Terminates the user and flushes all state information
            on the server. The connection is left open.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP REIN command.</p>
            <p>
            The connection is reset to the state in which it is immediately after
            it was opened.
            </p>
            <p>
            The REIN command is unsupported by many FTP servers and not supported
            correctly by most FTP proxies. Its usage is not recommended.
            Use <see cref="M:Rebex.Net.Ftp.BeginDisconnect(System.AsyncCallback,System.Object)"/>/<see cref="M:Rebex.Net.Ftp.BeginConnect(System.String,System.AsyncCallback,System.Object)"/> instead.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndReinitialize(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous reinitialize.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginKeepAlive(System.AsyncCallback,System.Object)">
            <summary>
            Sends the NOOP command to the server to keep the connection alive.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP NOOP command.</p>
            <p>Call this if you do not want the connection to the server to time out.</p>
            <p>Some servers ignore NOOP command.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndKeepAlive(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous NOOP command.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetSystemName(System.AsyncCallback,System.Object)">
            <summary>
            Returns the name of the remote OS.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP SYST command.</p>
            <p>Some servers do not support SYST command and most servers return very inaccurate responses.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetSystemName(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous SYST command.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The name of the remote OS.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginSite(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Executes site-specific command and returns the response.
            </summary>
            <param name="command">Site-specific command.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP SITE command.</p>
            <p>Using <see cref="M:Rebex.Net.Ftp.SendCommand(System.String)"/> or <see cref="M:Rebex.Net.Ftp.BeginSendCommand(System.String,System.AsyncCallback,System.Object)"/> and <see cref="M:Rebex.Net.Ftp.ReadResponse">ReadResponse</see> or <see cref="M:Rebex.Net.Ftp.BeginReadResponse(System.AsyncCallback,System.Object)"/> methods might be a better choice in some cases.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndSite(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous SITE command.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>Command-specific response.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginDeleteFile(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Deletes the file on the server,
            </summary>
            <param name="remotePath">The pathname of the file to be deleted. Either an absolute pathname or relative to the current working directory.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP DELE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndDeleteFile(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous delete file operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginChangeDirectory(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Changes the current working directory on the server.
            </summary>
            <param name="remotePath">Pathname of the directory to change to.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Implemented using FTP CWD command for pathnames not equal to ".." and CDUP command for ".." pathnames. "." pathnames are ignored.</p>
            <p>
            Caution: some uncommon servers do not use a slash as a directory separator.
            Do not use slashes in the path to remain compatible with such servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndChangeDirectory(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginCreateDirectory(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Creates directory on the server.
            </summary>
            <param name="remotePath">Pathname of the new remote directory.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP MKD command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndCreateDirectory(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous directory creation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>A string containing the absolute path of the newly created remote directory if the server complies to RFC 959; otherwise, <b>null</b> reference is returned.</returns>
            <remarks>
            <b>CAUTION:</b> RFC959 states that the successful reply to MKD command
            must always contain the absolute path of the created directory.
            However, many FTP servers do not comply to this requirement, for example
            wu-ftpd 2.4.2, which is still widely used, although newer releases
            fixed the problem. Therefore, when the response is unparsable, this method
            returns <b>null</b> reference instead of throwing an exception.
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginRemoveDirectory(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Deletes an empty remote directory with a specified pathname.
            </summary>
            <param name="remotePath">Remote directory pathname.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP RMD command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndRemoveDirectory(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetCurrentDirectory(System.AsyncCallback,System.Object)">
            <summary>
            Gets the absolute path of the current working directory on the remote server.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP PWD command.</p>
            Some servers (eg. TOPS-20) do not support this method.
            <see cref="T:Rebex.Net.FtpException"/> with status of
            <see cref="T:Rebex.Net.FtpExceptionStatus">FtpExceptionStatus.ProtocolError</see>
            and code of 550 is thrown if this is the case.
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetCurrentDirectory(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>A string containing the absolute path of the current working remote directory.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetFileLength(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Returns 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP SIZE command.</p>
            <p>The SIZE command was not defined in the original RFC, but it has been widely supported for a number of years.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetFileLength(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous length request.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The size of the specified file in bytes.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetFileDateTime(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Returns 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP MDTM command.</p>
            <p>The MDTM command was not defined in the original RFC, but it has been widely supported for a number of years.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetFileDateTime(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous datetime request.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>A <see cref="T:System.DateTime"/> structure set to date and time that the specified file was modified.</returns>
            <remarks>Some servers return times in their local time zones, some use GMT.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginSetFileDateTime(System.String,System.DateTime,System.AsyncCallback,System.Object)">
            <summary>
            Begins asynchronous SetFileDateTime operation.
            Sets the modification date and time of the specified remote file. Not all FTP servers support this!
            </summary>
            <param name="remotePath">The path of the remote file.</param>
            <param name="newDateTime">The date and time to set.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            Support for setting modification date and time, either using MFMT or MDTM command, is not as widespread
            as retrieving it. This method will fail on servers that support neither of these commands.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndSetFileDateTime(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous SetFileDateTime operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>		
        </member>
        <member name="M:Rebex.Net.Ftp.BeginPutFile(System.IO.Stream,System.String,System.Int64,System.Int64,System.AsyncCallback,System.Object)">
            <summary>
            Uploads the content of the data stream to 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 the whole stream.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginPutFile(System.String,System.String,System.Int64,System.Int64,System.Int64,System.AsyncCallback,System.Object)">
            <summary>
            Uploads the content of the local file to 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 the whole stream.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginPutFile(System.IO.Stream,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Uploads the content of the data stream to 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginPutFile(System.String,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Uploads the content of the local file to 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP STOR command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndPutFile(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous file upload.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>Number of bytes transfered.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginAppendFile(System.IO.Stream,System.String,System.Int64,System.AsyncCallback,System.Object)">
            <summary>
            Appends the content of the data stream to 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="length">Number of bytes to transfer or -1 to transfer the whole stream.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginAppendFile(System.String,System.String,System.Int64,System.Int64,System.AsyncCallback,System.Object)">
            <summary>
            Appends the content of the local file to 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="length">Number of bytes to transfer or -1 to transfer the whole stream.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginAppendFile(System.IO.Stream,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Appends the content of the data stream to 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginAppendFile(System.String,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Appends the content of the local file to 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>Represents FTP APPE command.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndAppendFile(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous file append.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>Number of bytes transfered.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginPutUniqueFile(System.IO.Stream,System.AsyncCallback,System.Object)">
            <summary>
            Uploads the content of the data stream to the file with unique pathname on the server.
            </summary>
            <param name="sourceStream">The source data stream.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents the FTP STOU command.</p>
            <p>Use with caution - many servers do not support this and many servers support this incorrectly (MS FTP).</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginPutUniqueFile(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Uploads the content of the local file to the file with unique pathname on the server.
            </summary>
            <param name="localPath">The path of the local file.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents the FTP STOU command.</p>
            <p>Use with caution - many servers do not support this and many servers support this incorrectly (MS FTP).</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndPutUniqueFile(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous file upload.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>Name of unique remote file.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetFile(System.String,System.IO.Stream,System.Int64,System.AsyncCallback,System.Object)">
            <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>
            <param name="remoteOffset">The starting offset of the remote file.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP RETR command.</p>
            <p>
            The path parameter can specify either relative or absolute path.
            Relative path is interpreted as relative to the current working directory.
            Use <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see> to obtain the current working directory.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetFile(System.String,System.String,System.Int64,System.Int64,System.AsyncCallback,System.Object)">
            <summary>
            Downloads the remote file to 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>Represents FTP RETR command.</p>
            <p>If the specified local file does not exist, it is created; if it does exist and the local offset is greater than 0, the contents after the offset are overwritten.</p>
            <p>If the localOffset is less than or equal to zero and the file exists, it will be truncated to zero length before the transfer starts.</p>
            <p>
            The path parameter can specify either relative or absolute path.
            Relative path is interpreted as relative to the current working directory.
            Use <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see> to obtain the current working directory.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetFile(System.String,System.IO.Stream,System.AsyncCallback,System.Object)">
            <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>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>The path parameter can specify either relative or absolute path. Relative path is interpreted as relative to the current working directory. To obtain the current working directory, see <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see>.</remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginGetFile(System.String,System.String,System.AsyncCallback,System.Object)">
            <summary>
            Downloads the remote file to 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="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            The path parameter can specify either relative or absolute path.
            Relative path is interpreted as relative to the current working directory.
            To obtain the current working directory, see <see cref="M:Rebex.Net.Ftp.GetCurrentDirectory">GetCurrentDirectory</see>.
            </p>
            <p>
            If the specified file does not exist, it is created; if it does exist,
            it is truncated and overwritten.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndGetFile(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous file download.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>Number of bytes transfered.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginFileExists(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Detects whether the specified file exists on the server. Not all FTP servers support this!
            </summary>
            <param name="remotePath">The path of the remote file to check.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            The standard FTP protocol does not have a dedicated command that could be used to detect
            whether a file exists. There is the MLST command that is quite reliable, but not all server support
            it and we have to rely on SIZE or even PWD, CWD commands for these servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndFileExists(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous FileExists operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>		
            <returns>True if the file exists, false otherwise.</returns>
        </member>
        <member name="M:Rebex.Net.Ftp.BeginDirectoryExists(System.String,System.AsyncCallback,System.Object)">
            <summary>
            Detects whether the specified directory exists on the server. Not all FTP servers support this!
            </summary>
            <param name="remotePath">The path of the remote directory to check.</param>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
            <remarks>
            <p>
            The standard FTP protocol does not have a dedicated command that could be used to detect
            whether a directory exists. There is the MLST command that is quite reliable, but not all server support
            it and we have to rely on MDTM, SIZE or even PWD, CWD commands for these servers.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.Ftp.EndDirectoryExists(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous DirectoryExists operation.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>		
            <returns>True if the directory exists, false otherwise.</returns>
        </member>
        <member name="E:Rebex.Net.Ftp.ResponseRead">
            <summary>
            Occurs when a response is received from the server.
            </summary>
        </member>
        <member name="E:Rebex.Net.Ftp.CommandSent">
            <summary>
            Occurs when a command is send to the server.
            </summary>
        </member>
        <member name="E:Rebex.Net.Ftp.StateChanged">
            <summary>
            Occurs when the state of the <see cref="T:Rebex.Net.Ftp"/> object is changed.
            </summary>
        </member>
        <member name="E:Rebex.Net.Ftp.TransferProgress">
            <summary>
            Occurs when data is send or received.
            </summary>
        </member>
        <member name="E:Rebex.Net.Ftp.ListItemReceived">
            <summary>
            Occurs when a file and directory listing item is received by the <see cref="M:Rebex.Net.Ftp.GetList"/>, <see cref="M:Rebex.Net.Ftp.GetRawList"/> or <see cref="M:Rebex.Net.Ftp.GetNameList"/> methods.
            </summary>
        </member>
        <member name="P:Rebex.Net.Ftp.TlsDebugLevel">
            <summary>
            Gets or sets the debug level that specifies an amount of messages <see cref="E:Rebex.Net.Ftp.TlsDebug"/> event handlers receive.
            </summary>
            <value>Debug level.</value>
        </member>
        <member name="E:Rebex.Net.Ftp.TlsDebug">
            <summary>
            Occurs when a TLS/SSL event is processed.
            </summary>
        </member>
        <member name="P:Rebex.Net.Ftp.Proxy">
            <summary>
            Gets or sets the network proxy to use to access a remote server.
            </summary>
            <value>The <see cref="T:Rebex.Net.FtpProxy"/> to use to access a remote server.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.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.Ftp.TransferType">
            <summary>
            Gets or sets the data transfer type.
            </summary>
            <value>The file transfer type. Default is <see cref="T:Rebex.Net.FtpTransferType">Binary</see>.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.Passive">
            <summary>
            Gets or sets a value which specifies the way data transfers are made.
            </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.Ftp.Options">
            <summary>
            Gets or sets FTP object options.
            </summary>
            <value>FTP object options.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.SupportedExtensions">
            <summary>
            Gets the bit field specifying the extensions supported by the server.
            </summary>
            <value>Extensions supported by the server.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.EnabledExtensions">
            <summary>
            Gets or sets the bit field specifying the enabled extensions.
            </summary>
            <value>Enabled extensions.</value>
            <remarks>
            Enabled extensions will be used when appropriate.
            By default, all extensions are enabled.
            </remarks>
        </member>
        <member name="P:Rebex.Net.Ftp.UploadBufferLength">
            <summary>
            Gets or sets the size of the upload buffer. Allowed values are 2048 to 65536. Default is 4096.
            </summary>
            <value>Upload buffer size.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.DataPortRange">
            <summary>
            Gets or sets the local TCP port range used for data transfers.
            </summary>
            <value>The port range.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.SecureTransfers">
            <summary>
            Gets or sets a value which specifies whether data transfers are secure.
            </summary>
            <value>True if data transfers are secure, false if unsecure.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.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.Ftp.TlsSocket">
            <summary>
            Returns the TLS/SSL socket of secured control connection.
            </summary>
            <returns>The TLS/SSL socket of secured control connection, or null if the connection is not secured.</returns>
            <remarks>
            This property is intended for advanced users only.
            <see cref="T:Rebex.Net.Ftp"/> class does not expect the socket to be altered in any way.
            </remarks>
        </member>
        <member name="P:Rebex.Net.Ftp.Timeout">
            <summary>
            Gets or sets the length of time before the operation times 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 miliseconds of inactivity, not after x miliseconds
            from the start of the transfer.
            </p>
            <p>
            The <see cref="P:Rebex.Net.Ftp.Timeout"/> property only affects synchronous methods. To time out asynchronous methods, use the <see cref="M:Rebex.Net.Ftp.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.Ftp.AbortTimeout">
            <summary>
            Gets or sets the length of time before the abort operation times out.
            </summary>
            <value>The length of time, in milliseconds, until the abort operation times out.
            Default is 3000, which seems to be a reasonable value.
            </value>
            <remarks>
            Minimal value is 1000. Setting this to a value lower than 1000 will set it to 1000.
            </remarks>
        </member>
        <member name="P:Rebex.Net.Ftp.KeepAliveDuringTransferInterval">
            <summary>
            Gets or sets the length of interval 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 60. Setting this to a value lower than 60 will set it to 60.
            </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.Ftp.State">
            <summary>
            Gets the current state of the <see cref="T:Rebex.Net.Ftp"/> object.
            </summary>
            <value>The current state.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.TransferState">
            <summary>
            Gets the current transfer state of the <see cref="T:Rebex.Net.Ftp"/> object.
            </summary>
            <value>The current transfer state.</value>
        </member>
        <member name="P:Rebex.Net.Ftp.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.Ftp.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.Ftp.Version">
            <summary>
            Returns the version of the FTP component.
            </summary>
            <value>The version of the FTP component.</value>
        </member>
        <member name="T:Rebex.Net.FtpControl">
            <summary>
            Handles all control channel communication with an FTP server.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpResponseReadEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.Ftp.ResponseRead">ResponseRead</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpResponseReadEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpCommandSentEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.Ftp.CommandSent">CommandSent</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpCommandSentEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpStateChangedEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.Ftp.StateChanged">StateChanged</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpStateChangedEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpTransferProgressEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.Ftp.TransferProgress">TransferProgress</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpTransferProgressEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpItemParseEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.FtpItem.ItemParse">ItemParse</see> event of a <see cref="T:Rebex.Net.FtpItem"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpItemParseEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpListItemReceivedEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.Ftp.ListItemReceived">ListItemReceived</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpListItemReceivedEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpResponseReadEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.Ftp.ResponseRead">ResponseRead</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpResponseReadEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpResponseReadEventArgs"/> class with the specified response string.
            </summary>
            <param name="response">The raw response line that was read.</param>
        </member>
        <member name="P:Rebex.Net.FtpResponseReadEventArgs.Response">
            <summary>
            Gets the raw FTP response.
            </summary>
            <value>The raw FTP response.</value>
        </member>
        <member name="T:Rebex.Net.FtpCommandSentEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.Ftp.CommandSent">CommandSent</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpCommandSentEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpCommandSentEventArgs"/> class with the specified command string.
            </summary>
            <param name="command">The command that was sent.</param>
        </member>
        <member name="P:Rebex.Net.FtpCommandSentEventArgs.Command">
            <summary>
            Gets the command string.
            </summary>
            <value>The command string.</value>
        </member>
        <member name="T:Rebex.Net.FtpStateChangedEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.Ftp.StateChanged">StateChanged</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpStateChangedEventArgs.#ctor(Rebex.Net.FtpState,Rebex.Net.FtpState)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpStateChangedEventArgs"/> class with the specified old state and new state.
            </summary>
            <param name="oldState">The old state.</param>
            <param name="newState">The new state.</param>
        </member>
        <member name="P:Rebex.Net.FtpStateChangedEventArgs.OldState">
            <summary>
            Gets the old state.
            </summary>
            <value>The state that was changed.</value>
        </member>
        <member name="P:Rebex.Net.FtpStateChangedEventArgs.NewState">
            <summary>
            Gets the new state.
            </summary>
            <value>The new and current state.</value>
        </member>
        <member name="T:Rebex.Net.FtpTransferProgressEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.Ftp.TransferProgress">TransferProgress</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpTransferProgressEventArgs.#ctor(Rebex.Net.FtpTransferState,System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpTransferProgressEventArgs"/> class with the specified state
            and number of bytes transferred during the current transfer.
            </summary>
            <param name="state">Current state.</param>
            <param name="bytesTransfered">Number of bytes transferred. Ignored if <b>state</b> is <see cref="T:Rebex.Net.FtpTransferState">FtpTransferState.None</see>.</param>
        </member>
        <member name="M:Rebex.Net.FtpTransferProgressEventArgs.#ctor(Rebex.Net.FtpTransferState,System.Int64,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpTransferProgressEventArgs"/> class with the specified state,
            number of bytes transferred during the current transfer and progress since the last time the event was raised.
            </summary>
            <param name="state">Current state.</param>
            <param name="bytesTransfered">Number of bytes transferred. Ignored if <b>state</b> is <see cref="T:Rebex.Net.FtpTransferState">FtpTransferState.None</see>.</param>
            <param name="bytesSinceLastEvent">Number of bytes transferred since the last time the event was raised. Ignored if <b>state</b> is <see cref="T:Rebex.Net.FtpTransferState">FtpTransferState.None</see>.</param>
        </member>
        <member name="P:Rebex.Net.FtpTransferProgressEventArgs.State">
            <summary>
            Gets the transfer state.
            </summary>
            <value>The transfer state.</value>
        </member>
        <member name="P:Rebex.Net.FtpTransferProgressEventArgs.BytesTransfered">
            <summary>
            Gets the total number of bytes transferred during the current transfer.
            </summary>
            <value>The number of bytes transferred.</value>
            <remarks>This value is valid only when <see cref="P:Rebex.Net.FtpTransferProgressEventArgs.State"/> is not <see cref="P:Rebex.Net.FtpTransferProgressEventArgs.State">None</see>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpTransferProgressEventArgs.BytesSinceLastEvent">
            <summary>
            Gets the number of bytes transferred during the current transfer since the last time the event was raised.
            </summary>
            <value>The number of bytes transferred since the last time the event was raised.</value>
            <remarks>This value is valid only when <see cref="P:Rebex.Net.FtpTransferProgressEventArgs.State"/> is not <see cref="P:Rebex.Net.FtpTransferProgressEventArgs.State">None</see>.</remarks>
        </member>
        <member name="T:Rebex.Net.FtpItemParseEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.FtpItem.ItemParse">ItemParse</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpItemParseEventArgs.#ctor(System.String,Rebex.Net.FtpItem)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpItemParseEventArgs"/> class with the specified raw data and a parsed item.
            </summary>
            <param name="rawLine">Raw data of the line parsed.</param>
            <param name="item">Parsed <see cref="T:Rebex.Net.FtpItem"/> or <b>null</b> reference if unable to parse.</param>
            <remarks>
            This provides support for custom list parsing. Custom parser delegate can
            inspect the rawLine parameter and set <see cref="P:Rebex.Net.FtpItemParseEventArgs.Item"/> property to a new <see cref="T:Rebex.Net.FtpItem"/> instance.
            </remarks>
        </member>
        <member name="P:Rebex.Net.FtpItemParseEventArgs.RawLine">
            <summary>
            Gets the raw data of the line parsed.
            </summary>
            <value>The raw data of the line parsed.</value>
        </member>
        <member name="P:Rebex.Net.FtpItemParseEventArgs.Item">
            <summary>
            Gets or sets the parsed <see cref="T:Rebex.Net.FtpItem"/>.
            </summary>
            <value>The parsed <see cref="T:Rebex.Net.FtpItem"/> or <b>null</b> if unable to parse.</value>
        </member>
        <member name="T:Rebex.Net.FtpListItemReceivedEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.Ftp.ListItemReceived">ListItemReceived</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpListItemReceivedEventArgs.Ignore">
            <summary>
            Ignores the current item, making it not appear in the list.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpListItemReceivedEventArgs.Abort">
            <summary>
            Aborts the process of receving the file and directory listing.
            </summary>
            <remarks>Calling <see cref="M:Rebex.Net.FtpListItemReceivedEventArgs.Abort"/> will not ignore the last recieved item.
            You have to call <see cref="M:Rebex.Net.FtpListItemReceivedEventArgs.Ignore"/> prior to calling <see cref="M:Rebex.Net.FtpListItemReceivedEventArgs.Abort"/>
            if you don't want to have the last recieved item in your list.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpListItemReceivedEventArgs.#ctor(Rebex.Net.FtpListingType,System.String,Rebex.Net.FtpItem)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpListItemReceivedEventArgs"/> class with the specified listing type, raw data and item.
            </summary>
            <param name="listingType">FTP listing type.</param>
            <param name="rawLine">Raw data of the received item line.</param>
            <param name="item">Received <see cref="T:Rebex.Net.FtpItem"/>.</param>
        </member>
        <member name="P:Rebex.Net.FtpListItemReceivedEventArgs.ListingType">
            <summary>
            Gets the listing type.
            </summary>
            <value>Listing type.</value>
        </member>
        <member name="P:Rebex.Net.FtpListItemReceivedEventArgs.RawLine">
            <summary>
            Gets the raw data of the received item line.
            </summary>
            <value>The raw data of the received item line.</value>
        </member>
        <member name="P:Rebex.Net.FtpListItemReceivedEventArgs.Item">
            <summary>
            Gets or sets the received <see cref="T:Rebex.Net.FtpItem"/>.
            </summary>
            <value>The received <see cref="T:Rebex.Net.FtpItem"/> or <b>null</b> if not available.</value>
            <remarks>To remove this item from the list, set this property to null.</remarks>
        </member>
        <member name="T:Rebex.Net.FtpConnection">
            <summary>
            Specifies which FTP connection is the source of the <see cref="E:Rebex.Net.Ftp.TlsDebug">TlsDebug</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpConnection.Control">
            <summary>
            Control connection.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpConnection.Data">
            <summary>
            Data connection.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpTlsDebugEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Rebex.Net.Ftp.TlsDebug">TlsDebug</see> event of a <see cref="T:Rebex.Net.Ftp"/> class.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">A <see cref="T:Rebex.Net.FtpTlsDebugEventArgs"/> that contains the event data.</param>
        </member>
        <member name="T:Rebex.Net.FtpTlsDebugEventArgs">
            <summary>
            Provides data for the <see cref="E:Rebex.Net.Ftp.ResponseRead">ResponseRead</see> event.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpTlsDebugEventArgs.#ctor(Rebex.Net.FtpConnection,Rebex.Net.TlsDebugEventArgs)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpResponseReadEventArgs"/> class with the specified response string.
            </summary>
            <param name="connection">The connectin that was the source of the event.</param>
            <param name="debugEvent">The TLS debug event.</param>
        </member>
        <member name="P:Rebex.Net.FtpTlsDebugEventArgs.Connection">
            <summary>
            Gets the raw FTP response.
            </summary>
            <value>The raw FTP response.</value>
        </member>
        <member name="T:Rebex.Net.FtpExceptionStatus">
            <summary>
            Defines status codes for the <see cref="T:Rebex.Net.FtpException"/> class.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.ConnectFailure">
            <summary>
            The remote service point could not be contacted at the transport level.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.ConnectionClosed">
            <summary>
            The connection was prematurely closed.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.SocketError">
            <summary>
            The error at transport level occured.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.NameResolutionFailure">
            <summary>
            The name resolver service could not resolve the host name.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.Pending">
            <summary>
            An operation is pending.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.ProtocolError">
            <summary>
            The response received from the server was complete but indicated a protocol-level error. For example, an FTP protocol error such as 550 Access Denied would use this status.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.ProxyNameResolutionFailure">
            <summary>
            The name resolver service could not resolve the proxy host name.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.ReceiveFailure">
            <summary>
            A complete response was not received from the remote server.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.OperationAborted">
            <summary>
            The operation was aborted by a call to the <see cref="M:Rebex.Net.Ftp.Abort"/> method.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.UnclassifiableError">
            <summary>
            An unclassifiable error occurred. This is the default value for <see cref="P:Rebex.Net.FtpException.Status"/>.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.SendFailure">
            <summary>
            A complete request could not be sent to the remote server.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.ServerProtocolViolation">
            <summary>
            The server response was not a valid FTP response.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.Timeout">
            <summary>
            No response was received during the time-out period for a request.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.AsyncError">
            <summary>
            General exception in asynchronous call.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExceptionStatus.OperationFailure">
            <summary> 
            The requested operation could not be completed. 
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpException">
            <summary>
            The exception that is thrown when an error occurs while using Ftp component.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.FtpException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Net.FtpException"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class.
            </summary>
            <remarks>This constructor initializes the <see cref="P:System.Exception.Message">Message</see> property of the new instance to a message that describes the general error.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class with the specified error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor(System.String,Rebex.Net.FtpExceptionStatus)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class with the specified error message and status.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="status">One of the <see cref="T:Rebex.Net.FtpExceptionStatus"/> values.</param>
            <remarks>The status must not be <see cref="T:Rebex.Net.FtpExceptionStatus">ProtocolError</see>. Use <see cref="M:Rebex.Net.FtpException.#ctor(Rebex.Net.FtpResponse)">FtpException (FtpResponse response)</see> constructor for creating protocol error exceptions.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class with the specified error message
            and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The exception that is the cause of the current exception. If the <i>innerException</i> parameter is not a null reference, the current exception is raised in a <b>catch</b> block that handles the inner exception.</param>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor(System.String,System.Exception,Rebex.Net.FtpExceptionStatus)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class with the specified error message, status,
            and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The exception that is the cause of the current exception. If the <i>innerException</i> parameter is not a null reference, the current exception is raised in a <b>catch</b> block that handles the inner exception.</param>
            <param name="status">One of the <see cref="T:Rebex.Net.FtpExceptionStatus"/> values.</param>
            <remarks>The status must not be <see cref="T:Rebex.Net.FtpExceptionStatus">ProtocolError</see>. Use <see cref="M:Rebex.Net.FtpException.#ctor(Rebex.Net.FtpResponse)">FtpException (FtpResponse response)</see> constructor for creating protocol error exceptions.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpException.#ctor(Rebex.Net.FtpResponse)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpException"/> class with the specified <see cref="T:Rebex.Net.FtpResponse"/>.
            </summary>
            <param name="response">The <see cref="T:Rebex.Net.FtpResponse"/>.</param>
        </member>
        <member name="P:Rebex.Net.FtpException.Status">
            <summary>
            Gets the status of the response.
            </summary>
            <value>One of the <see cref="T:Rebex.Net.FtpExceptionStatus"/> values.</value>
        </member>
        <member name="P:Rebex.Net.FtpException.Response">
            <summary>
            Gets the <see cref="T:Rebex.Net.FtpResponse"/> if the exception.
            </summary>
            <value>The <see cref="T:Rebex.Net.FtpResponse"/> if <see cref="P:Rebex.Net.FtpException.Status"/> is <see cref="T:Rebex.Net.FtpExceptionStatus">ProtocolError</see>; <b>null</b> reference otherwise.</value>
        </member>
        <member name="P:Rebex.Net.FtpException.Transfered">
            <summary>
            Gets the amount od data transfered before the exception occured.
            </summary>
            <value>The amount od data transfered before the exception occured.</value>
        </member>
        <member name="T:Rebex.Net.FtpItemType">
            <summary>
            Type of <see cref="T:Rebex.Net.FtpItem"/>.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpItemType.File">
            <summary>File</summary>
        </member>
        <member name="F:Rebex.Net.FtpItemType.Directory">
            <summary>Directory</summary>
        </member>
        <member name="F:Rebex.Net.FtpItemType.Symlink">
            <summary>Symlink</summary>
        </member>
        <member name="T:Rebex.Net.FtpItem">
            <summary>
            Contains information about a single file or directory on the FTP server.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpItem.#ctor(System.String,System.Int64,Rebex.Net.FtpItemType,System.DateTime,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpItem"/> class.
            </summary>
            <param name="filename">The name of the file or directory.</param>
            <param name="size">The size of the file.</param>
            <param name="type">The type of item.</param>
            <param name="lastModified">The <see cref="T:System.DateTime"/> of last modification.</param>
            <param name="symlinkPath">The path this item points to if it is symlink.</param>
        </member>
        <member name="M:Rebex.Net.FtpItem.#ctor(System.String,System.Int64,Rebex.Net.FtpItemType)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpItem"/> class.
            </summary>
            <param name="filename">The name of the file or directory.</param>
            <param name="size">The size of the file.</param>
            <param name="type">The type of item.</param>
        </member>
        <member name="M:Rebex.Net.FtpItem.#ctor(Rebex.Net.FtpItemSystem,System.String,System.Int64,Rebex.Net.FtpItemType,System.DateTime,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpItem"/> class.
            </summary>
            <param name="system">The type of the item.</param>
            <param name="filename">The name of the file or directory.</param>
            <param name="size">The size of the file.</param>
            <param name="type">The type of item.</param>
            <param name="lastModified">The <see cref="T:System.DateTime"/> of last modification.</param>
            <param name="symlinkPath">The path this item points to if it is symlink.</param>
        </member>
        <member name="M:Rebex.Net.FtpItem.Parse(System.String)">
            <summary>
            Creates a new instance of the <see cref="T:Rebex.Net.FtpItem"/> class and initializes it with file info from a raw FTP list line.
            </summary>
            <param name="rawLine">A raw FTP list line.</param>
            <returns>An instance of <see cref="T:Rebex.Net.FtpItem"/> or a null reference if unable to parse.</returns>
        </member>
        <member name="M:Rebex.Net.FtpItem.Parse(System.String,Rebex.Net.FtpListingType)">
            <summary>
            Creates a new instance of the <see cref="T:Rebex.Net.FtpItem"/> class and initializes it with file info from a raw FTP list line.
            </summary>
            <param name="rawLine">A raw FTP list line.</param>
            <param name="listingType">Type of the listing.</param>
            <returns>An instance of <see cref="T:Rebex.Net.FtpItem"/> or a null reference if unable to parse.</returns>
        </member>
        <member name="M:Rebex.Net.FtpItem.ToString">
            <summary>
            Returns the name of the item.
            </summary>
            <returns>The name of the item.</returns>
        </member>
        <member name="P:Rebex.Net.FtpItem.Name">
            <summary>
            Gets the name of the file or directory.
            </summary>
            <value>The name of the file or directory.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.Type">
            <summary>
            Gets the type of the item.
            </summary>
            <value>The type of the item.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.SymlinkPath">
            <summary>
            Gets the path this item points to if it is symlink, null otherwise.
            </summary>
            <value>The path this item points to if it is symlink, null otherwise.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.Size">
            <summary>
            Gets the size of the file.
            </summary>
            <value>The size of the file.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.IsDirectory">
            <summary>
            Gets the flag indicating whether the item might be a directory.
            </summary>
            <value>True if the item might be a directory.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.IsFile">
            <summary>
            Gets the flag indicating whether the item might be a file.
            </summary>
            <value>True if the item might be a file.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.IsSymlink">
            <summary>
            Gets the flag indicating whether the item is a symlink.
            </summary>
            <value>True if the item is a symlink.</value>
        </member>
        <member name="P:Rebex.Net.FtpItem.Modified">
            <summary>
            Returns the <see cref="T:System.DateTime"/> of last modification.
            </summary>
            <value>The <see cref="T:System.DateTime"/> of last modification.</value>
        </member>
        <member name="E:Rebex.Net.FtpItem.ItemParse">
            <summary>
            Occurs when an item is being parsed.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpList">
            <summary>
            Provides a container for a collection of <see cref="T:Rebex.Net.FtpItem"/> objects.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpList.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpList"/> class.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpList.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpList"/> class with the specified file list.
            </summary>
            <param name="rawList">The unparsed FTP file list.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.#ctor(System.String[],Rebex.Net.FtpListingType)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpList"/> class with the specified file list.
            </summary>
            <param name="rawList">The unparsed FTP file list.</param>
            <param name="listingType">Type of the listing.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpList"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <returns>A shallow copy of the <see cref="T:Rebex.Net.FtpList"/>.</returns>
            <remarks>
            A shallow copy of a collection copies only the elements
            of the collection, whether they are reference types or value
            types, but it does not copy the objects that the references
            refer to. The references in the new collection point to the same
            objects that the references in the original collection point to.
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpList.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <see cref="T:Rebex.Net.FtpList"/>
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/>.</returns>
            <remarks>GetEnumerator is the method that implements the foreach statement (For Each in Visual Basic). You should not need to call this method directly.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpList.GetEnumerator(System.Int32,System.Int32)">
            <summary>
            Returns an enumerator for a section of the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <param name="index">The zero-based starting index of the <see cref="T:Rebex.Net.FtpList"/> section that the enumerator should refer to.</param>
            <param name="count">The number of elements in the <see cref="T:Rebex.Net.FtpList"/> section that the enumerator should refer to.</param>
            <returns>An <see cref="T:System.Collections.IEnumerator"/> for the specified section of the ArrayList.</returns>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpList.Add(Rebex.Net.FtpItem)">
            <summary>
            Adds the <see cref="T:Rebex.Net.FtpItem"/> to the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <param name="item">The <see cref="T:Rebex.Net.FtpItem"/> to be added to the <see cref="T:Rebex.Net.FtpList"/>.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.Remove(Rebex.Net.FtpItem)">
            <summary>
            Removes the specified <see cref="T:Rebex.Net.FtpItem"/> from the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <param name="item">The <see cref="T:Rebex.Net.FtpItem"/> to remove from the <see cref="T:Rebex.Net.FtpList"/>.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.Remove(System.String)">
            <summary>
            Removes the <see cref="T:Rebex.Net.FtpItem"/> with the specified name from the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <param name="name">The name of <see cref="T:Rebex.Net.FtpItem"/> to remove from the <see cref="T:Rebex.Net.FtpList"/>.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.Remove(System.Int32)">
            <summary>
            Removes the <see cref="T:Rebex.Net.FtpItem"/> at the specified index from the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <param name="index">The zero-based index of the <see cref="T:Rebex.Net.FtpItem"/> to remove.</param>
        </member>
        <member name="M:Rebex.Net.FtpList.GetTotalSize">
            <summary>
            Gets the total size of files contained in the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <returns>The total size of files contained it the <see cref="T:Rebex.Net.FtpList"/>.</returns>
        </member>
        <member name="M:Rebex.Net.FtpList.GetFiles(System.Text.RegularExpressions.Regex)">
            <summary>
            Returns the names of files in the <see cref="T:Rebex.Net.FtpList"/> that match the specified search pattern.
            </summary>
            <param name="regExp">The regular expression to match the names against.</param>
            <returns>A <see cref="T:System.String"/> array containing the names of files in the specified directory that match the specified search pattern.</returns>
        </member>
        <member name="M:Rebex.Net.FtpList.GetFiles(System.String,System.Boolean)">
            <summary>
            Returns the names of files in the <see cref="T:Rebex.Net.FtpList"/> that match the specified search pattern.
            </summary>
            <param name="searchPattern">The search string to match the items against.</param>
            <param name="caseSensitive">If tree, perform unix-like case-sensitive matching.</param>
            <returns>A <see cref="T:System.String"/> array containing the names of files in the specified directory that match the specified search pattern.</returns>
            <remarks>
            <p>The following wildcard specifiers are permitted in <i>searchPattern</i>:<br/>
            <b>*</b> - Zero or more characters.<br/>
            <b>?</b> - Exactly one character.<br/>
            Characters other than the wild card specifiers represent themselves.
            For example, the searchPattern string "*t" searches for all names in path
            ending with the letter "t". The searchPattern string "s*" searches for all
            names in path beginning with the letter "s".
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpList.GetFiles(System.String)">
            <summary>
            Returns the names of files in the <see cref="T:Rebex.Net.FtpList"/> that match the specified search pattern.
            </summary>
            <param name="searchPattern">The search string to match the items against.</param>
            <returns>A <see cref="T:System.String"/> array containing the names of files in the specified directory that match the specified search pattern.</returns>
            <remarks>
            <p>The following wildcard specifiers are permitted in <i>searchPattern</i>:<br/>
            <b>*</b> - Zero or more characters.<br/>
            <b>?</b> - Exactly one character.<br/>
            Characters other than the wild card specifiers represent themselves.
            For example, the searchPattern string "*t" searches for all names in path
            ending with the letter "t". The searchPattern string "s*" searches for all
            names in path beginning with the letter "s".
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpList.Sort">
            <summary>
            Sorts the items in the entire <see cref="T:Rebex.Net.FtpList"/> alphabetically.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpList.Sort(System.Collections.IComparer)">
            <summary>
            Sorts the elements in the entire <see cref="T:Rebex.Net.FtpList"/> using the specified comparer.
            </summary>
            <param name="comparer">The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements, or a null reference to sort alphabetically</param>
            <remarks>This method uses <see cref="M:System.Collections.ArrayList.Sort(System.Collections.IComparer)"/>, which uses QuickSort algorithm. See its description for more information.</remarks>
        </member>
        <member name="M:Rebex.Net.FtpList.Sort(System.Int32,System.Int32,System.Collections.IComparer)">
            <summary>
            Sorts the elements in a section of <see cref="T:Rebex.Net.FtpList"/> using the specified comparer.
            </summary>
            <param name="index">The zero-based starting index of the range to sort.</param>
            <param name="count">The length of the range to sort.</param>
            <param name="comparer">The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements, or a null reference to sort alphabetically.</param>
            <remarks>This method uses <see cref="M:System.Collections.ArrayList.Sort(System.Int32,System.Int32,System.Collections.IComparer)"/>, which uses QuickSort algorithm. See its description for more information.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpList.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <value>An object that can be used to synchronize access to the <see cref="T:Rebex.Net.FtpList"/>.</value>
        </member>
        <member name="P:Rebex.Net.FtpList.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:Rebex.Net.FtpList"/>.
            </summary>
            <value>The number of elements contained in the <see cref="T:Rebex.Net.FtpList"/>.</value>
        </member>
        <member name="P:Rebex.Net.FtpList.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:Rebex.Net.FtpItem"/> at the specified index.
            </summary>
            <param name="i">The zero-based index of the <see cref="T:Rebex.Net.FtpItem"/> to get.</param>
            <value><see cref="T:Rebex.Net.FtpItem"/> of the specified index.</value>
        </member>
        <member name="P:Rebex.Net.FtpList.Item(System.String)">
            <summary>
            Gets the <see cref="T:Rebex.Net.FtpItem"/> of the specified name.
            </summary>
            <param name="name">The name of the <see cref="T:Rebex.Net.FtpItem"/> to get.</param>
            <value><see cref="T:Rebex.Net.FtpItem"/> of the specified name.</value>
        </member>
        <member name="T:Rebex.Net.FtpTransferType">
            <summary>
            Type of transfer.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpTransferType.Ascii">
            <summary>Ascii</summary>
        </member>
        <member name="F:Rebex.Net.FtpTransferType.Binary">
            <summary>Binary</summary>
        </member>
        <member name="T:Rebex.Net.FtpOptions">
            <summary>
            Specifies various FTP options.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpOptions.None">
            <summary>
            No options.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpOptions.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 preceeding IP and Synch signals. The default behaviour 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="F:Rebex.Net.FtpOptions.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="F:Rebex.Net.FtpOptions.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="F:Rebex.Net.FtpOptions.ForceSilentCcc">
            <summary>
            Forces the <see cref="M:Rebex.Net.Ftp.ClearCommandChannel"/> method to do immediate unprotect, without exchange
            of CloseNotify alert messages. This is in violation of both FTPS and TLS RFCs, but some servers
            still require this to be set.
            However, be very careful when using this options, because the <see cref="M:Rebex.Net.Ftp.ClearCommandChannel"/>
            might not work with well-behaved servers when this is set.
            </summary>
            <remarks>
            Please note that silent CCC is always used when GlobalSCAPE, IpSwitch WS_FTP or 
            Enterprise UNIX 2.2.00 servers are detected and this option has no effect on any of these
            three servers.
            </remarks>
        </member>
        <member name="F:Rebex.Net.FtpOptions.SendDataAsynchronously">
            <summary>
            Uses BeginSend/EndSend asynchronous methods instead of synchronous Send while uploading data.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpOptions.TimeoutAsynchronousMethods">
            <summary>
            Makes <see cref="P:Rebex.Net.Ftp.Timeout"/> property affect asynchronous methods as well.
            By default, it only affects the synchronos methods.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpOptions.DoNotDetectFeatures">
            <summary>
            Disables feature detection after logging in using FEAT and/or other commands.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpOptions.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="T:Rebex.Net.FtpSecureUpgradeType">
            <summary>
            Type of TLS/SSL initialization.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecureUpgradeType.TLS">
            <summary>
            Use "AUTH TLS" command to secure the connection.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecureUpgradeType.SSL">
            <summary>
            Use "AUTH SSL" command to secure the connection.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecureUpgradeType.Any">
            <summary>
            Try "AUTH TLS" first and try "AUTH SSL" if it fails.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpSecurity">
            <summary>
            Specifies the FTP connection security.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecurity.Unsecure">
            <summary>
            Initially unsecured connection.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecurity.Implicit">
            <summary>
            Implicitly secured connection. Deprecated.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecurity.Explicit">
            <summary>
            Explicitly secured connection. Same as Secure.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpSecurity.Secure">
            <summary>
            Explicitly secured connection. Same as Explicit.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpState">
            <summary>
            State of the <see cref="T:Rebex.Net.Ftp"/> object.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Disconnected">
            <summary>Client is not connected.</summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Connecting">
            <summary>Connecting to server.</summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Ready">
            <summary>Server is ready and awaiting commands.</summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Sending">
            <summary>Sending command to the server.</summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Reading">
            <summary>Waiting for response or receiving response.</summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Processing">
            <summary>Received response is being processed.</summary>
        </member>
        <member name="F:Rebex.Net.FtpState.Disposed">
            <summary>Object is disposed and must not be used.</summary>
        </member>
        <member name="T:Rebex.Net.FtpTransferState">
            <summary>
            State of the FTP transfer.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpTransferState.None">
            <summary>No transfer pending.</summary>
        </member>
        <member name="F:Rebex.Net.FtpTransferState.Uploading">
            <summary>Uploading data.</summary>
        </member>
        <member name="F:Rebex.Net.FtpTransferState.Downloading">
            <summary>Downloading data.</summary>
        </member>
        <member name="T:Rebex.Net.FtpExtensions">
            <summary>
            FTP extensions.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExtensions.MachineProcessingList">
            <summary>
            MLST extension - directory and file listings for machine processing.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExtensions.ModifyFileModificationTime">
            <summary>
            MFMT extension - modify the last modification time of a file.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExtensions.PreTransferCommand">
            <summary>
            PRET extension - PRE Transfer Command for Distributed PASV Transfers.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExtensions.SetSecuredClientNegotiation">
            <summary>
            SSCN extension - set secured client negotiation.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpExtensions.All">
            <summary>
            All extensions.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpListingType">
            <summary>
            Type of file and directory listing.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpListingType.List">
            <summary>Classic method - the LIST command.</summary>
        </member>
        <member name="F:Rebex.Net.FtpListingType.MachineProcessingList">
            <summary>New method - the MLSD command.</summary>
        </member>
        <member name="F:Rebex.Net.FtpListingType.NameList">
            <summary>Name list only - the NLST command. Beware, behavior is not consistent accross different FTP servers. See <see cref="M:Rebex.Net.Ftp.GetNameList"/> remarks for more information.</summary>
        </member>
        <member name="T:Rebex.Net.FtpConnectionState">
            <summary>
            Represents the <see cref="T:Rebex.Net.Ftp">Ftp</see> object connection state.
            </summary>
        </member>
        <member name="P:Rebex.Net.FtpConnectionState.Connected">
            <summary>
            Returns a value indicating whether the object is connected.
            </summary>
            <value>True if connectet; oherwise false.</value>
        </member>
        <member name="P:Rebex.Net.FtpConnectionState.NativeErrorCode">
            <summary>
            Gets the Win32 socket error code.
            </summary>
            <value>Win32 error code.</value>
            <remarks>Returns 0 if no socket error code is available.</remarks>
        </member>
        <member name="T:Rebex.Net.FtpResponse">
            <summary>
            Contains the response of the FTP server.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpResponse.#ctor(System.Int32,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpResponse"/> class with the specified code, description and raw response string.
            </summary>
            <param name="code">The FTP response code. Must be in range of 100 to 599.</param>
            <param name="description">The description of the response code.</param>
            <param name="raw">Raw FTP response.</param>
        </member>
        <member name="P:Rebex.Net.FtpResponse.Raw">
            <summary>
            Gets the full unparsed response of the FTP server.
            </summary>
            <value>The full unparsed response of the FTP server.</value>
        </member>
        <member name="P:Rebex.Net.FtpResponse.Description">
            <summary>
            Gets the description of the FTP response.
            </summary>
            <value>The description of the FTP response.</value>
        </member>
        <member name="P:Rebex.Net.FtpResponse.Code">
            <summary>
            Gets the FTP response code.
            </summary>
            <value>FTP response code.</value>
        </member>
        <member name="P:Rebex.Net.FtpResponse.Group">
            <summary>
            Gets the group of the FTP response code.
            </summary>
            <value>The group of the FTP response code.</value>
        </member>
        <member name="T:Rebex.Net.FtpParse">
            <summary>
            Provides methods for parsing FTP server responses.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpListParse">
            <summary>
            Static methods for FTP LIST parsing.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpProxyType">
            <summary>
            Type of proxy to use to connect to the network.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.None">
            <summary>Direct connection.</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.Socks4">
            <summary>Connection through Socks4 proxy.</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.Socks4a">
            <summary>Connection through Socks4A proxy (capable of resolving domain names).</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.Socks5">
            <summary>Connection through Socks5 proxy.</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.HttpConnect">
            <summary>Connection through HTTP proxy using CONNECT method.</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.FtpSite">
            <summary>Connection through FTP proxy using SITE command.</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.FtpUser">
            <summary>Connection through FTP proxy using USER command.</summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyType.FtpOpen">
            <summary>Connection through FTP proxy using OPEN command.</summary>
        </member>
        <member name="T:Rebex.Net.FtpProxyAuthentication">
            <summary>
            Type of proxy server authentication.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyAuthentication.Basic">
            <summary>
            Basic authentication.
            </summary>
        </member>
        <member name="F:Rebex.Net.FtpProxyAuthentication.Ntlm">
            <summary>
            NTLM authentication.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpProxy">
            <summary>
            Contains proxy settings for <see cref="T:Rebex.Net.Ftp"/> and <see cref="T:Rebex.Net.FtpWebRequest"/> classes.
            </summary>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Net.FtpProxy"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.GetProxy(System.Uri)">
            <summary>
            Returns the proxied URI for a destination.
            </summary>
            <param name="destination">The <see cref="T:System.Uri"/> of the requested FTP server.</param>
            <returns>The <see cref="T:System.Uri"/> of the FTP server if the resource is on the bypass list; otherwise, the <see cref="T:System.Uri"/> of the proxy.</returns>
        </member>
        <member name="M:Rebex.Net.FtpProxy.IsBypassed(System.Uri)">
            <summary>
            Indicates whether to use the proxy server for the specified FTP server.
            </summary>
            <param name="host">The <see cref="T:System.Uri"/> of the FTP server to check for proxy use.</param>
            <returns><b>true</b> if the proxy server should not be used for <i>host</i>; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:Rebex.Net.FtpProxy.IsBypassed(System.String,System.Int32)">
            <summary>
            Indicates whether to use the proxy server for the specified FTP server.
            </summary>
            <param name="hostName">The address of the FTP server to check for proxy use.</param>
            <param name="port">The port port.</param>
            <returns><b>true</b> if the proxy server should not be used for <i>host</i>; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor">
            <summary>
            Initializes an empty instance of the <see cref="T:System.Net.WebProxy"/> class.
            </summary>
            <remarks>
            The default constructor initializes an empty instance of the <see cref="T:Rebex.Net.FtpProxy"/>
            class with the <see cref="P:Rebex.Net.FtpProxy.ProxyType"/> property set to <see cref="T:Rebex.Net.FtpProxyType">FtpProxyType.None</see>.
            When the <see cref="P:Rebex.Net.FtpProxy.ProxyType"/> is set to <see cref="T:Rebex.Net.FtpProxyType">FtpProxyType.None</see>, the <see cref="M:Rebex.Net.FtpProxy.IsBypassed(System.Uri)"/> method
            returns <b>true</b>, and the <see cref="M:Rebex.Net.FtpProxy.GetProxy(System.Uri)"/> method returns the destination address.
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(Rebex.Net.FtpProxyType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with the specified type, hostname, and port.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(Rebex.Net.FtpProxyType,System.String,System.Int32,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with the specified type, hostname, port, and username.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="username">A user name to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(Rebex.Net.FtpProxyType,System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with the specified type, hostname, port, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(Rebex.Net.FtpProxyType,System.String,System.Int32,System.Boolean,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with the specified type, hostname, port, bypass setting, list of URIs to bypass, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="bypassOnLocal"><b>true</b> to bypass the proxy for local addresses; otherwise, <b>false</b>.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(Rebex.Net.FtpProxyType,Rebex.Net.FtpProxyAuthentication,System.String,System.Int32,System.Boolean,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with the specified type, hostname, port, bypass setting, list of URIs to bypass, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="authenticationMethod">Authentication method.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="bypassOnLocal"><b>true</b> to bypass the proxy for local addresses; otherwise, <b>false</b>.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.FtpProxy.#ctor(Rebex.Net.FtpProxyType,System.String,System.Int32,System.Boolean,System.String[],System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.FtpProxy"/> class with the specified type, hostname, port, bypass setting, list of URIs to bypass, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="bypassOnLocal"><b>true</b> to bypass the proxy for local addresses; otherwise, <b>false</b>.</param>
            <param name="bypassList">An array of regular expression strings containing the URIs of the servers to bypass.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpProxy.Host">
            <summary>
            Gets or sets the hostname of the proxy server.
            </summary>
            <value>The hostname of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.Port">
            <summary>
            Gets or sets the port of the proxy server.
            </summary>
            <value>The port of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.ProxyType">
            <summary>
            Gets or sets the type of the proxy server.
            </summary>
            <value>The type of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.AuthenticationMethod">
            <summary>
            Gets or sets the proxy server authentication method.
            </summary>
            <value>The type of the proxy server authentication method.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.Credentials">
            <summary>
            Gets or sets the credentials to submit to the proxy server for authentication.
            </summary>
            <value>An <see cref="T:System.Net.ICredentials"/> containing the credentials to submit to the proxy server for authentication.</value>
            <remarks>Only credentials of type <see cref="T:System.Net.NetworkCredential"/> are supported.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpProxy.UserName">
            <summary>
            Gets or sets the username to submit to the proxy server for authentication.
            </summary>
            <value>A username to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.Password">
            <summary>
            Gets or sets the username to submit to the proxy server for authentication.
            </summary>
            <value>A username to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.BypassProxyOnLocal">
            <summary>
            Gets or sets a value indicating whether to bypass the proxy server for local addresses.
            </summary>
            <value><b>true</b> to bypass the proxy server for local addresses; otherwise, <b>false</b>. The default value is <b>false</b>.</value>
        </member>
        <member name="P:Rebex.Net.FtpProxy.BypassArrayList">
            <summary>
            Gets a list of addresses that do not use the proxy server.
            </summary>
            <value>An <see cref="T:System.Collections.ArrayList"/> containing a list of regular expressions that describe URIs that will not use the proxy server when accessed.</value>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpProxy.BypassList">
            <summary>
            Gets or sets an array of addresses that do not use the proxy server.
            </summary>
            <value>An array containing a list of regular expressions that describe URIs that will not use the proxy server when accessed.</value>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="T:Rebex.Net.FtpStream">
            <summary>
            Base class for FTP streams.
            </summary>
        </member>
        <member name="T:Rebex.Net.FtpWebRequest">
            <summary>
            Provides an FTP-specific implementation of the <see cref="T:System.Net.WebRequest"/> class.
            </summary>
            <example>
            The following example demonstrates how to use FtpWebResponse.
            <pre class="code">
            // Registers FtpWebRequest for the specified schema.
            WebRequest.RegisterPrefix ("ftp://", FtpWebRequest.Creator);
            // Creates a WebRequest for the specified URL. 
            WebRequest request = WebRequest.Create (url);
            // Sends the WebRequest and waits for a response.
            WebResponse response = request.GetResponse();
            Console.WriteLine("\nResponse Received. Trying to Close the response stream...");
            // Releases the resources of the response.
            response.Close();
            Console.WriteLine("\nResponse Stream successfully closed");
            </pre>
            </example>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.Abort">
            <summary>
            Cancels an asynchronous FTP request.
            </summary>
            <remarks>
            Abort cancels an asynchronous FTP request. After a request is canceled, calling
            <see cref="M:Rebex.Net.FtpWebRequest.GetResponse"/>, <see cref="M:Rebex.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/>, <see cref="M:Rebex.Net.FtpWebRequest.EndGetResponse(System.IAsyncResult)"/>, <see cref="M:Rebex.Net.FtpWebRequest.GetRequestStream"/>,
            <see cref="M:Rebex.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>, or <see cref="M:Rebex.Net.FtpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> will cause a <see cref="T:System.Net.WebException"/>
            with <see cref="P:System.Net.WebException.Status">Status</see> set to <see cref="T:System.Net.WebExceptionStatus">RequestCanceled</see>.
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)">
            <summary>
            Begins an asynchronous request for a <see cref="T:System.IO.Stream"/> instance to use to write data.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.EndGetRequestStream(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous request for a <see cref="T:System.IO.Stream"/> instance.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>If successful, returns the <see cref="T:System.IO.Stream"/> to use to write data.</returns>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.GetRequestStream">
            <summary>
            Gets a <see cref="T:System.IO.Stream"/> instance to use to write request data.
            </summary>
            <returns>A <see cref="T:System.IO.Stream"/> to use to write request data.</returns>
            <remarks>
            <p>The <see cref="M:Rebex.Net.FtpWebRequest.GetRequestStream"/> method returns a stream to use to send data for the <see cref="T:Rebex.Net.FtpWebRequest"/>. Once the <see cref="T:System.IO.Stream"/> instance has been returned, you can send data with the <see cref="T:Rebex.Net.FtpWebRequest"/> by using the <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/> method.</p>
            <p><b>Note:</b> Unlike <see cref="T:System.Net.HttpWebRequest"/>, you do not have to set the value of the <see cref="P:Rebex.Net.FtpWebRequest.ContentLength"/> property before writing data to the stream. <see cref="P:Rebex.Net.FtpWebRequest.ContentLength"/> is ignored.</p>
            <p><b>CAUTION:</b> You must call the <see cref="M:System.IO.Stream.Close"/> method to close the stream and release the connection for reuse. Failure to close the stream will cause it to remain open and your application may run out of connections.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)">
            <summary>
            Begins an asynchronous request for a <see cref="T:Rebex.Net.FtpWebResponse"/> instance to use to write data.
            </summary>
            <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
            <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
            <returns>An <see cref="T:System.IAsyncResult"/> that references the asynchronous operation.</returns>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.EndGetResponse(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous request for a <see cref="T:Rebex.Net.FtpWebResponse"/> instance.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>If successful, returns the <see cref="T:System.Net.WebResponse"/>.</returns>
        </member>
        <member name="M:Rebex.Net.FtpWebRequest.GetResponse">
            <summary>
            Returns <see cref="T:System.Net.WebResponse"/> instance to use to write data.
            </summary>
            <returns>A <see cref="T:System.Net.WebResponse"/> containing the response.</returns>
            <remarks>
            The actual instance returned is an instance of <see cref="T:Rebex.Net.FtpWebResponse"/>, and can be typecast to that class.
            </remarks>
        </member>
        <member name="E:Rebex.Net.FtpWebRequest.ResponseRead">
            <summary>
            Occurs when a response is received from the server.
            </summary>
        </member>
        <member name="E:Rebex.Net.FtpWebRequest.CommandSent">
            <summary>
            Occurs when a command is send to the server.
            </summary>
        </member>
        <member name="E:Rebex.Net.FtpWebRequest.StateChanged">
            <summary>
            Occurs when the state of the <see cref="T:Rebex.Net.Ftp"/> object is changed.
            </summary>
        </member>
        <member name="E:Rebex.Net.FtpWebRequest.TransferProgress">
            <summary>
            Occurs when data is send or received.
            </summary>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.TlsDebugLevel">
            <summary>
            Gets or sets the debug level that specifies an amount of messages <see cref="E:Rebex.Net.FtpWebRequest.TlsDebug"/> event handlers receive.
            </summary>
            <value>Debug level.</value>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.TlsParameters">
            <summary>
            Gets or sets TLS/SSL security parameters.
            </summary>
            <value>Security parameters.</value>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Security">
            <summary>
            Gets or sets the connection security.
            </summary>
        </member>
        <member name="E:Rebex.Net.FtpWebRequest.TlsDebug">
            <summary>
            Occurs when a TLS/SSL event is processed.
            </summary>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Creator">
            <summary>
            Gets the instance of IWebRequestCreate for registering with WebRequest.Create.
            </summary>
            <value>The instance of IWebRequestCreate</value>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.ContentLength">
            <summary>
            Gets or sets the Content-length HTTP header.
            </summary>
            <value>Not supported.</value>
            <remarks>Not supported by <see cref="T:Rebex.Net.FtpWebRequest"/>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.ContentType">
            <summary>
            Gets or sets the value of the Content-type HTTP header.
            </summary>
            <value>The value of the Content-type HTTP header.</value>
            <remarks>Not used by <see cref="T:Rebex.Net.FtpWebRequest"/>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Credentials">
            <summary>
            Gets or sets the credentials to submit to the proxy server for authentication.
            </summary>
            <value>An <see cref="T:System.Net.ICredentials"/> containing the credentials to submit to the proxy server for authentication.</value>
            <remarks>Only credentials of type <see cref="T:System.Net.NetworkCredential"/> are supported by <see cref="T:Rebex.Net.FtpWebRequest"/>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Proxy">
            <summary>
            Gets or sets proxy information for the request.
            </summary>
            <value>The <see cref="T:Rebex.Net.FtpProxy"/> instance to use to proxy the request.</value>
            <remarks>
            <p>
            The Proxy property identifies the <see cref="T:Rebex.Net.FtpProxy"/> instance to use to process
            requests to Internet resources. To specify that no proxy should be used,
            set the Proxy property to the proxy instance returned by
            the <see cref="M:System.Net.GlobalProxySelection.GetEmptyWebProxy"/> method.
            </p>
            <p>
            If this property is not set to an instance of <see cref="T:Rebex.Net.FtpProxy"/>, it is ignored.
            </p>
            </remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Headers">
            <summary>
            Gets or sets a collection of the name/value pairs that make up the HTTP headers.
            </summary>
            <value>A <see cref="T:System.Net.WebHeaderCollection"/> containing the name/value pairs that make up the headers for the HTTP request.</value>
            <remarks>Not used by <see cref="T:Rebex.Net.FtpWebRequest"/>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Method">
            <summary>
            Gets or sets the method for the request.
            </summary>
            <value>The method for the request.</value>
            <remarks>
            <p>The Method property can be set to either RETR or STOR command. PUT and GET are also supported for compatibility with HttpWebRequest.</p>
            <p>Changing the Method property after the request has been started by calling <see cref="M:Rebex.Net.FtpWebRequest.GetRequestStream"/>, <see cref="M:Rebex.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>, <see cref="M:Rebex.Net.FtpWebRequest.GetResponse"/>, or <see cref="M:Rebex.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/> method will throw an <see cref="T:System.InvalidOperationException"/>.</p>
            </remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.PreAuthenticate">
            <summary>
            Gets or sets a value indicating whether to send a preauthentication header with the request.
            </summary>
            <value>true to send a <b>WWW-authenticate</b> HTTP header with the initial request; otherwise, <b>false</b>. The default is <b>false</b>.</value>
            <remarks>Not used by <see cref="T:Rebex.Net.FtpWebRequest"/>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.RequestUri">
            <summary>
            Gets the URI of the request.
            </summary>
            <value>A <see cref="T:System.Uri"/> containing the URI of the Internet resource passed to the <see cref="M:System.Net.WebRequest.Create(System.Uri)"/> method.</value>
        </member>
        <member name="P:Rebex.Net.FtpWebRequest.Timeout">
            <summary>
            Gets or sets the time-out value for a request.
            </summary>
            <remarks>
            <p>
            The length of time, in milliseconds, until the request times out,
            or the value of -1 or 0 to indicate that the
            request does not time out. Default is -1.
            </p>
            <p>
            Timeout is the number of milliseconds that a synchronous request made
            with the <see cref="M:Rebex.Net.FtpWebRequest.GetResponse"/> method waits for a response, and the <see cref="M:Rebex.Net.FtpWebRequest.GetRequestStream"/>
            methods waits for a stream. If a resource does not respond within
            the time-out period, the request throws a <see cref="T:System.Net.WebException"/> with the <see cref="T:System.Net.WebExceptionStatus">Status</see>
            property set to <see cref="T:System.Net.WebExceptionStatus">Timeout</see>.
            </p>
            <p>
            The Timeout property has no effect on asynchronous requests made with
            the <see cref="M:Rebex.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/> or <see cref="M:Rebex.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/> methods.
            </p>
            <p>
            Minimal value is 1000. Setting this to a value lower than 1000 will set it to 1000.
            </p>
            </remarks>
        </member>
        <member name="T:Rebex.Net.FtpWebResponse">
            <summary>
            Provides an FTP-specific implementation of the <see cref="T:System.Net.WebResponse"/> class.
            </summary>
            <remarks>
            The <see cref="T:Rebex.Net.FtpWebResponse"/> class contains support for the properties
            and methods included in <see cref="T:System.Net.WebResponse"/>.
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpWebResponse.GetResponseStream">
            <summary>
            Gets the <see cref="T:System.IO.Stream"/> used to read the body of the response from the server.
            </summary>
            <returns>A <see cref="T:System.IO.Stream"/> user to read the body of the response.</returns>
            <remarks>
            <p><b>CAUTION:</b> You must call either the <see cref="M:System.IO.Stream.Close"/> or the FtpWebResponse.Close method to close the stream and release the connection for reuse. It is not necessary to call both Stream.Close and FtpWebResponse.Close, but doing so does not cause an error. Failure to close the stream will cause it to remain open and your application may run out of connections.</p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.FtpWebResponse.Close">
            <summary>
            Closes the response stream.
            </summary>
            <remarks>
            <p>The Close method closes the response stream and releases the connection to the FTP server for reuse by other requests</p>
            <p><b>CAUTION:</b> You must call either the <see cref="M:System.IO.Stream.Close"/> or the FtpWebResponse.Close method to close the stream and release the connection for reuse. It is not necessary to call both Stream.Close and FtpWebResponse.Close, but doing so does not cause an error. Failure to close the stream will cause it to remain open and your application may run out of connections.</p>
            </remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebResponse.ContentLength">
            <summary>
            Gets the length of the content returned by the request.
            </summary>
            <value>The number of bytes returned by the request.</value>
            <remarks>Not supported by <see cref="T:Rebex.Net.FtpWebResponse"/>.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebResponse.ContentType">
            <summary>
            Gets the content type of the response.
            </summary>
            <value>A content type of the response.</value>
            <remarks><see cref="T:Rebex.Net.FtpWebResponse"/> always returns "binary/octet-stream".</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebResponse.Headers">
            <summary>
            Gets the headers associated with this response from the server.
            </summary>
            <value>A <see cref="T:System.Net.WebHeaderCollection"/> containing the header information returned with the response.</value>
            <remarks><see cref="T:Rebex.Net.FtpWebResponse"/> always returns an empty collection.</remarks>
        </member>
        <member name="P:Rebex.Net.FtpWebResponse.ResponseUri">
            <summary>
            Gets the URI of the request.
            </summary>
            <value>A URI of the request.</value>
        </member>
        <member name="T:Rebex.Net.FtpWebStream">
            <summary>
            Encapsulation of FTP stream.
            </summary>
        </member>
    </members>
</doc>
