text:
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SharpAdbClient</name>
    </assembly>
    <members>
        <member name="T:SharpAdbClient.AdbClientExtensions">
            <summary>
            Provides extension methods for the <see cref="T:SharpAdbClient.IAdbClient"/> interface. Provides overloads
            for commonly used funtions.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.CreateForward(SharpAdbClient.IAdbClient,SharpAdbClient.DeviceData,System.Int32,System.Int32)">
            <summary>
             Creates a port forwarding between a local and a remote port.
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="device">
            The device to which to forward the connections.
            </param>
            <param name="localPort">
            The local port to forward.
            </param>
            <param name="remotePort">
            The remote port to forward to
            </param>
            <exception cref="T:SharpAdbClient.Exceptions.AdbException">
            failed to submit the forward command.
            or
            Device rejected command:  + resp.Message
            </exception>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.CreateForward(SharpAdbClient.IAdbClient,SharpAdbClient.DeviceData,System.Int32,System.String)">
            <summary>
            Forwards a remote Unix socket to a local TCP socket.
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="device">
            The device to which to forward the connections.
            </param>
            <param name="localPort">
            The local port to forward.
            </param>
            <param name="remoteSocket">
            The remote Unix socket.
            </param>
            <exception cref="T:SharpAdbClient.Exceptions.AdbException">
            The client failed to submit the forward command.
            </exception>
            <exception cref="T:SharpAdbClient.Exceptions.AdbException">
            The device rejected command. The error message will include the error message provided by the device.
            </exception>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.ExecuteRemoteCommand(SharpAdbClient.IAdbClient,System.String,SharpAdbClient.DeviceData,SharpAdbClient.IShellOutputReceiver)">
            <summary>
            Executes a shell command on the remote device
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="command">The command to execute</param>
            <param name="device">The device to execute on</param>
            <param name="rcvr">The shell output receiver</param>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.Reboot(SharpAdbClient.IAdbClient,SharpAdbClient.DeviceData)">
            <summary>
            Reboots the specified adb socket address.
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="device">The device.</param>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.Connect(SharpAdbClient.IAdbClient,System.Net.IPAddress)">
            <summary>
            Connect to a device via TCP/IP.
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="address">
            The IP address of the remote device.
            </param>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.Connect(SharpAdbClient.IAdbClient,System.String)">
            <summary>
            Connect to a device via TCP/IP.
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="host">
            The host address of the remote device.
            </param>
        </member>
        <member name="M:SharpAdbClient.AdbClientExtensions.Connect(SharpAdbClient.IAdbClient,System.Net.IPEndPoint)">
            <summary>
            Connect to a device via TCP/IP.
            </summary>
            <param name="client">
            An instance of a class that implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </param>
            <param name="endpoint">
            The IP endpoint at which the <c>adb</c> server on the device is running.
            </param>
        </member>
        <member name="T:SharpAdbClient.AdbCommandLineClient">
            <summary>
            Provides methods for interacting with the <c>adb.exe</c> command line client.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbCommandLineClient.Tag">
            <summary>
            The tag to use when logging.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbCommandLineClient.AdbVersionPattern">
            <summary>
            The regex pattern for getting the adb version from the <c>adb version</c> command.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbCommandLineClient.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.AdbCommandLineClient"/> class.
            </summary>
            <param name="adbPath">
            The path to the <c>adb.exe</c> executable.
            </param>
        </member>
        <member name="M:SharpAdbClient.AdbCommandLineClient.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.AdbCommandLineClient"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbCommandLineClient.AdbPath">
            <summary>
            Gets the path to the <c>adb.exe</c> executable.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbCommandLineClient.GetVersion">
            <summary>
            Queries adb for its version number and checks it against <see cref="F:SharpAdbClient.AdbServer.RequiredAdbVersion"/>.
            </summary>
            <returns>
            A <see cref="T:System.Version"/> object that contains the version number of the Android Command Line client.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbCommandLineClient.StartServer">
            <summary>
            Starts the adb server by running the <c>adb start-server</c> command.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbCommandLineClient.GetVersionFromOutput(System.Collections.Generic.List{System.String})">
            <summary>
            Parses the output of the <c>adb.exe version</c> command and determines the
            adb version.
            </summary>
            <param name="output">
            The output of the <c>adb.exe version</c> command.
            </param>
            <returns>
            A <see cref="T:System.Version"/> object that represents the version of the adb command
            line client.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbCommandLineClient.RunAdbProcess(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String})">
            <summary>
            Runs the <c>adb.exe</c> process, invoking a specific <paramref name="command"/>,
            and reads the standard output and standard error output.
            </summary>
            <param name="command">
            The <c>adb.exe</c> command to invoke, such as <c>version</c> or <c>start-server</c>.
            </param>
            <param name="errorOutput">
            A list in which to store the standard error output. Each line is added as a new entry.
            This value can be <see langword="null"/> if you are not interested in the standard
            error.
            </param>
            <param name="standardOutput">
            A list in which to store the standard output. Each line is added as a new entry.
            This value can be <see langword="null"/> if you are not interested in the standard
            output.
            </param>
            <remarks>
            <para>
            Use this command only for <c>adb</c> commands that return immediately, such as
            <c>adb version</c>. This operation times out after 5 seconds.
            </para>
            </remarks>
            <exception cref="T:SharpAdbClient.Exceptions.AdbException">
            The process exited with an exit code other than <c>0</c>.
            </exception>
        </member>
        <member name="T:SharpAdbClient.AdbServerStatus">
            <summary>
            Represents the status of the adb server.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbServerStatus.IsRunning">
            <summary>
            Gets or sets a value indicating whether the server is currently running.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbServerStatus.Version">
            <summary>
            Gets or sets, when the server is running, the version of the server that is running.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbServerStatus.ToString">
            <summary>
            Gets a <see cref="T:System.String"/> that represents the current <see cref="T:SharpAdbClient.AdbServerStatus"/>
            object.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:SharpAdbClient.AdbServerStatus"/>
            object.
            </returns>
        </member>
        <member name="T:SharpAdbClient.AdbClient">
            <summary>
            <para>
                Implements the <see cref="T:SharpAdbClient.IAdbClient"/> interface, and allows you to interact with the
                adb server and devices that are connected to that adb server.
            </para>
            <para>
                For example, to fetch a list of all devices that are currently connected to this PC, you can
                call the <see cref="M:SharpAdbClient.AdbClient.GetDevices"/> method.
            </para>
            <para>
                To run a command on a device, you can use the <see cref="!:ExecuteRemoteCommand(string, DeviceData, IShellOutputReceiver, int)"/>
                method.
            </para>
            </summary>
            <seealso href="https://github.com/android/platform_system_core/blob/master/adb/SERVICES.TXT">SERVICES.TXT</seealso>
            <seealso href="https://github.com/android/platform_system_core/blob/master/adb/adb_client.c">adb_client.c</seealso>
            <seealso href="https://github.com/android/platform_system_core/blob/master/adb/adb.c">adb.c</seealso>
        </member>
        <member name="F:SharpAdbClient.AdbClient.DefaultEncoding">
            <summary>
            The default encoding
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbClient.DefaultPort">
            <summary>
            The default port to use when connecting to a device over TCP/IP.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbClient.Tag">
            <summary>
            Logging tag
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbClient.WaitTime">
            <summary>
            The default time to wait in the milliseconds.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbClient.instance">
            <summary>
            The singleton instance of the <see cref="T:SharpAdbClient.AdbClient"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbClient.#ctor(System.Net.EndPoint)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.AdbClient"/> class.
            </summary>
            <param name="endPoint">
            The <see cref="P:SharpAdbClient.AdbClient.EndPoint"/> at which the adb server is listening.
            </param>
        </member>
        <member name="P:SharpAdbClient.AdbClient.Encoding">
            <summary>
            Gets the encoding used when communicating with adb.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbClient.Instance">
            <summary>
            Gets or sets the current global instance of the <see cref="T:SharpAdbClient.IAdbClient"/> interface.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbClient.EndPoint">
            <summary>
            Gets the <see cref="P:SharpAdbClient.AdbClient.EndPoint"/> at which the adb server is listening.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbClient.FormAdbRequest(System.String)">
            <summary>
            Create an ASCII string preceded by four hex digits. The opening "####"
            is the length of the rest of the string, encoded as ASCII hex(case
            doesn't matter).
            </summary>
            <param name="req">The request to form.
            </param>
            <returns>
            An array containing <c>####req</c>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbClient.CreateAdbForwardRequest(System.String,System.Int32)">
            <summary>
            Creates the adb forward request.
            </summary>
            <param name="address">The address.</param>
            <param name="port">The port.</param>
            <returns>
            This returns an array containing <c>"####tcp:{port}:{addStr}"</c>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbClient.GetAdbVersion">
            <summary>
      Ask the ADB server for its internal version number.
    </summary><returns>
      The ADB version number.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbClient.KillAdb">
            <summary>
      Ask the ADB server to quit immediately. This is used when the
      ADB client detects that an obsolete server is running after an
      upgrade.
    </summary>
        </member>
        <member name="M:SharpAdbClient.AdbClient.GetDevices">
            <summary>
      Gets the devices that are available for communication.
    </summary><returns>A list of devices that are connected.</returns><example>
      <para>
        The following example list all Android devices that are currently connected to this PC:
      </para>
      <code>
        var devices = devices = AdbClient.Instance.GetDevices();

        foreach(var device in devices)
        {
        Console.WriteLine(device.Name
        }
      </code>
    </example>
        </member>
        <member name="M:SharpAdbClient.AdbClient.SetDevice(SharpAdbClient.IAdbSocket,SharpAdbClient.DeviceData)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.AdbClient.CreateForward(SharpAdbClient.DeviceData,System.String,System.String,System.Boolean)">
            <summary>
      Asks the ADB server to forward local connections from <paramref name="local" />
      to the <paramref name="remote" /> address on the <paramref name="device" />.
    </summary><param name="device">
      The device to which to forward the connections.
    </param><param name="local">
      <para>
        The local address to forward. This value can be in one of:
      </para>
      <list type="ordered">
        <item>
          <c>tcp:<port></c>: TCP connection on localhost:<port>
        </item>
        <item>
          <c>local:<path></c>: Unix local domain socket on <path>
        </item>
      </list>
    </param><param name="remote">
      <para>
        The remote address to forward. This value can be in one of:
      </para>
      <list type="ordered">
        <item>
          <c>tcp:<port></c>: TCP connection on localhost:<port> on device
        </item>
        <item>
          <c>local:<path></c>: Unix local domain socket on <path> on device
        </item>
        <item>
          <c>jdwp:<pid></c>: JDWP thread on VM process <pid> on device.
        </item>
      </list>
    </param><param name="allowRebind">
      If set to <see langword="true" />, the request will fail if there is already a forward
      connection from <paramref name="local" />.
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbClient.RemoveForward(SharpAdbClient.DeviceData,System.Int32)">
            <summary>
      Remove a port forwarding between a local and a remote port.
    </summary><param name="device">
      The device on which to remove the port forwarding
    </param><param name="localPort">
      Specification of the local port that was forwarded
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbClient.RemoveAllForwards(SharpAdbClient.DeviceData)">
            <summary>
      Removes all forwards for a given device.
    </summary><param name="device">
      The device on which to remove the port forwarding
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbClient.ListForward(SharpAdbClient.DeviceData)">
            <summary>
      List all existing forward connections from this server.
    </summary><param name="device">
      The device for which to list the existing foward connections.
    </param><returns>
      A <see cref="T:SharpAdbClient.ForwardData" /> entry for each existing forward connection.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbClient.ExecuteRemoteCommand(System.String,SharpAdbClient.DeviceData,SharpAdbClient.IShellOutputReceiver,System.Threading.CancellationToken,System.Int32)">
            <summary>
      Executes the remote command.
    </summary><param name="command">
      The command to execute.
    </param><param name="device">
      The device on which to execute the command.
    </param><param name="rcvr">
      A <see cref="T:SharpAdbClient.IShellOutputReceiver" /> that receives the command output. Set to <see langword="null" />
      if you are not interested in the output.
    </param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the task.
    </param><param name="maxTimeToOutputResponse">The max time to output response.</param>
        </member>
        <member name="M:SharpAdbClient.AdbClient.GetFrameBuffer(SharpAdbClient.DeviceData,System.Threading.CancellationToken)">
            <summary>
      Gets the frame buffer from the specified end point.
    </summary><param name="device">The device.</param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the asynchronous task.
    </param><returns>Returns a <see cref="T:System.Threading.Tasks.Task" /> which returns the raw frame buffer.</returns><exception cref="T:SharpAdbClient.Exceptions.AdbException">
      failed asking for frame buffer
    </exception><exception cref="T:SharpAdbClient.Exceptions.AdbException">
      failed nudging
    </exception>
        </member>
        <member name="M:SharpAdbClient.AdbClient.RunLogService(SharpAdbClient.DeviceData,SharpAdbClient.Logs.LogId[])">
            <summary>
      Runs the Event log service on the Device.
    </summary><param name="device">
      The device.
    </param><param name="logNames">
      Optionally, the names of the logs to receive.
    </param><returns>
      An enumerator which enumerates all the log entries.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbClient.Reboot(System.String,SharpAdbClient.DeviceData)">
            <summary>
      Reboots the specified device in to the specified mode.
    </summary><param name="into">The mode into which to reboot the device.</param><param name="device">The device to reboot.</param>
        </member>
        <member name="M:SharpAdbClient.AdbClient.Connect(System.Net.DnsEndPoint)">
            <summary>
      Connect to a device via TCP/IP.
    </summary><param name="endpoint">
      The DNS endpoint at which the <c>adb</c> server on the device is running.
    </param>
        </member>
        <member name="T:SharpAdbClient.AdbResponse">
            <summary>
            An Adb Communication Response
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbResponse.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.AdbResponse"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbResponse.OK">
            <summary>
            Gets a <see cref="T:SharpAdbClient.AdbResponse"/> that represents the OK response sent by ADB.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbResponse.IOSuccess">
            <summary>
            Gets or sets a value indicating whether the IO communication was a success.
            </summary>
            <value>
              <see langword="true"/> if successful; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="P:SharpAdbClient.AdbResponse.Okay">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:SharpAdbClient.AdbResponse"/> is okay.
            </summary>
            <value>
              <see langword="true"/> if okay; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="P:SharpAdbClient.AdbResponse.Timeout">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:SharpAdbClient.AdbResponse"/> is timeout.
            </summary>
            <value>
              <see langword="true"/> if timeout; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="P:SharpAdbClient.AdbResponse.Message">
            <summary>
            Gets or sets the message.
            </summary>
            <value>
            The message.
            </value>
        </member>
        <member name="M:SharpAdbClient.AdbResponse.FromError(System.String)">
            <summary>
            Creates a new instance of the <see cref="T:SharpAdbClient.AdbResponse"/> class, based on an
            error message returned by adb.
            </summary>
            <param name="message">
            The error message returned by adb.
            </param>
            <returns>
            A new <see cref="T:SharpAdbClient.AdbResponse"/> object that represents the error.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbResponse.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current
            <see cref="T:SharpAdbClient.AdbResponse"/> object.
            </summary>
            <param name="obj">
            The <see cref="T:System.Object"/> to compare with the current <see cref="T:SharpAdbClient.AdbResponse"/> object.
            </param>
            <returns>
            <see langword="true"/> if the specified object is equal to the current object;
            otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbResponse.GetHashCode">
            <summary>
            Gets the hash code for the current <see cref="T:SharpAdbClient.AdbResponse"/>.
            </summary>
            <returns>
            A hash code for the current <see cref="T:SharpAdbClient.AdbResponse"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbResponse.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:SharpAdbClient.AdbResponse"/>.
            </summary>
            <returns>
            <c>OK</c> if the response is an OK response, or <c>Error: {Message}</c> if the
            response indicates an error.
            </returns>
        </member>
        <member name="T:SharpAdbClient.AdbServer">
            <summary>
            <para>
            Provides methods for interacting with the adb server. The adb server must be running for
            the rest of the <c>Managed.Adb</c> library to work.
            </para>
            <para>
            The adb server is a background process
            that runs on the host machine. Its purpose if to sense the USB ports to know when devices are
            attached/removed, as well as when emulator instances start/stop. The ADB server is really one
            giant multiplexing loop whose purpose is to orchestrate the exchange of data
            between clients and devices.
            </para>
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbServer.AdbServerPort">
            <summary>
            The port at which the Android Debug Bridge server listens by default.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbServer.RequiredAdbVersion">
            <summary>
            The minum version of <c>adb.exe</c> that is supported by this library.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbServer.ConnectionRefused">
            <summary>
            The error code that is returned by the <see cref="T:System.Net.Sockets.SocketException"/> when the connection is refused.
            </summary>
            <remarks>
            No connection could be made because the target computer actively refused it.This usually
            results from trying to connect to a service that is inactive on the foreign host—that is,
             one with no server application running.
            </remarks>
            <seealso href="https://msdn.microsoft.com/en-us/library/ms740668.aspx"/>
        </member>
        <member name="F:SharpAdbClient.AdbServer.Tag">
            <summary>
            The tag to use when logging.
            </summary>
        </member>
        <member name="P:SharpAdbClient.AdbServer.EndPoint">
            <summary>
            Gets the <see cref="T:System.Net.IPEndPoint"/> at which the Android Debug Bridge server is listening..
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbServer.StartServer(System.String,System.Boolean)">
            <summary>
            Starts the adb server if it was not previously running.
            </summary>
            <param name="adbPath">
            The path to the <c>adb.exe</c> executable that can be used to start the adb server.
            If this path is not provided, this method will throw an exception if the server
            is not running or is not up to date.
            </param>
            <param name="restartServerIfNewer">
            <see langword="true"/> to restart the adb server if the version of the <c>adb.exe</c>
            executable at <paramref name="adbPath"/> is newer than the version that is currently
            running; <see langword="false"/> to keep a previous version of the server running.
            </param>
            <returns>
            <list type="ordered">
            <item>
                <see cref="F:SharpAdbClient.StartServerResult.AlreadyRunning"/> if the adb server was already
                running and the version of the adb server was at least <see cref="F:SharpAdbClient.AdbServer.RequiredAdbVersion"/>.
            </item>
            <item>
                <see cref="F:SharpAdbClient.StartServerResult.RestartedOutdatedDaemon"/> if the adb server
                was already running, but the version was less than <see cref="F:SharpAdbClient.AdbServer.RequiredAdbVersion"/>
                or less than the version of the adb client at <paramref name="adbPath"/> and the
                <paramref name="restartServerIfNewer"/> flag was set.
            </item>
            <item>
            </item>
                <see cref="F:SharpAdbClient.StartServerResult.Started"/> if the adb server was not running,
                and the server was started.
            </list>
            </returns>
            <exception cref="T:SharpAdbClient.Exceptions.AdbException">
            The server was not running, or an outdated version of the server was running,
            and the <paramref name="adbPath"/> parameter was not specified.
            </exception>
        </member>
        <member name="M:SharpAdbClient.AdbServer.GetStatus">
            <summary>
            Gets the status of the adb server.
            </summary>
            <returns>
            A <see cref="T:SharpAdbClient.AdbServerStatus"/> object that describes the status of the
            adb server.
            </returns>
        </member>
        <member name="T:SharpAdbClient.AdbSocket">
            <summary>
            <para>
            Implements a client for the Android Debug Bridge client-server protocol. Using the client, you
            can send messages to and receive messages from the Android Debug Bridge.
            </para>
            <para>
            The <see cref="T:SharpAdbClient.AdbSocket"/> class implements the raw messaging protocol; that is,
            sending and receiving messages. For interacting with the services the Android Debug
            Bridge exposes, use the <see cref="T:SharpAdbClient.AdbClient"/>.
            </para>
            <para>
            For more information about the protocol that is implemented here, see chapter
            II Protocol Details, section 1. Client <->Server protocol at
            <see href="https://android.googlesource.com/platform/system/core/+/master/adb/OVERVIEW.TXT"/>.
            </para>
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbSocket.WaitTime">
            <summary>
            The default time to wait in the milliseconds.
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbSocket.TAG">
            <summary>
            Logging tag
            </summary>
        </member>
        <member name="F:SharpAdbClient.AdbSocket.socket">
            <summary>
            The underlying TCP socket that manages the connection with the ADB server.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.#ctor(System.Net.EndPoint)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.AdbSocket"/> class.
            </summary>
            <param name="endPoint">
            The <see cref="T:System.Net.EndPoint"/> at which the Android Debug Bridge is listening
            for clients.
            </param>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.#ctor(SharpAdbClient.ITcpSocket)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.AdbSocket"/> class.
            </summary>
            <param name="socket">
            The <see cref="T:SharpAdbClient.ITcpSocket"/> at which the Android Debug Bridge is listening
            for clients.
            </param>
        </member>
        <member name="P:SharpAdbClient.AdbSocket.Connected">
            <summary>
      Gets a value that indicates whether the <see cref="T:SharpAdbClient.AdbSocket" /> is connected to a remote
      host as of the latest send or receive operation.
    </summary>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.IsOkay(System.Byte[])">
            <summary>
            Determines whether the specified reply is okay.
            </summary>
            <param name="reply">The reply.</param>
            <returns>
              <see langword="true"/> if the specified reply is okay; otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.Close">
            <summary>
      Closes the <see cref="T:SharpAdbClient.AdbSocket" /> connection and releases all associated resources.
    </summary>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.Dispose">
            <summary>
            Releases all resources used by the current instance of the <see cref="T:SharpAdbClient.AdbSocket"/>
            class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.Read(System.Byte[])">
            <summary>
      Reads from the socket until the array is filled, or no more data is coming (because
      the socket closed or the timeout expired).
    </summary><param name="data">
      The buffer to store the read data into.
    </param><returns>
      <see langword="true" /> if the data was read successfully; otherwise,
      <see langword="false" />.
    </returns><remarks>
      This uses the default time out value.
    </remarks>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadAsync(System.Byte[],System.Threading.CancellationToken)">
            <summary>
      Asynchronously reads from the socket until the array is filled, or no more data is coming (because
      the socket closed or the timeout expired).
    </summary><param name="data">
      The buffer to store the read data into.
    </param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> which can be used to cancel the asynchronous operation.
    </param><returns>
      A <see cref="T:System.Threading.Tasks.Task" /> that represents the asynchronous operation.
    </returns><remarks>
      This uses the default time out value.
    </remarks>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.SendSyncRequest(SharpAdbClient.SyncCommand,System.String,System.Int32)">
            <summary>
      Sends a sync request to the device.
    </summary><param name="command">
      The command to send.
    </param><param name="path">
      The path of the file on which the command should operate.
    </param><param name="permissions">
      If the command is a <see cref="F:SharpAdbClient.SyncCommand.SEND" /> command, the permissions
      to assign to the newly created file.
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.SendSyncRequest(SharpAdbClient.SyncCommand,System.String)">
            <summary>
      Sends a sync request to the device.
    </summary><param name="command">
      The command to send.
    </param><param name="path">
      The path of the file on which the command should operate.
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.SendSyncRequest(SharpAdbClient.SyncCommand,System.Int32)">
            <summary>
      Sends a sync request to the device.
    </summary><param name="command">
      The command to send.
    </param><param name="length">
      The length of the data packet that follows.
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadSyncResponse">
            <summary>
      Reads the response to a sync command.
    </summary><returns>
      The response that was sent by the device.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadString">
            <summary>
      Reads a <see cref="T:System.String" /> from an <see cref="T:SharpAdbClient.IAdbSocket" /> instance.
    </summary><returns>
      The <see cref="T:System.String" /> received from the <see cref="T:SharpAdbClient.IAdbSocket" />.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadSyncString">
            <summary>
      Reads a <see cref="T:System.String" /> from an <see cref="T:SharpAdbClient.IAdbSocket" /> instance when
      the connection is in sync mode.
    </summary><returns>
      The <see cref="T:System.String" /> received from the <see cref="T:SharpAdbClient.IAdbSocket" />.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadStringAsync(System.Threading.CancellationToken)">
            <summary>
      Asynchronously reads a <see cref="T:System.String" /> from an <see cref="T:SharpAdbClient.IAdbSocket" /> instance.
    </summary><returns>
      A <see cref="T:System.Threading.Tasks.Task" /> that represents the asynchronous operation. The return value
      of the task is the <see cref="T:System.String" /> received from the <see cref="T:SharpAdbClient.IAdbSocket" />.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadAdbResponse">
            <summary>
      Receives an <see cref="T:SharpAdbClient.AdbResponse" /> message, and throws an error
      if the message does not indicate success.
    </summary><returns>
      A <see cref="T:SharpAdbClient.AdbResponse" /> object that represents the response from the
      Android Debug Bridge.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.SendAdbRequest(System.String)">
            <summary>
      Sends a request to the Android Debug Bridge. To read the response, call
      <see cref="M:SharpAdbClient.AdbSocket.ReadAdbResponse" />.
    </summary><param name="request">
      The request to send.
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.Send(System.Byte[],System.Int32)">
            <summary>
      Sends the specified number of bytes of data to a <see cref="T:SharpAdbClient.IAdbSocket" />,
    </summary><param name="data">
      A <see cref="T:System.Byte" /> array that acts as a buffer, containing the data to send.
    </param><param name="length">
      The number of bytes to send.
    </param>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadAsync(System.Byte[],System.Int32,System.Threading.CancellationToken)">
            <summary>
      Receives data from a <see cref="T:SharpAdbClient.IAdbSocket" /> into a receive buffer.
    </summary><param name="data">
      An array of type <see cref="T:System.Byte" /> that is the storage location for the received data.
    </param><param name="length">
      The number of bytes to receive.
    </param><returns>
      A <see cref="T:System.Threading.Tasks.Task" /> that represents the asynchronous operation. The result value of the
      task contains the number of bytes received.
    </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.Read(System.Byte[],System.Int32)">
            <summary>
      Reads from the socket until the array is filled, the optional <paramref name="length" />
      is reached, or no more data is coming (because the socket closed or the
      timeout expired).
    </summary><param name="data">
      The buffer to store the read data into.
    </param><param name="length">
      The length to read or -1 to fill the data buffer completely
    </param><exception cref="T:SharpAdbClient.Exceptions.AdbException">
      EOF
      or
      No Data to read: exception.Message
    </exception>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.GetShellStream">
            <!-- No matching elements were found for the following include tag --><include file="IAdbSocket.xml" path="/IAdbSocket/GetShellStream/*" />
        </member>
        <member name="M:SharpAdbClient.AdbSocket.Write(System.Byte[])">
            <summary>
            Write until all data in "data" is written or the connection fails or times out.
            </summary>
            <param name="data">The data to send.</param>
            <returns>
            Returns <see langword="true"/> if all data was written; otherwise,
            <see langword="false"/>.
            </returns>
            <remarks>
            This uses the default time out value.
            </remarks>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReadAdbResponseInner">
            <summary>
            Reads the response from ADB after a command.
            </summary>
            <returns>
            A <see cref="T:SharpAdbClient.AdbResponse"/> that represents the response received from ADB.
            </returns>
        </member>
        <member name="M:SharpAdbClient.AdbSocket.ReplyToString(System.Byte[])">
            <summary>
            Converts an ADB reply to a string.
            </summary>
            <param name="reply">
            A <see cref="T:System.Byte"/> array that represents the ADB reply.
            </param>
            <returns>
            A <see cref="T:System.String"/> that represents the ADB reply.
            </returns>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.AndroidProcess">
            <summary>
            Represents a process running on an Android device.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.User">
            <summary>
            Gets or sets the username of the process's owner
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.ProcessId">
            <summary>
            Gets or sets the Process ID number.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.ParentProcessId">
            <summary>
            Gets or sets the parent Process ID number.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.VirtualSize">
            <summary>
            Gets or sets total VM size in bytes.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.ResidentSetSize">
            <summary>
            Gets or sets the process resident set size.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.WChan">
            <summary>
            Gets or sets the memory address of the event the process is waiting for
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.Pc">
            <summary>
            Gets or sets the value of the <c>PC</c> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.Name">
            <summary>
            Gets or sets the name of the process, including arguments, if any.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcess.State">
            <summary>
            Gets or sets the state of the process.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.AndroidProcess.ParseHeader(System.String)">
            <summary>
            Parses the header of the <c>ps</c> command.
            </summary>
            <param name="header">
            A <see cref="T:System.String"/> that contains the <c>ps</c> command output header.
            </param>
            <returns>
            A <see cref="T:SharpAdbClient.DeviceCommands.AndroidProcessHeader"/> that represents the header information.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.AndroidProcess.Parse(System.String,SharpAdbClient.DeviceCommands.AndroidProcessHeader)">
            <summary>
            Parses an line of output of the <c>ps</c> command into a <see cref="T:SharpAdbClient.DeviceCommands.AndroidProcess"/>
            object.
            </summary>
            <param name="line">
            The line to parse.
            </param>
            <param name="header">
            THe header information, that defines how the <paramref name="line"/> is structured.
            </param>
            <returns>
            A <see cref="T:SharpAdbClient.DeviceCommands.AndroidProcess"/> that represents the process.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.AndroidProcess.ToString">
            <summary>
            Gets a <see cref="T:System.String"/> that represents this <see cref="T:SharpAdbClient.DeviceCommands.AndroidProcess"/>,
            in the format of "<see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.Name"/> (<see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.ProcessId"/>)".
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this <see cref="T:SharpAdbClient.DeviceCommands.AndroidProcess"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.AndroidProcess.IndexOf(System.Collections.Generic.List{System.String},System.String[])">
            <summary>
            Gets the index of the first value of a set of values that is part of a list.
            </summary>
            <param name="list">
            The list in which to search for the value.
            </param>
            <param name="values">
            The values to search for.
            </param>
            <returns>
            The index of the first element in <paramref name="values"/> that is present in the list, or
            <c>-1</c>.
            </returns>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.AndroidProcessHeader">
            <summary>
            Represents information of the <c>ps</c> command output.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.UserIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.User"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.ProcessIdIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.ProcessId"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.ParentProcessIdIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.ParentProcessId"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.VirtualSizeIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.VirtualSize"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.ResidentSetSizeIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.ResidentSetSize"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.WChanIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.WChan"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.PcIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.Pc"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.StateIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.State"/> field.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.AndroidProcessHeader.NameIndex">
            <summary>
            Gets or sets the index of the <see cref="P:SharpAdbClient.DeviceCommands.AndroidProcess.Name"/> field.
            </summary>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.AndroidProcessState">
            <summary>
            Represents the state of a process running on an Android device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.Unknown">
            <summary>
            The process state is unknown.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.D">
            <summary>
            Uninterruptible sleep (usually IO)
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.R">
            <summary>
            Running or runnable (on run queue)
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.S">
            <summary>
            Interruptible sleep (waiting for an event to complete)
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.T">
            <summary>
            Stopped, either by a job control signal or because it is being traced.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.W">
            <summary>
            paging (not valid since the 2.6.xx kernel)
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.X">
            <summary>
            dead (should never be seen)
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.AndroidProcessState.Z">
            <summary>
            Defunct ("zombie") process, terminated but not reaped by its parent.
            </summary>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.InfoReceiver">
            <summary>
            Processes command line output of a <c>adb</c> shell command.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.InfoReceiver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.InfoReceiver"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.InfoReceiver.Properties">
            <summary>
            Gets or sets a dictionary with the extracted properties and their corresponding values.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.InfoReceiver.PropertyParsers">
            <summary>
            Gets or sets the dictionary with all properties and their corresponding property parsers.
            A property parser extracts the property value out of a <see cref="T:System.String"/> if possible.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.InfoReceiver.GetPropertyValue(System.String)">
            <summary>
            Gets the value of the property out of the Properties dictionary. Returns null if the property is not present in the directory.
            </summary>
            <param name="propertyName">The name of the property</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.InfoReceiver.AddPropertyParser(System.String,System.Func{System.String,System.Object})">
            <summary>
            Adds a new parser to this receiver. The parsers parses one received line and extracts the property value if possible.
            The parser should return <c>null</c> if the property value cannot be found in the line.
            </summary>
            <param name="property">The property corresponding with the parser.</param>
            <param name="parser">Function parsing one string and returning the property value if possible. </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.InfoReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines, and sets version information if the line represents package information data.
            </summary>
            <param name="lines">
            The lines to process.
            </param>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.ProcessOutputReceiver">
            <summary>
            Parses output of the <c>ps</c> command into <see cref="T:SharpAdbClient.DeviceCommands.AndroidProcess"/> objects.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.processes">
            <summary>
            Backing field for the <see cref="P:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.Processes"/> property.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.buffer">
            <summary>
            A buffer that contains the output that was sent from the device to the PC.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.IsCancelled">
            <summary>
            Gets a value indicating whether the receiver has been cancelled.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.ParsesErrors">
            <summary>
            Gets a value indicating whether any errors occurred during parsing.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.Processes">
            <summary>
            Gets the list of processes that have been detected.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.AddOutput(System.String)">
            <summary>
            Adds the output.
            </summary>
            <param name="line">
            The output htat was received.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.Flush">
            <summary>
            Flushes the output and populates the <see cref="P:SharpAdbClient.DeviceCommands.ProcessOutputReceiver.Processes"/> property.
            </summary>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.VersionInfo">
            <summary>
            Represents a version of an Android application.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.VersionInfo.#ctor(System.Int32,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.VersionInfo"/> class.
            </summary>
            <param name="versionCode">The version code of the application.</param>
            <param name="versionName">The version name of the application</param>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.VersionInfo.VersionCode">
            <summary>
            Gets or sets the version code of an Android application
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.VersionInfo.VersionName">
            <summary>
            Gets or sets the version name of an Android application
            </summary>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.VersionInfoReceiver">
            <summary>
            Processes command line output of the <c>dumpsys package</c> command.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.VersionInfoReceiver.versionCode">
            <summary>
            The name of the version code property.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.VersionInfoReceiver.versionName">
            <summary>
            The name of the version name property.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.VersionInfoReceiver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.VersionInfoReceiver"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.VersionInfoReceiver.VersionInfo">
            <summary>
            Gets the version code of the specified package
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.VersionInfoReceiver.GetVersionName(System.String)">
            <summary>
            Parses the given line and extracts the version name if possible.
            </summary>
            <param name="line">The line to be parsed.</param>
            <returns>The extracted version name.</returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.VersionInfoReceiver.GetVersionCode(System.String)">
            <summary>
            Parses the given line and extracts the version code if possible.
            </summary>
            <param name="line">The line to be parsed.</param>
            <returns>The extracted version code.</returns>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.DeviceExtensions">
            <summary>
            Provides extension methods for the <see cref="T:SharpAdbClient.DeviceData"/> class, allowing you to run
            commands directory against a <see cref="T:SharpAdbClient.DeviceData"/> object.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.ExecuteShellCommand(SharpAdbClient.DeviceData,System.String,SharpAdbClient.IShellOutputReceiver)">
            <summary>
            Executes a shell command on the device.
            </summary>
            <param name="device">
            The device on which to run the command.
            </param>
            <param name="command">
            The command to execute.
            </param>
            <param name="receiver">
            Optionally, a <see cref="T:SharpAdbClient.IShellOutputReceiver"/> that processes the command output.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.Stat(SharpAdbClient.DeviceData,System.String)">
            <summary>
            Gets the file statistics of a given file.
            </summary>
            <param name="device">
            The device on which to look for the file.
            </param>
            <param name="path">
            The path to the file.
            </param>
            <returns>
            A <see cref="T:SharpAdbClient.FileStatistics"/> object that represents the file.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.GetProperties(SharpAdbClient.DeviceData)">
            <summary>
            Gets the properties of a device.
            </summary>
            <param name="device">
            The device for which to list the properties.
            </param>
            <returns>
            A dictionary containing the properties of the device, and their values.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.GetEnvironmentVariables(SharpAdbClient.DeviceData)">
            <summary>
            Gets the environment variables currently defined on a device.
            </summary>
            <param name="device">
            The device for which to list the environment variables.
            </param>
            <returns>
            A dictionary containing the environment variables of the device, and their values.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.UninstallPackage(SharpAdbClient.DeviceData,System.String)">
            <summary>
            Uninstalls a package from the device.
            </summary>
            <param name="device">
            The device on which to uninstall the package.
            </param>
            <param name="packageName">
            The name of the package to uninstall.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.GetPackageVersion(SharpAdbClient.DeviceData,System.String)">
            <summary>
            Requests the version information from the device.
            </summary>
            <param name="device">
            The device on which to uninstall the package.
            </param>
            <param name="packageName">
            The name of the package from which to get the application version.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.DeviceExtensions.ListProcesses(SharpAdbClient.DeviceData)">
            <summary>
            Lists all processes running on the device.
            </summary>
            <param name="device">
            The device on which to list the processes that are running.
            </param>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that will iterate over all
            processes that are currently running on the device.
            </returns>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.GetPropReceiver">
            <summary>
            Parses the output of the <c>getprop</c> command, which lists all properties of an
            Android device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.GetPropReceiver.GetpropCommand">
            <summary>
            The path to the <c>getprop</c> executable to run on the device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.GetPropReceiver.GetpropRegex">
            <summary>
            A regular expression which can be used to parse the getprop output.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.GetPropReceiver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.GetPropReceiver"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.GetPropReceiver.Properties">
            <summary>
            Gets the list of properties which have been retrieved.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.GetPropReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines.
            </summary>
            <param name="lines">
            The lines to process.
            </param>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.InstallReceiver">
            <summary>
            Processes output of the <c>pm install</c> command.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.InstallReceiver.UnknownError">
            <summary>
            The error message that indicates an unkown error occurred.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.InstallReceiver.SuccessOutput">
            <summary>
            The message that indicates the operation completed successfully.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.InstallReceiver.FailurePattern">
            <summary>
            A regular expression that matches output that indicates a failure.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.InstallReceiver.ErrorMessage">
            <summary>
            Gets the error message if the install was unsuccessful.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.InstallReceiver.Success">
            <summary>
            Gets a value indicating whether the install was a success.
            </summary>
            <value>
              <see langword="true"/> if success; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.InstallReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines.
            </summary>
            <param name="lines">The lines.</param>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.LinuxPath">
            <summary>
            Just like System.IO.Path, except it is geared for Linux
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.LinuxPath.DirectorySeparatorChar">
            <summary>
            The directory separator character.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.LinuxPath.EscapePattern">
            <summary>
            Pattern to escape filenames for shell command consumption.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.Combine(System.String[])">
            <summary>
            Combine the specified paths to form one path
            </summary>
            <param name="paths">The paths.</param>
            <returns></returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.GetDirectoryName(System.String)">
            <summary>Returns the directory information for the specified path string.</summary>
            <returns>A <see cref="T:System.String"></see> containing directory information for path, or null if path denotes a root directory, is the empty string (""), or is null. Returns <see cref="F:System.String.Empty"></see> if path does not contain directory information.</returns>
            <param name="path">The path of a file or directory. </param>
            <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces, or contains a wildcard character. </exception>
            <exception cref="T:System.IO.PathTooLongException">The path parameter is longer than the system-defined maximum length.</exception>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.GetFileName(System.String)">
            <summary>Returns the file name and extension of the specified path string.</summary>
            <returns>A <see cref="T:System.String"></see> consisting of the characters after the last directory character in path. If the last character of path is a directory or volume separator character, this method returns <see cref="F:System.String.Empty"></see>. If path is null, this method returns null.</returns>
            <param name="path">The path string from which to obtain the file name and extension. </param>
            <exception cref="T:System.ArgumentException">path contains one or more of the invalid characters defined in <see cref="F:System.IO.Path.InvalidPathChars"></see>, or contains a wildcard character. </exception>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.IsPathRooted(System.String)">
            <summary>Gets a value indicating whether the specified path string contains absolute or relative path information.</summary>
            <returns>true if path contains an absolute path; otherwise, false.</returns>
            <param name="path">The path to test. </param>
            <exception cref="T:System.ArgumentException">path contains one or more of the invalid characters defined in <see cref="F:System.IO.Path.InvalidPathChars"></see>, or contains a wildcard character. </exception>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.Escape(System.String)">
            <summary>
            Returns an escaped version of the entry name.
            </summary>
            <param name="path">The path.</param>
            <returns></returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.Quote(System.String)">
            <summary>
            Quotes the specified path.
            </summary>
            <param name="path">The path.</param>
            <returns></returns>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.CheckInvalidPathChars(System.String)">
            <summary>
            Checks the invalid path chars.
            </summary>
            <param name="path">The path.</param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.LinuxPath.FixupPath(System.String)">
            <summary>
            Fixups the path.
            </summary>
            <param name="path">The path.</param>
            <returns></returns>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.PackageInstallationException">
            <summary>
            An exception while installing a package on the device
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageInstallationException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.PackageInstallationException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageInstallationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.PackageInstallationException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageInstallationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.PackageInstallationException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="inner">The inner.</param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageInstallationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.PackageInstallationException"/> class.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
             <exception cref="T:System.ArgumentNullException">
             The <paramref name="info"/> parameter is null.
               </exception>

             <exception cref="T:System.Runtime.Serialization.SerializationException">
             The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0).
               </exception>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.PackageManager">
            <summary>
            Allows you to get information about packages that are installed on a device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.PackageManager.TempInstallationDirectory">
            <summary>
            The path to a temporary directory to use when pushing files to the device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.PackageManager.ListFull">
            <summary>
            The command that list all packages installed on the device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.PackageManager.ListThirdPartyOnly">
            <summary>
            The command that list all third party packages installed on the device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceCommands.PackageManager.Tag">
            <summary>
            The tag to use when logging messages.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.#ctor(SharpAdbClient.DeviceData,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.PackageManager"/> class.
            </summary>
            <param name="device">
            The device on which to look for packages.
            </param>
            <param name="thirdPartyOnly">
            <see langword="true"/> to only indicate third party applications;
            <see langword="false"/> to also include built-in applications.
            </param>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.PackageManager.ThirdPartyOnly">
            <summary>
            Gets a value indicating whether this package manager only lists third party
            applications, or also includes built-in applications.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.PackageManager.Packages">
            <summary>
            Gets the list of packages currently installed on the device. They key is the name of the
            package; the value the package path.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.PackageManager.Device">
            <summary>
            Gets the device.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.RefreshPackages">
            <summary>
            Refreshes the packages.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.InstallPackage(System.String,System.Boolean)">
            <summary>
            Installs an Android application on device.
            </summary>
            <param name="packageFilePath">
            The absolute file system path to file on local host to install.
            </param>
            <param name="reinstall">
            <see langword="true"/>if re-install of app should be performed; otherwise,
            <see langword="false"/>.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.InstallRemotePackage(System.String,System.Boolean)">
            <summary>
            Installs the application package that was pushed to a temporary location on the device.
            </summary>
            <param name="remoteFilePath">absolute file path to package file on device</param>
            <param name="reinstall">set to <see langword="true"/> if re-install of app should be performed</param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.UninstallPackage(System.String)">
            <summary>
            Uninstalls a package from the device.
            </summary>
            <param name="packageName">
            The name of the package to uninstall.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.GetVersionInfo(System.String)">
            <summary>
            Requests the version information from the device.
            </summary>
            <param name="packageName">
            The name of the package from which to get the application version.
            </param>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.SyncPackageToDevice(System.String)">
            <summary>
            Pushes a file to device
            </summary>
            <param name="localFilePath">the absolute path to file on local host</param>
            <returns>destination path on device for file</returns>
            <exception cref="T:System.IO.IOException">if fatal error occurred when pushing file</exception>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManager.RemoveRemotePackage(System.String)">
            <summary>
            Remove a file from device
            </summary>
            <param name="remoteFilePath">path on device of file to remove</param>
            <exception cref="T:System.IO.IOException">if file removal failed</exception>
        </member>
        <member name="T:SharpAdbClient.DeviceCommands.PackageManagerReceiver">
            <summary>
            Parses the output of the various <c>pm</c> commands.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManagerReceiver.#ctor(SharpAdbClient.DeviceData,SharpAdbClient.DeviceCommands.PackageManager)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceCommands.PackageManagerReceiver"/> class.
            </summary>
            <param name="device">
            The device for which the package information is being received.
            </param>
            <param name="packageManager">
            The parent package manager.
            </param>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.PackageManagerReceiver.Device">
            <summary>
            Gets the device.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceCommands.PackageManagerReceiver.PackageManager">
            <summary>
            Gets the package manager.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceCommands.PackageManagerReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines.
            </summary>
            <param name="lines">The lines.</param>
        </member>
        <member name="T:SharpAdbClient.Factories">
            <summary>
            Provides factory methods used by the various SharpAdbClient classes.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Factories.AdbSocketFactory">
            <summary>
            Gets or sets a delegate which creates a new instance of the <see cref="T:SharpAdbClient.AdbSocket"/> class.
            </summary>
            <returns>
            A new instance of the <see cref="T:SharpAdbClient.AdbSocket"/> class.
            </returns>
        </member>
        <member name="P:SharpAdbClient.Factories.AdbClientFactory">
            <summary>
            Gets or sets a delegate that creates a new instance of the <see cref="T:SharpAdbClient.AdbClient"/> class.
            </summary>
            <returns>
            A new instance of the <see cref="T:SharpAdbClient.AdbClient"/> class.
            </returns>
        </member>
        <member name="P:SharpAdbClient.Factories.AdbCommandLineClientFactory">
            <summary>
            Gets or sets a function that returns a new instance of a class that implements the
            <see cref="T:SharpAdbClient.IAdbCommandLineClient"/> interface, that can be used to interact with the
            <c>adb.exe</c> command line client.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Factories.SyncServiceFactory">
            <summary>
            Gets or sets a function that returns a new instance of a class that implements the
            <see cref="T:SharpAdbClient.ISyncService"/> interface, that can be used to transfer files to and from
            a given device.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Factories.Reset">
            <summary>
            Resets all factories to their default values.
            </summary>
        </member>
        <member name="T:SharpAdbClient.ColorData">
            <summary>
            <para>
            Contains information about a color element. Information about each pixel on the screen
            is contained in a byte array (for example, a 4-byte array for 32-bit color depths), and
            a certain number of bits are reserved for each color.
            </para>
            <para>
            For example, in a 24-bit RGB structure, the first byte contains the red color,
            the next byte the green color and the last byte the blue color.
            </para>
            </summary>
        </member>
        <member name="P:SharpAdbClient.ColorData.Length">
            <summary>
            Gets or sets the number of bits that contain information for this color.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ColorData.Offset">
            <summary>
            Gets or sets the offset, in bits, within the byte array for a pixel, at which the
            bytes that contain information for this color are stored.
            </summary>
        </member>
        <member name="T:SharpAdbClient.EnvironmentVariablesReceiver">
            <summary>
            Processes the output of the <c>printenv</c> command, which dumps all environment variables of
            an Android device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.EnvironmentVariablesReceiver.PrintEnvCommand">
            <summary>
            The path to the <c>printenv</c> command.
            </summary>
        </member>
        <member name="F:SharpAdbClient.EnvironmentVariablesReceiver.EnvPattern">
            <summary>
            A regular expression that can be used to parse the output of the <c>printenv</c> command.
            </summary>
        </member>
        <member name="M:SharpAdbClient.EnvironmentVariablesReceiver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.EnvironmentVariablesReceiver"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.EnvironmentVariablesReceiver.EnvironmentVariables">
            <summary>
            Gets the environment variables that are currently defined on the device.
            </summary>
        </member>
        <member name="M:SharpAdbClient.EnvironmentVariablesReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines.
            </summary>
            <param name="lines">The lines.</param>
        </member>
        <member name="T:SharpAdbClient.DeviceData">
            <summary>
            Represents a device that is connected to the Android Debug Bridge.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceData.DeviceDataRegex">
            <summary>
            A regular expression that can be used to parse the device information that is returned
            by the Android Debut Bridge.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceData.Serial">
            <summary>
            Gets or sets the device serial number.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceData.State">
            <summary>
            Gets or sets the device state.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceData.Model">
            <summary>
            Gets or sets the device model name.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceData.Product">
            <summary>
            Gets or sets the device product name.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceData.Name">
            <summary>
            Gets or sets the device name.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceData.CreateFromAdbData(System.String)">
            <summary>
            Creates a new instance of the <see cref="T:SharpAdbClient.DeviceData"/> class based on
            data retrieved from the Android Debug Bridge.
            </summary>
            <param name="data">
            The data retrieved from the Android Debug Bridge that represents a device.
            </param>
            <returns>
            A <see cref="T:SharpAdbClient.DeviceData"/> object that represents the device.
            </returns>
        </member>
        <member name="M:SharpAdbClient.DeviceData.ToString">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.DeviceData.GetStateFromString(System.String)">
            <summary>
            Get the device state from the string value
            </summary>
            <param name="state">The device state string</param>
            <returns></returns>
        </member>
        <member name="T:SharpAdbClient.DeviceDataEventArgs">
            <summary>
            The event arguments that are passed when a device event occurs.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceDataEventArgs.#ctor(SharpAdbClient.DeviceData)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceDataEventArgs"/> class.
            </summary>
            <param name="device">The device.</param>
        </member>
        <member name="P:SharpAdbClient.DeviceDataEventArgs.Device">
            <summary>
            Gets the device.
            </summary>
            <value>The device.</value>
        </member>
        <member name="T:SharpAdbClient.DeviceState">
            <summary>
            Defines the state of an Android device connected to the Android Debug Bridge.
            </summary>
            <seealso href="https://android.googlesource.com/platform/system/core/+/master/adb/adb.h"/>
            <seealso href="https://android.googlesource.com/platform/system/core/+/master/adb/transport.cpp"/>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Offline">
            <summary>
            The instance is not connected to adb or is not responding.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.BootLoader">
            <summary>
            The device is in bootloader mode
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Online">
            <summary>
            The instance is now connected to the adb server. Note that this state does not imply that the Android system is
            fully booted and operational, since the instance connects to adb while the system is still booting.
            However, after boot-up, this is the normal operational state of an emulator/device instance.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Host">
            <summary>
            The device is the adb host.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Recovery">
            <summary>
            The device is in recovery mode.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.NoPermissions">
            <summary>
            Insufficient permissions to communicate with the device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Sideload">
            <summary>
            The device is in sideload mode.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Unauthorized">
            <summary>
            The device is connected to adb, but adb is not authorized for remote debugging of this device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceState.Unknown">
            <summary>
            The device state is unknown.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Exceptions.CommandAbortingException">
            <summary>
            Thrown when an executed command identifies that it is being aborted.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.CommandAbortingException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.CommandAbortingException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.CommandAbortingException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.CommandAbortingException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.CommandAbortingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.CommandAbortingException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="context">The context.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.CommandAbortingException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.CommandAbortingException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:SharpAdbClient.Exceptions.NamespaceDoc">
            <summary>
            This namespace contains the various exceptions that are used by the SharpAdbClient library.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Exceptions.PermissionDeniedException">
            <summary>
            The exception that is thrown when the permission to a resource was denied.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.PermissionDeniedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.PermissionDeniedException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.PermissionDeniedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.PermissionDeniedException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.PermissionDeniedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.PermissionDeniedException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="context">The context.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.PermissionDeniedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.PermissionDeniedException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException">
            <summary>
            The exception that is thrown when a shell command becomes unresponsive.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException"/> class with a
            specified error message.
            </summary>
            <param name="message">
            The message that describes the error.
            </param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException"/> class with a
            reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="inner">
            The exception that is the cause of the current exception, or
            <see langword="null"/> if no inner exception is specified.
            </param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException"/> class with a
            specified error message and a reference to the inner exception that is the cause
            of this exception.
            </summary>
            <param name="message">
            The error message that explains the reason for the exception.
            </param>
            <param name="inner">
            The exception that is the cause of the current exception, or
            <see langword="null"/> if no inner exception is specified.
            </param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.ShellCommandUnresponsiveException"/> class with serialized
            data.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
            exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
            source or destination.
            </param>
        </member>
        <member name="T:SharpAdbClient.Exceptions.UnknownOptionException">
            <summary>
            Thrown when a command has an unknown option passed
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.UnknownOptionException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.UnknownOptionException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.UnknownOptionException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.UnknownOptionException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.UnknownOptionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.UnknownOptionException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="context">The context.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.UnknownOptionException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.UnknownOptionException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:SharpAdbClient.Exceptions.AdbException">
            <summary>
            Represents an exception with communicating with ADB
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.AdbException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.AdbException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.AdbException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.AdbException"/> class with the
            specified error message.
            </summary>
            <param name="message">
            The message that describes the error.
            </param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.AdbException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.AdbException"/> class with the
            specified client error message and adb error message.
            </summary>
            <param name="message">
            The message that describes the error on the client side.
            </param>
            <param name="adbError">
            The raw error message that was sent by adb.
            </param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.AdbException.#ctor(System.String,SharpAdbClient.AdbResponse)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.AdbException"/> class with the
            specified client error message and <see cref="T:SharpAdbClient.AdbResponse"/>
            </summary>
            <param name="message">
            The message that describes the error on the client side.
            </param>
            <param name="response">
            The <see cref="T:SharpAdbClient.AdbResponse"/> that was sent by adb.
            </param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.AdbException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.AdbException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="context">The context.</param>
        </member>
        <member name="M:SharpAdbClient.Exceptions.AdbException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.AdbException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="P:SharpAdbClient.Exceptions.AdbException.AdbError">
            <summary>
            Gets the error message that was sent by adb.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Exceptions.AdbException.Response">
            <summary>
            Gets the response that was sent by adb.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Exceptions.DeviceNotFoundException">
            <summary>
            Unable to connect to the device because it was not found in the list of available devices.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.DeviceNotFoundException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.DeviceNotFoundException"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Exceptions.DeviceNotFoundException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Exceptions.DeviceNotFoundException"/> class.
            </summary>
            <param name="device">The device.</param>
        </member>
        <member name="T:SharpAdbClient.StringHelper">
            <summary>
            Provides extension methods for working with <see cref="T:System.String"/> objects.
            </summary>
        </member>
        <member name="M:SharpAdbClient.StringHelper.Match(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
            <summary>
            Matches the specified source.
            </summary>
            <param name="source">The source.</param>
            <param name="pattern">The pattern.</param>
            <param name="options">The options.</param>
            <returns></returns>
        </member>
        <member name="M:SharpAdbClient.StringHelper.IsMatch(System.String,System.String)">
            <summary>
            Determines whether the specified source is match.
            </summary>
            <param name="source">The source.</param>
            <param name="pattern">The pattern.</param>
            <returns>
              <see langword="true"/> if the specified source is match; otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.StringHelper.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
            <summary>
            Determines whether the specified source is match.
            </summary>
            <param name="source">The source.</param>
            <param name="pattern">The pattern.</param>
            <param name="options">The options.</param>
            <returns>
              <see langword="true"/> if the specified source is match; otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="T:SharpAdbClient.FileStatistics">
            <summary>
            Contains information about a file on the remote device.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FileStatistics.Path">
            <summary>
            Gets or sets the path of the file.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FileStatistics.FileMode">
            <summary>
            Gets or sets the <see cref="T:SharpAdbClient.UnixFileMode"/> attributes of the file.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FileStatistics.Size">
            <summary>
            Gets or sets the total file size, in bytes.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FileStatistics.Time">
            <summary>
            Gets or sets the time of last modification.
            </summary>
        </member>
        <member name="M:SharpAdbClient.FileStatistics.ToString">
            <summary>
            Gets a <see cref="T:System.String"/> that represents the current <see cref="T:SharpAdbClient.FileStatistics"/> object.
            </summary>
            <returns>
            The <see cref="P:SharpAdbClient.FileStatistics.Path"/> of the current <see cref="T:SharpAdbClient.FileStatistics"/> object.
            </returns>
        </member>
        <member name="T:SharpAdbClient.ForwardData">
            <summary>
            Contains information about port forwarding configured by the Android Debug Bridge.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ForwardData.SerialNumber">
            <summary>
            Gets or sets the serial number of the device for which the port forwarding is
            configured.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ForwardData.Local">
            <summary>
            Gets or sets a <see cref="T:System.String"/> that represents the local (PC) endpoint.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ForwardData.Remote">
            <summary>
            Gets or sets a <see cref="T:System.String"/> that represents the remote (device) endpoint.
            </summary>
        </member>
        <member name="M:SharpAdbClient.ForwardData.FromString(System.String)">
            <summary>
            Creates a new instance of the <seealso cref="T:SharpAdbClient.ForwardData"/> class by parsing
            a <see cref="T:System.String"/>.
            </summary>
            <param name="value">
            The <see cref="T:System.String"/> value to parse.
            </param>
            <returns>
            A <see cref="T:SharpAdbClient.ForwardData"/> object that represents the port forwarding information
            contained in <paramref name="value"/>.
            </returns>
        </member>
        <member name="T:SharpAdbClient.FramebufferHeader">
            <summary>
            Whenever the <c>framebuffer:</c> service is invoked, the adb server responds with the contents
            of the framebuffer, prefixed with a <see cref="T:SharpAdbClient.FramebufferHeader"/> object that contains more
            information about the framebuffer.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Version">
            <summary>
            Gets or sets the version of the framebuffer sturcture.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Bpp">
            <summary>
            Gets or sets the number of bytes per pixel. Usual values include 32 or 24.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Size">
            <summary>
            Gets or sets the total size, in bits, of the framebuffer.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Width">
            <summary>
            Gets or sets the width, in pixels, of the framebuffer.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Height">
            <summary>
            Gets or sets the height, in pixels, of the framebuffer.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Red">
            <summary>
            Gets or sets information about the red color channel.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Blue">
            <summary>
            Gets or sets information about the blue color channel.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Green">
            <summary>
            Gets or sets information about the green color channel.
            </summary>
        </member>
        <member name="P:SharpAdbClient.FramebufferHeader.Alpha">
            <summary>
            Gets or sets information about the alpha channel.
            </summary>
        </member>
        <member name="M:SharpAdbClient.FramebufferHeader.Read(System.Byte[])">
            <summary>
            Creates a new <see cref="T:SharpAdbClient.FramebufferHeader"/> object based on a byte arra which contains the data.
            </summary>
            <param name="data">
            The data that feeds the <see cref="T:SharpAdbClient.FramebufferHeader"/> structure.
            </param>
            <returns>
            A new <see cref="T:SharpAdbClient.FramebufferHeader"/> object.
            </returns>
        </member>
        <member name="M:SharpAdbClient.FramebufferHeader.StandardizePixelFormat(System.Byte[])">
            <summary>
            Returns the <see cref="T:System.Drawing.Imaging.PixelFormat"/> that describes pixel format of an image that is stored according to the information
            present in this <see cref="T:SharpAdbClient.FramebufferHeader"/>. Because the <see cref="T:System.Drawing.Imaging.PixelFormat"/> enumeration does not allow for all
            formats supported by Android, this method also takes a <paramref name="buffer"/> and reorganizes the bytes in the buffer to
            match the return value of this function.
            </summary>
            <param name="buffer">
            A byte array in which the images are stored according to this <see cref="T:SharpAdbClient.FramebufferHeader"/>.
            </param>
            <returns>
            A <see cref="T:System.Drawing.Imaging.PixelFormat"/> that describes how the image data is represented in this <paramref name="buffer"/>.
            </returns>
        </member>
        <member name="T:SharpAdbClient.IAdbClient">
            <summary>
            A common interface for any class that allows you to interact with the
            adb server and devices that are connected to that adb server.
            </summary>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.GetAdbVersion">
            <summary>
      Ask the ADB server for its internal version number.
    </summary><returns>
      The ADB version number.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.KillAdb">
            <summary>
      Ask the ADB server to quit immediately. This is used when the
      ADB client detects that an obsolete server is running after an
      upgrade.
    </summary>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.GetDevices">
            <summary>
      Gets the devices that are available for communication.
    </summary><returns>A list of devices that are connected.</returns><example>
      <para>
        The following example list all Android devices that are currently connected to this PC:
      </para>
      <code>
        var devices = devices = AdbClient.Instance.GetDevices();

        foreach(var device in devices)
        {
        Console.WriteLine(device.Name
        }
      </code>
    </example>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.CreateForward(SharpAdbClient.DeviceData,System.String,System.String,System.Boolean)">
            <summary>
      Asks the ADB server to forward local connections from <paramref name="local" />
      to the <paramref name="remote" /> address on the <paramref name="device" />.
    </summary><param name="device">
      The device to which to forward the connections.
    </param><param name="local">
      <para>
        The local address to forward. This value can be in one of:
      </para>
      <list type="ordered">
        <item>
          <c>tcp:<port></c>: TCP connection on localhost:<port>
        </item>
        <item>
          <c>local:<path></c>: Unix local domain socket on <path>
        </item>
      </list>
    </param><param name="remote">
      <para>
        The remote address to forward. This value can be in one of:
      </para>
      <list type="ordered">
        <item>
          <c>tcp:<port></c>: TCP connection on localhost:<port> on device
        </item>
        <item>
          <c>local:<path></c>: Unix local domain socket on <path> on device
        </item>
        <item>
          <c>jdwp:<pid></c>: JDWP thread on VM process <pid> on device.
        </item>
      </list>
    </param><param name="allowRebind">
      If set to <see langword="true" />, the request will fail if there is already a forward
      connection from <paramref name="local" />.
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.RemoveForward(SharpAdbClient.DeviceData,System.Int32)">
            <summary>
      Remove a port forwarding between a local and a remote port.
    </summary><param name="device">
      The device on which to remove the port forwarding
    </param><param name="localPort">
      Specification of the local port that was forwarded
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.RemoveAllForwards(SharpAdbClient.DeviceData)">
            <summary>
      Removes all forwards for a given device.
    </summary><param name="device">
      The device on which to remove the port forwarding
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.ListForward(SharpAdbClient.DeviceData)">
            <summary>
      List all existing forward connections from this server.
    </summary><param name="device">
      The device for which to list the existing foward connections.
    </param><returns>
      A <see cref="T:SharpAdbClient.ForwardData" /> entry for each existing forward connection.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.ExecuteRemoteCommand(System.String,SharpAdbClient.DeviceData,SharpAdbClient.IShellOutputReceiver,System.Threading.CancellationToken,System.Int32)">
            <summary>
      Executes the remote command.
    </summary><param name="command">
      The command to execute.
    </param><param name="device">
      The device on which to execute the command.
    </param><param name="rcvr">
      A <see cref="T:SharpAdbClient.IShellOutputReceiver" /> that receives the command output. Set to <see langword="null" />
      if you are not interested in the output.
    </param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the task.
    </param><param name="maxTimeToOutputResponse">The max time to output response.</param>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.GetFrameBuffer(SharpAdbClient.DeviceData,System.Threading.CancellationToken)">
            <summary>
      Gets the frame buffer from the specified end point.
    </summary><param name="device">The device.</param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the asynchronous task.
    </param><returns>Returns a <see cref="T:System.Threading.Tasks.Task" /> which returns the raw frame buffer.</returns><exception cref="T:SharpAdbClient.Exceptions.AdbException">
      failed asking for frame buffer
    </exception><exception cref="T:SharpAdbClient.Exceptions.AdbException">
      failed nudging
    </exception>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.RunLogService(SharpAdbClient.DeviceData,SharpAdbClient.Logs.LogId[])">
            <summary>
      Runs the Event log service on the Device.
    </summary><param name="device">
      The device.
    </param><param name="logNames">
      Optionally, the names of the logs to receive.
    </param><returns>
      An enumerator which enumerates all the log entries.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.Reboot(System.String,SharpAdbClient.DeviceData)">
            <summary>
      Reboots the specified device in to the specified mode.
    </summary><param name="into">The mode into which to reboot the device.</param><param name="device">The device to reboot.</param>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.Connect(System.Net.DnsEndPoint)">
            <summary>
      Connect to a device via TCP/IP.
    </summary><param name="endpoint">
      The DNS endpoint at which the <c>adb</c> server on the device is running.
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbClient.SetDevice(SharpAdbClient.IAdbSocket,SharpAdbClient.DeviceData)">
            <summary>
      Ask to switch the connection to the device/emulator identified by
      <paramref name="device" />. After this request, every client request will
      be sent directly to the adbd daemon running on the device.
    </summary><param name="socket">
      An instance of the <see cref="T:SharpAdbClient.IAdbSocket" /> class which is connected to
      the Android Debug Bridge.
    </param><param name="device">
      The device to which to connect.
    </param><remarks>
      If <paramref name="device" /> is <see langword="null" />, this metod
      does nothing.
    </remarks>
        </member>
        <member name="T:SharpAdbClient.IAdbCommandLineClient">
            <summary>
            Provides a common interface for any class that provides access to the
            <c>adb.exe</c> executable.
            </summary>
        </member>
        <member name="M:SharpAdbClient.IAdbCommandLineClient.GetVersion">
            <summary>
            Queries adb for its version number and checks it against <see cref="F:SharpAdbClient.AdbServer.RequiredAdbVersion"/>.
            </summary>
        </member>
        <member name="M:SharpAdbClient.IAdbCommandLineClient.StartServer">
            <summary>
            Starts the adb server by running the <c>adb start-server</c> command.
            </summary>
        </member>
        <member name="T:SharpAdbClient.IAdbSocket">
            <summary>
            Provides a common interface for any class that acts as a client for the
            Android Debug Bridge.
            </summary>
        </member>
        <member name="P:SharpAdbClient.IAdbSocket.Connected">
            <summary>
      Gets a value that indicates whether the <see cref="T:SharpAdbClient.AdbSocket" /> is connected to a remote
      host as of the latest send or receive operation.
    </summary>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.SendAdbRequest(System.String)">
            <summary>
      Sends a request to the Android Debug Bridge. To read the response, call
      <see cref="M:SharpAdbClient.IAdbSocket.ReadAdbResponse" />.
    </summary><param name="request">
      The request to send.
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.Send(System.Byte[],System.Int32)">
            <summary>
      Sends the specified number of bytes of data to a <see cref="T:SharpAdbClient.IAdbSocket" />,
    </summary><param name="data">
      A <see cref="T:System.Byte" /> array that acts as a buffer, containing the data to send.
    </param><param name="length">
      The number of bytes to send.
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.SendSyncRequest(SharpAdbClient.SyncCommand,System.String,System.Int32)">
            <summary>
      Sends a sync request to the device.
    </summary><param name="command">
      The command to send.
    </param><param name="path">
      The path of the file on which the command should operate.
    </param><param name="permissions">
      If the command is a <see cref="F:SharpAdbClient.SyncCommand.SEND" /> command, the permissions
      to assign to the newly created file.
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.SendSyncRequest(SharpAdbClient.SyncCommand,System.Int32)">
            <!-- No matching elements were found for the following include tag --><include file="IAdbSocket.xml" path="/IAdbSocket/SendSyncRequest/*" />
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.SendSyncRequest(SharpAdbClient.SyncCommand,System.String)">
            <summary>
      Sends a sync request to the device.
    </summary><param name="command">
      The command to send.
    </param><param name="path">
      The path of the file on which the command should operate.
    </param>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.ReadSyncResponse">
            <summary>
      Reads the response to a sync command.
    </summary><returns>
      The response that was sent by the device.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.ReadAdbResponse">
            <summary>
      Receives an <see cref="T:SharpAdbClient.AdbResponse" /> message, and throws an error
      if the message does not indicate success.
    </summary><returns>
      A <see cref="T:SharpAdbClient.AdbResponse" /> object that represents the response from the
      Android Debug Bridge.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.Read(System.Byte[])">
            <summary>
      Reads from the socket until the array is filled, or no more data is coming (because
      the socket closed or the timeout expired).
    </summary><param name="data">
      The buffer to store the read data into.
    </param><returns>
      <see langword="true" /> if the data was read successfully; otherwise,
      <see langword="false" />.
    </returns><remarks>
      This uses the default time out value.
    </remarks>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.ReadString">
            <summary>
      Reads a <see cref="T:System.String" /> from an <see cref="T:SharpAdbClient.IAdbSocket" /> instance.
    </summary><returns>
      The <see cref="T:System.String" /> received from the <see cref="T:SharpAdbClient.IAdbSocket" />.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.ReadSyncString">
            <summary>
      Reads a <see cref="T:System.String" /> from an <see cref="T:SharpAdbClient.IAdbSocket" /> instance when
      the connection is in sync mode.
    </summary><returns>
      The <see cref="T:System.String" /> received from the <see cref="T:SharpAdbClient.IAdbSocket" />.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.ReadStringAsync(System.Threading.CancellationToken)">
            <summary>
      Asynchronously reads a <see cref="T:System.String" /> from an <see cref="T:SharpAdbClient.IAdbSocket" /> instance.
    </summary><returns>
      A <see cref="T:System.Threading.Tasks.Task" /> that represents the asynchronous operation. The return value
      of the task is the <see cref="T:System.String" /> received from the <see cref="T:SharpAdbClient.IAdbSocket" />.
    </returns>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.Close">
            <summary>
      Closes the <see cref="T:SharpAdbClient.AdbSocket" /> connection and releases all associated resources.
    </summary>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.Read(System.Byte[],System.Int32)">
            <summary>
      Reads from the socket until the array is filled, the optional <paramref name="length" />
      is reached, or no more data is coming (because the socket closed or the
      timeout expired).
    </summary><param name="data">
      The buffer to store the read data into.
    </param><param name="length">
      The length to read or -1 to fill the data buffer completely
    </param><exception cref="T:SharpAdbClient.Exceptions.AdbException">
      EOF
      or
      No Data to read: exception.Message
    </exception>
        </member>
        <member name="M:SharpAdbClient.IAdbSocket.GetShellStream">
            <!-- No matching elements were found for the following include tag --><include file="IAdbSocket.xml" path="/IAdbSocket/GetShellStream/*" />
        </member>
        <member name="T:SharpAdbClient.IDeviceMonitor">
            <summary>
            Provides a common interface for any class that allows you to monitor the list of
            devices that are currently connected to the adb server.
            </summary>
        </member>
        <member name="E:SharpAdbClient.IDeviceMonitor.DeviceChanged">
            <summary>
      Occurs when the status of one of the connected devices has changed.
    </summary>
        </member>
        <member name="E:SharpAdbClient.IDeviceMonitor.DeviceConnected">
            <summary>
      Occurs when a device has connected to the Android Debug Bridge.
    </summary>
        </member>
        <member name="E:SharpAdbClient.IDeviceMonitor.DeviceDisconnected">
            <summary>
      Occurs when a device has disconnected from the Android Debug Bridge.
    </summary>
        </member>
        <member name="P:SharpAdbClient.IDeviceMonitor.Devices">
            <summary>
      Gets the devices that are currently connected to the Android Debug Bridge.
    </summary>
        </member>
        <member name="M:SharpAdbClient.IDeviceMonitor.Start">
            <summary>
      Starts the monitoring
    </summary>
        </member>
        <member name="T:SharpAdbClient.ITcpSocket">
            <summary>
            Provides an interface that allows access to the standard .NET <see cref="T:System.Net.Sockets.Socket"/>
            class. The main purpose of this interface is to enable mocking of the <see cref="T:System.Net.Sockets.Socket"/>
            in unit test scenarios.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ITcpSocket.Connected">
            <summary>
            Gets a value indicating whether a <see cref="T:SharpAdbClient.ITcpSocket"/> is connected to a remote host as of the last
            <see cref="M:SharpAdbClient.ITcpSocket.Send(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)"/> or <see cref="M:SharpAdbClient.ITcpSocket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> operation.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ITcpSocket.ReceiveBufferSize">
            <summary>
            Gets or sets a value that specifies the size of the receive buffer of the <see cref="T:SharpAdbClient.ITcpSocket"/>.
            </summary>
        </member>
        <member name="M:SharpAdbClient.ITcpSocket.Connect(System.Net.EndPoint)">
            <summary>
            Establishes a connection to a remote host.
            </summary>
            <param name="endPoint">
            An <see cref="T:System.Net.EndPoint"/> that represents the remote device.
            </param>
        </member>
        <member name="M:SharpAdbClient.ITcpSocket.Close">
            <summary>
            Closes the <see cref="T:SharpAdbClient.ITcpSocket"/> connection and releases all associated resources.
            </summary>
        </member>
        <member name="M:SharpAdbClient.ITcpSocket.Send(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Sends the specified number of bytes of data to a connected
            <see cref="T:SharpAdbClient.ITcpSocket"/>, starting at the specified <paramref name="offset"/>,
            and using the specified <paramref name="socketFlags"/>.
            </summary>
            <param name="buffer">
            An array of type Byte that contains the data to be sent.
            </param>
            <param name="offset">
            The position in the data buffer at which to begin sending data.
            </param>
            <param name="size">
            The number of bytes to send.
            </param>
            <param name="socketFlags">
            A bitwise combination of the SocketFlags values.
            </param>
            <returns>
            The number of bytes sent to the Socket.
            </returns>
        </member>
        <member name="M:SharpAdbClient.ITcpSocket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Receives the specified number of bytes from a bound <see cref="T:SharpAdbClient.ITcpSocket"/> into the specified offset position of the
            receive buffer, using the specified SocketFlags.
            </summary>
            <param name="buffer">
            An array of type Byte that is the storage location for received data.
            </param>
            <param name="size">
            The number of bytes to receive.
            </param>
            <param name="socketFlags">
            A bitwise combination of the SocketFlags values.
            </param>
            <returns>
            The number of bytes received.
            </returns>
        </member>
        <member name="M:SharpAdbClient.ITcpSocket.ReceiveAsync(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Receives the specified number of bytes from a bound <see cref="T:SharpAdbClient.ITcpSocket"/> into the specified offset position of the
            receive buffer, using the specified SocketFlags.
            </summary>
            <param name="buffer">
            An array of type Byte that is the storage location for received data.
            </param>
            <param name="offset">
            The location in buffer to store the received data.
            </param>
            <param name="size">
            The number of bytes to receive.
            </param>
            <param name="socketFlags">
            A bitwise combination of the SocketFlags values.
            </param>
            <returns>
            The number of bytes received.
            </returns>
        </member>
        <member name="M:SharpAdbClient.ITcpSocket.GetStream">
            <summary>
            Gets the underlying <see cref="T:System.IO.Stream"/>.
            </summary>
            <returns>
            The underlying stream.
            </returns>
        </member>
        <member name="T:SharpAdbClient.ISyncService">
            <summary>
            Interface containing methods for file synchronisation.
            </summary>
        </member>
        <member name="P:SharpAdbClient.ISyncService.IsOpen">
            <summary>
      Gets a value indicating whether this instance is open.
    </summary><value>
      <see langword="true" /> if this instance is open; otherwise, <see langword="false" />.
    </value>
        </member>
        <member name="M:SharpAdbClient.ISyncService.Push(System.IO.Stream,System.String,System.Int32,System.DateTime,System.IProgress{System.Int32},System.Threading.CancellationToken)">
            <summary>
      Pushes (uploads) a file to the remote device.
    </summary><param name="stream">
      A <see cref="T:System.IO.Stream" /> that contains the contents of the file.
    </param><param name="remotePath">
      The path, on the device, to which to push the file.
    </param><param name="permissions">
      The permission octet that contains the permissions of the newly created file on the device.
    </param><param name="timestamp">
      The time at which the file was last modified.
    </param><param name="progress">
      A <see cref="T:System.IProgress`1" /> that can be used to monitor the progress of the push operation.
    </param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the task.
    </param>
        </member>
        <member name="M:SharpAdbClient.ISyncService.Pull(System.String,System.IO.Stream,System.IProgress{System.Int32},System.Threading.CancellationToken)">
            <summary>
      Pulls (downloads) a file from the remote device.
    </summary><param name="remotePath">
      The path, on the device, of the file to pull.
    </param><param name="stream">
      A <see cref="T:System.IO.Stream" /> that will receive the contents of the file.
    </param><param name="progress">
      A <see cref="T:System.IProgress`1" /> that can be used to monitor the progress of the pull operation.
    </param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the task.
    </param>
        </member>
        <member name="M:SharpAdbClient.ISyncService.Stat(System.String)">
            <summary>
      Returns information about a file on the device.
    </summary><param name="remotePath">
      The path of the file on the device.
    </param><returns>
      A <see cref="T:SharpAdbClient.FileStatistics" /> object that contains information about the file.
    </returns>
        </member>
        <member name="M:SharpAdbClient.ISyncService.GetDirectoryListing(System.String)">
            <summary>
      Lists the contents of a directory on the device.
    </summary><param name="remotePath">
      The path to the directory on the device.
    </param><returns>
      For each child item of the directory, a <see cref="T:SharpAdbClient.FileStatistics" /> object
      with information of the item.
    </returns>
        </member>
        <member name="M:SharpAdbClient.ISyncService.Open">
            <summary>
      Opens this connection.
    </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.AndroidLogEntry">
            <summary>
            Represents a standard Android log entry (an entry in any Android log buffer
            except the Event buffer).
            </summary>
            <seealso href="https://android.googlesource.com/platform/system/core/+/master/liblog/logprint.c#442"/>
        </member>
        <member name="P:SharpAdbClient.Logs.AndroidLogEntry.Priority">
            <summary>
            Gets or sets the priority of the log message.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.AndroidLogEntry.Tag">
            <summary>
            Gets or sets the log tag of the message. Used to identify the source of a log message.
            It usually identifies the class or activity where the log call occured.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.AndroidLogEntry.Message">
            <summary>
            Gets or sets the message that has been logged.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.EventLogEntry">
            <summary>
            Represents an entry in event buffer of the the Android log.
            </summary>
            <seealso href="https://android.googlesource.com/platform/system/core/+/master/include/log/log.h#482"/>
        </member>
        <member name="M:SharpAdbClient.Logs.EventLogEntry.#ctor">
            <summary>
            Initializes a new instance of the <seealso cref="T:SharpAdbClient.Logs.EventLogEntry"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.EventLogEntry.Tag">
            <summary>
            Gets or sets the 4 bytes integer key from "/system/etc/event-log-tags" file.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.EventLogEntry.Values">
            <summary>
            Gets or sets the values of this event log entry.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.EventLogType">
            <summary>
            Represents the different types of values that can be stored in an event log entry.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.EventLogType.Integer">
            <summary>
            The value is a four-byte signed integer.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.EventLogType.Long">
            <summary>
            The value is an eight-byte signed integer.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.EventLogType.String">
            <summary>
            The value is a string.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.EventLogType.List">
            <summary>
            The value is a list of values.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.EventLogType.Float">
            <summary>
            The value is a four-byte signed floating number.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.LogEntry">
            <summary>
            The userspace structure for version 1 of the logger_entry ABI.
            This structure is returned to userspace by the kernel logger
            driver unless an upgrade to a newer ABI version is requested.
            </summary>
            <seealso href="https://android.googlesource.com/platform/system/core/+/master/include/log/logger.h"/>
        </member>
        <member name="P:SharpAdbClient.Logs.LogEntry.ProcessId">
            <summary>
            Gets or sets the process ID of the code that generated the log message.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.LogEntry.ThreadId">
            <summary>
            Gets or sets the thread ID of the code that generated the log message.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.LogEntry.TimeStamp">
            <summary>
            Gets or sets the date and time at which the message was logged.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.LogEntry.Id">
            <summary>
            Gets or sets the log id (v3) of the payload effective UID of logger (v2);
            this value is not available for v1 entries.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.LogEntry.Data">
            <summary>
            Gets or sets the entry's payload
            </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.LogId">
            <summary>
            Identifies the various Android log buffers.
            </summary>
            <seealso href="https://android.googlesource.com/platform/system/core/+/master/include/log/log.h#596"/>
        </member>
        <member name="F:SharpAdbClient.Logs.LogId.Main">
            <summary>
            The main log buffer
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.LogId.Radio">
            <summary>
            The buffer that contains radio/telephony related messages.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.LogId.Events">
            <summary>
            The buffer containing events-related messages.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.LogId.System">
            <summary>
            The Android system log buffer.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.LogId.Crash">
            <summary>
            The Android crash log buffer.
            </summary>
        </member>
        <member name="F:SharpAdbClient.Logs.LogId.Kernel">
            <summary>
            The Android kernel log buffer.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.LogReader">
            <summary>
            Processes Android log files in binary format. You usually get the binary format by
            running <c>logcat -B</c>.
            </summary>
        </member>
        <member name="M:SharpAdbClient.Logs.LogReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.Logs.LogReader"/> class.
            </summary>
            <param name="stream">
            A <see cref="T:System.IO.Stream"/> that contains the logcat data.
            </param>
        </member>
        <member name="M:SharpAdbClient.Logs.LogReader.ReadEntry">
            <summary>
            Reads the next <see cref="T:SharpAdbClient.Logs.LogEntry"/> from the stream.
            </summary>
            <returns>
            A new <see cref="T:SharpAdbClient.Logs.LogEntry"/> object.
            </returns>
        </member>
        <member name="T:SharpAdbClient.Logs.NamespaceDoc">
            <summary>
            The classes in this namespace provide access to the Android system log.
            </summary>
        </member>
        <member name="T:SharpAdbClient.Logs.ShellStream">
            <summary>
            <para>
            Represents a <see cref="T:System.IO.Stream"/> that wraps around an inner <see cref="T:System.IO.Stream"/> that contains
            output from an Android shell command. In the shell output, the LF character is replaced by a
            CR LF character. This stream undoes that change.
            </para>
            </summary>
            <seealso href="http://stackoverflow.com/questions/13578416/read-binary-stdout-data-from-adb-shell"/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initializes a new instance of the <seealso cref="T:SharpAdbClient.Logs.ShellStream"/> class.
            </summary>
            <param name="inner">
            The inner stream that contains the raw data retrieved from the shell. This stream
            must be readable.
            </param>
            <param name="closeStream">
            <see langword="true"/> if the <see cref="T:SharpAdbClient.Logs.ShellStream"/> should close the <paramref name="inner"/>
            stream when closed; otherwise, <see langword="false"/>.
            </param>
        </member>
        <member name="P:SharpAdbClient.Logs.ShellStream.Inner">
            <summary>
            Gets the inner stream from which data is being read.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Logs.ShellStream.CanRead">
            <inheritdoc/>
        </member>
        <member name="P:SharpAdbClient.Logs.ShellStream.CanSeek">
            <inheritdoc/>
        </member>
        <member name="P:SharpAdbClient.Logs.ShellStream.CanWrite">
            <inheritdoc/>
        </member>
        <member name="P:SharpAdbClient.Logs.ShellStream.Length">
            <inheritdoc/>
        </member>
        <member name="P:SharpAdbClient.Logs.ShellStream.Position">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.Read(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.Flush">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.SetLength(System.Int64)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.Write(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.Logs.ShellStream.Close">
            <inheritdoc/>
        </member>
        <member name="T:SharpAdbClient.NamespaceDoc">
             <summary>
             <para>
                 SharpAdbClient is a .NET library that allows.NET applications to communicate with Android devices.
                 It provides a.NET implementation of the <c>adb</c> protocol, giving more flexibility to the developer than launching an
                 <c>adb.exe</c> process and parsing the console output.
             </para>

             <para>
                 Most of the adb functionality is exposed through the <see cref="T:SharpAdbClient.AdbClient"/> class.
                 You can create your own instance of that class, or just use the instance we provide for you at
                 <see cref="P:SharpAdbClient.AdbClient.Instance"/>
             </para>

             <para>
                 To send and receive files to and from Android devices, you can use the <see cref="T:SharpAdbClient.SyncService"/> class.
             </para>

             <para>
                 To be notified when Android devices connect to or disconnect from your PC, you can use the <see cref="T:SharpAdbClient.DeviceMonitor"/>
                 class.
             </para>
             </summary>

             <example>
             <para>
                 To list all Android devices that are connected to your PC, you can use the following code:
             </para>

             <code>
             var devices = devices = AdbClient.Instance.GetDevices();

             foreach(var device in devices)
             {
                 Console.WriteLine(device.Name
             }
             </code>
             </example>
        </member>
        <member name="T:SharpAdbClient.ConsoleOutputReceiver">
            <summary>
            Recieves console output, and makes the console output available as a <see cref="T:System.String"/>. To
            fetch the console output that was received, used the <see cref="M:SharpAdbClient.ConsoleOutputReceiver.ToString"/> method.
            </summary>
        </member>
        <member name="F:SharpAdbClient.ConsoleOutputReceiver.Tag">
            <summary>
            Logging tag
            </summary>
        </member>
        <member name="F:SharpAdbClient.ConsoleOutputReceiver.output">
            <summary>
            A <see cref="T:System.Text.StringBuilder"/> which receives all output from the device.
            </summary>
        </member>
        <member name="M:SharpAdbClient.ConsoleOutputReceiver.ToString">
            <summary>
            Gets a <see cref="T:System.String"/> that represents the current <see cref="T:SharpAdbClient.ConsoleOutputReceiver"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:SharpAdbClient.ConsoleOutputReceiver"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.ConsoleOutputReceiver.ThrowOnError(System.String)">
            <summary>
            Throws an error message if the console output line contains an error message.
            </summary>
            <param name="line">
            The line to inspect.
            </param>
        </member>
        <member name="M:SharpAdbClient.ConsoleOutputReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines.
            </summary>
            <param name="lines">The lines.</param>
        </member>
        <member name="T:SharpAdbClient.DeviceMonitor">
             <summary>
             <para>
                 A Device monitor. This connects to the Android Debug Bridge and get device and
                 debuggable process information from it.
             </para>
             </summary>
             <example>
             <para>
                 To receive notifications when devices connect to or disconnect from your PC, you can use the following code:
             </para>
             <code>
             void Test()
             {
                 var monitor = new DeviceMonitor(new AdbSocket());
                 monitor.DeviceConnected += this.OnDeviceConnected;
                 monitor.Start();
             }

             void OnDeviceConnected(object sender, DeviceDataEventArgs e)
             {
                 Console.WriteLine($"The device {e.Device.Name} has connected to this PC");
             }
             </code>
             </example>
        </member>
        <member name="F:SharpAdbClient.DeviceMonitor.Tag">
            <summary>
            Logging tag
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceMonitor.devices">
            <summary>
            The list of devices currently connected to the Android Debug Bridge.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceMonitor.firstDeviceListParsed">
            <summary>
            When the <see cref="M:SharpAdbClient.DeviceMonitor.Start"/> method is called, this <see cref="T:System.Threading.ManualResetEvent"/>
            is used to block the <see cref="M:SharpAdbClient.DeviceMonitor.Start"/> method until the <see cref="M:SharpAdbClient.DeviceMonitor.DeviceMonitorLoop"/>
            has processed the first list of devices.
            </summary>
        </member>
        <member name="F:SharpAdbClient.DeviceMonitor.monitorThread">
            <summary>
            The thread that monitors the <see cref="P:SharpAdbClient.DeviceMonitor.Socket"/> and waits for device notifications.
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.#ctor(SharpAdbClient.IAdbSocket)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.DeviceMonitor"/> class.
            </summary>
            <param name="socket">
            The <see cref="T:SharpAdbClient.IAdbSocket"/> that manages the connection with the adb server.
            </param>
        </member>
        <member name="E:SharpAdbClient.DeviceMonitor.DeviceChanged">
            <summary>
      Occurs when the status of one of the connected devices has changed.
    </summary>
        </member>
        <member name="E:SharpAdbClient.DeviceMonitor.DeviceConnected">
            <summary>
      Occurs when a device has connected to the Android Debug Bridge.
    </summary>
        </member>
        <member name="E:SharpAdbClient.DeviceMonitor.DeviceDisconnected">
            <summary>
      Occurs when a device has disconnected from the Android Debug Bridge.
    </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceMonitor.Devices">
            <summary>
      Gets the devices that are currently connected to the Android Debug Bridge.
    </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceMonitor.Socket">
            <summary>
            Gets the <see cref="T:SharpAdbClient.IAdbSocket"/> that represents the connection to the
            Android Debug Bridge.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DeviceMonitor.IsRunning">
            <summary>
            Gets a value indicating whether this instance is running.
            </summary>
            <value>
            <see langword="true"/> if this instance is running; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.Start">
            <summary>
      Starts the monitoring
    </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.Dispose">
            <summary>
            Stops the monitoring
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.OnDeviceChanged(SharpAdbClient.DeviceDataEventArgs)">
            <summary>
            Raises the <see cref="E:SharpAdbClient.DeviceMonitor.DeviceChanged"/> event.
            </summary>
            <param name="e">The <see cref="T:SharpAdbClient.DeviceDataEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.OnDeviceConnected(SharpAdbClient.DeviceDataEventArgs)">
            <summary>
            Raises the <see cref="E:SharpAdbClient.DeviceMonitor.DeviceConnected"/> event.
            </summary>
            <param name="e">The <see cref="T:SharpAdbClient.DeviceDataEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.OnDeviceDisconnected(SharpAdbClient.DeviceDataEventArgs)">
            <summary>
            Raises the <see cref="E:SharpAdbClient.DeviceMonitor.DeviceDisconnected"/> event.
            </summary>
            <param name="e">The <see cref="T:SharpAdbClient.DeviceDataEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.DeviceMonitorLoop">
            <summary>
            Monitors the devices. This connects to the Debug Bridge
            </summary>
        </member>
        <member name="M:SharpAdbClient.DeviceMonitor.ProcessIncomingDeviceData(System.String)">
            <summary>
            Processes the incoming device data.
            </summary>
        </member>
        <member name="M:SharpAdbClient.ManagedAdbExtenstions.Swap32bitFromArray(System.Byte[],System.Int32)">
            <summary>
            Reads a signed 32 bit integer from an array coming from a device.
            </summary>
            <param name="value">the array containing the int</param>
            <param name="offset">the offset in the array at which the int starts</param>
            <returns>the integer read from the array</returns>
        </member>
        <member name="M:SharpAdbClient.ManagedAdbExtenstions.SwapU16bitFromArray(System.Byte[],System.Int32)">
            <summary>
            Reads an unsigned 16 bit integer from an array coming from a device,
            and returns it as an 'int'
            </summary>
            <param name="value">the array containing the 16 bit int (2 byte).</param>
            <param name="offset">the offset in the array at which the int starts</param>
            <remarks>Array length must be at least offset + 2</remarks>
            <returns>the integer read from the array.</returns>
        </member>
        <member name="T:SharpAdbClient.DateTimeHelper">
            <summary>
            Provides helper methods for working with Unix-based date formats.
            </summary>
        </member>
        <member name="P:SharpAdbClient.DateTimeHelper.Epoch">
            <summary>
            Gets EPOCH time
            </summary>
        </member>
        <member name="M:SharpAdbClient.DateTimeHelper.ToUnixEpoch(System.DateTime)">
            <summary>
            Converts a <see cref="T:System.DateTime"/> to the Unix equivalent.
            </summary>
            <param name="date">
            The date to convert to the Unix format.
            </param>
            <returns>
            A <see cref="T:System.Int64"/> that represents the date, in Unix format.
            </returns>
        </member>
        <member name="T:SharpAdbClient.ILogOutput">
             <summary>

             </summary>
        </member>
        <member name="M:SharpAdbClient.ILogOutput.Write(SharpAdbClient.LogLevel.LogLevelInfo,System.String,System.String)">
            <summary>
            Writes the specified log level.
            </summary>
            <param name="logLevel">The log level.</param>
            <param name="tag">The tag.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpAdbClient.ILogOutput.WriteAndPromptLog(SharpAdbClient.LogLevel.LogLevelInfo,System.String,System.String)">
            <summary>
            Writes the and prompt log.
            </summary>
            <param name="logLevel">The log level.</param>
            <param name="tag">The tag.</param>
            <param name="message">The message.</param>
        </member>
        <member name="T:SharpAdbClient.IShellOutputReceiver">
             <summary>

             </summary>
        </member>
        <member name="P:SharpAdbClient.IShellOutputReceiver.ParsesErrors">
            <summary>
            Gets a value indicating whether the receiver parses error messages.
            </summary>
            <value>
                <see langword="true"/> if this receiver parsers error messages; otherwise <see langword="false"/>.
            </value>
            <remarks>
            The default value is <see langword="false"/>. If set to <see langword="false"/>, the <see cref="T:SharpAdbClient.AdbClient"/>
            will detect common error messages and throw an exception.
            </remarks>
        </member>
        <member name="M:SharpAdbClient.IShellOutputReceiver.AddOutput(System.String)">
            <summary>
            Adds the output.
            </summary>
        </member>
        <member name="M:SharpAdbClient.IShellOutputReceiver.Flush">
            <summary>
            Flushes the output.
            </summary>
            <remarks>This should always be called at the end of the "process" in order to indicate that the data is ready to be processed further if needed.</remarks>
        </member>
        <member name="T:SharpAdbClient.Log">
             <summary>

             </summary>
        </member>
        <member name="M:SharpAdbClient.Log.#cctor">
            <summary>
            Initializes static members of the <see cref="T:SharpAdbClient.Log"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.Log.Level">
            <summary>
            Gets or sets the level.
            </summary>
            <value>The level.</value>
        </member>
        <member name="P:SharpAdbClient.Log.LogOutput">
            <summary>
            Gets or sets the <see cref="T:SharpAdbClient.ILogOutput">LogOutput</see>
            </summary>
        </member>
        <member name="M:SharpAdbClient.Log.v(System.String,System.String,System.Object[])">
            <summary>
            Outputs a Verbose level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="format">The message to output format string.</param>
            <param name="args">The values for the format message</param>
        </member>
        <member name="M:SharpAdbClient.Log.d(System.String,System.String,System.Object[])">
            <summary>
            Outputs a Debug level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="format">The message to output format string.</param>
            <param name="args">The values for the format message</param>
        </member>
        <member name="M:SharpAdbClient.Log.i(System.String,System.String,System.Object[])">
            <summary>
            Outputs a Info level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="format">The message to output format string.</param>
            <param name="args">The values for the format message</param>
        </member>
        <member name="M:SharpAdbClient.Log.w(System.String,System.String,System.Object[])">
            <summary>
            Outputs a Warn level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="format">The message to output format string.</param>
            <param name="args">The values for the format message</param>
        </member>
        <member name="M:SharpAdbClient.Log.w(System.String,System.Exception)">
            <summary>
            Outputs a Warn level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="exception">The exception to warn</param>
        </member>
        <member name="M:SharpAdbClient.Log.e(System.String,System.String,System.Object[])">
            <summary>
            Outputs a Error level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="format">The message to output format string.</param>
            <param name="args">The values for the format message</param>
            <gist id="16a731d7e4f074fca809" />
        </member>
        <member name="M:SharpAdbClient.Log.e(System.String,System.Exception)">
            <summary>
            Outputs a Error level message.
            </summary>
            <param name="tag">The tag associated with the message.</param>
            <param name="exception">The exception to warn</param>
            <gist id="4e0438f59a00d57af4ef"/>
        </member>
        <member name="M:SharpAdbClient.Log.Write(SharpAdbClient.LogLevel.LogLevelInfo,System.String,System.String)">
            <summary>
            Prints a log message.
            </summary>
            <param name="logLevel"></param>
            <param name="tag"></param>
            <param name="message"></param>
        </member>
        <member name="M:SharpAdbClient.Log.GetLogFormatString(SharpAdbClient.LogLevel.LogLevelInfo,System.String,System.String)">
            <summary>
            Formats a log message.
            </summary>
            <param name="logLevel"></param>
            <param name="tag"></param>
            <param name="message"></param>
            <returns></returns>
        </member>
        <member name="M:SharpAdbClient.Log.LogAndDisplay(SharpAdbClient.LogLevel.LogLevelInfo,System.String,System.String)">
            <summary>
            Outputs a log message and attempts to display it in a dialog.
            </summary>
            <param name="logLevel">The log level</param>
            <param name="tag">The tag associated with the message.</param>
            <param name="message">The message to output.</param>
        </member>
        <member name="M:SharpAdbClient.Log.WriteLine(SharpAdbClient.LogLevel.LogLevelInfo,System.String,System.String,System.Object[])">
            <summary>
            prints to stdout; could write to a log window
            </summary>
            <param name="logLevel"></param>
            <param name="tag"></param>
            <param name="message"></param>
        </member>
        <member name="T:SharpAdbClient.LogLevel">
             <summary>

             </summary>
        </member>
        <member name="M:SharpAdbClient.LogLevel.#cctor">
            <summary>
            Initializes static members of the <see cref="T:SharpAdbClient.LogLevel"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.LogLevel.Verbose">
            <summary>
            Gets the verbose log level.
            </summary>
            <value>The verbose log level.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.Debug">
            <summary>
            Gets the debug log level.
            </summary>
            <value>The debug log level.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.Info">
            <summary>
            Gets the info log level.
            </summary>
            <value>The info log level.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.Warn">
            <summary>
            Gets the warn log level.
            </summary>
            <value>The warn log level.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.Error">
            <summary>
            Gets the error log level.
            </summary>
            <value>The error log level.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.Assert">
            <summary>
            Gets the assert log level.
            </summary>
            <value>The assert log level.</value>
        </member>
        <member name="T:SharpAdbClient.LogLevel.LogLevelInfo">
             <summary>

             </summary>
        </member>
        <member name="M:SharpAdbClient.LogLevel.LogLevelInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.LogLevel.LogLevelInfo"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.LogLevel.LogLevelInfo.#ctor(System.Int32,System.String,System.Char)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.LogLevel.LogLevelInfo"/> class.
            </summary>
            <param name="priority">The priority.</param>
            <param name="value">The value.</param>
            <param name="letter">The letter.</param>
        </member>
        <member name="P:SharpAdbClient.LogLevel.LogLevelInfo.Priority">
            <summary>
            Gets or sets the priority.
            </summary>
            <value>The priority.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.LogLevelInfo.Value">
            <summary>
            Gets or sets the value.
            </summary>
            <value>The value.</value>
        </member>
        <member name="P:SharpAdbClient.LogLevel.LogLevelInfo.Letter">
            <summary>
            Gets or sets the letter.
            </summary>
            <value>The letter.</value>
        </member>
        <member name="T:SharpAdbClient.MultiLineReceiver">
             <summary>

             </summary>
        </member>
        <member name="M:SharpAdbClient.MultiLineReceiver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.MultiLineReceiver"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.MultiLineReceiver.TrimLines">
            <summary>
            Gets or sets a value indicating whether [trim lines].
            </summary>
            <value><see langword="true"/> if [trim lines]; otherwise, <see langword="false"/>.</value>
        </member>
        <member name="P:SharpAdbClient.MultiLineReceiver.ParsesErrors">
            <summary>
            Gets or sets a value indicating whether the receiver parses error messages.
            </summary>
            <value>
                <see langword="true"/> if this receiver parsers error messages; otherwise <see langword="false"/>.
            </value>
            <remarks>
            The default value is <see langword="false"/>. If set to <see langword="false"/>, the <see cref="T:SharpAdbClient.AdbClient"/>
            will detect common error messages and throw an exception.
            </remarks>
        </member>
        <member name="P:SharpAdbClient.MultiLineReceiver.Lines">
            <summary>
            Gets or sets the lines.
            </summary>
            <value>The lines.</value>
        </member>
        <member name="M:SharpAdbClient.MultiLineReceiver.AddOutput(System.String)">
            <summary>
            Adds a line to the output.
            </summary>
            <param name="line">
            The line to add to the output.
            </param>
        </member>
        <member name="M:SharpAdbClient.MultiLineReceiver.Flush">
            <summary>
            Flushes the output.
            </summary>
        </member>
        <member name="M:SharpAdbClient.MultiLineReceiver.Done">
            <summary>
            Finishes the receiver
            </summary>
        </member>
        <member name="M:SharpAdbClient.MultiLineReceiver.ProcessNewLines(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Processes the new lines.
            </summary>
            <param name="lines">The lines.</param>
        </member>
        <member name="T:SharpAdbClient.Receivers.NamespaceDoc">
            <summary>
            <para>
                This namespace contains various receivers that are able to parse Android console output. You can use
                the receivers in combination with the <see cref="M:SharpAdbClient.AdbClient.ExecuteRemoteCommand(System.String,SharpAdbClient.DeviceData,SharpAdbClient.IShellOutputReceiver,System.Threading.CancellationToken,System.Int32)"/>
                method to capture the output of any Android command.
            </para>
            </summary>
        </member>
        <member name="T:SharpAdbClient.SocketExtensions">
            <summary>
            Provides extension methods for the <see cref="T:System.Net.Sockets.Socket"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.SocketExtensions.ReceiveAsync(System.Net.Sockets.Socket,System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Asynchronously receives data from a connected socket.
            </summary>
            <param name="socket">
            The socket from which to read data.
            </param>
            <param name="buffer">
            An array of type <see cref="T:System.Byte"/> that is the storage location for
            the received data.
            </param>
            <param name="offset">
            The zero-based position in the <paramref name="buffer"/> parameter at which to
            start storing data.
            </param>
            <param name="size">
            The number of bytes to receive.
            </param>
            <param name="socketFlags">
            A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.
            </param>
            <returns>
            The number of bytes received.
            </returns>
        </member>
        <member name="T:SharpAdbClient.StartServerResult">
            <summary>
            Gives information about a <see cref="M:SharpAdbClient.AdbServer.StartServer(System.String,System.Boolean)"/>
            operation.
            </summary>
        </member>
        <member name="F:SharpAdbClient.StartServerResult.AlreadyRunning">
            <summary>
            The adb server was already running. The server was not restarted.
            </summary>
        </member>
        <member name="F:SharpAdbClient.StartServerResult.RestartedOutdatedDaemon">
            <summary>
            The adb server was running, but was running an outdated version of adb.
            The server was stopped and a newer version of the server was started.
            </summary>
        </member>
        <member name="F:SharpAdbClient.StartServerResult.Started">
            <summary>
            The adb server was not running, and a new instance of the adb server
            was started.
            </summary>
        </member>
        <member name="T:SharpAdbClient.SyncCommand">
            <summary>
            Defines a command that can be sent to, or a response that can be received from,
            the sync service.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.LIST">
            <summary>
            List the files in a folder.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.RECV">
            <summary>
            Retrieve a file from device
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.SEND">
            <summary>
            Send a file to device
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.STAT">
            <summary>
            Stat a file
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.DENT">
            <summary>
            A directory entry.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.FAIL">
            <summary>
            The operation has failed.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.DATA">
            <summary>
            Marks the start of a data packet.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.OKAY">
            <summary>
            The server has acknowledged the request.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommand.DONE">
            <summary>
            The operation has completed.
            </summary>
        </member>
        <member name="T:SharpAdbClient.SyncCommandConverter">
            <summary>
            Converts <see cref="T:SharpAdbClient.SyncCommand"/> values to their binary representation
            and vice versa.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncCommandConverter.Values">
            <summary>
            Maps the <see cref="T:SharpAdbClient.SyncCommand"/> values to their string representations.
            </summary>
        </member>
        <member name="M:SharpAdbClient.SyncCommandConverter.#cctor">
            <summary>
            Initializes static members of the <see cref="T:SharpAdbClient.SyncCommandConverter"/> class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.SyncCommandConverter.GetBytes(SharpAdbClient.SyncCommand)">
            <summary>
            Gets the byte array that represents the <see cref="T:SharpAdbClient.SyncCommand"/>.
            </summary>
            <param name="command">
            The <see cref="T:SharpAdbClient.SyncCommand"/> to convert.
            </param>
            <returns>
            A byte array that represents the <see cref="T:SharpAdbClient.SyncCommand"/>.
            </returns>
        </member>
        <member name="M:SharpAdbClient.SyncCommandConverter.GetCommand(System.Byte[])">
            <summary>
            Determines which <see cref="T:SharpAdbClient.SyncCommand"/> is represented by this byte array.
            </summary>
            <param name="value">
            A byte array that represents a <see cref="T:SharpAdbClient.SyncCommand"/>.
            </param>
            <returns>
            The corresponding <see cref="T:SharpAdbClient.SyncCommand"/>.
            </returns>
        </member>
        <member name="T:SharpAdbClient.SyncService">
             <summary>
             <para>
                 Provides access to the sync service running on the Android device. Allows you to
                 list, download and upload files on the device.
             </para>
             </summary>
             <example>
             <para>
                 To send files to or receive files from your Android device, you can use the following code:
             </para>
             <code>
             void DownloadFile()
             {
                 var device = AdbClient.Instance.GetDevices().First();

                 using (SyncService service = new SyncService(new AdbSocket(), device))
                 using (Stream stream = File.OpenWrite(@"C:\MyFile.txt"))
                 {
                     service.Pull("/data/MyFile.txt", stream, null, CancellationToken.None);
                 }
             }

                 void UploadFile()
             {
                 var device = AdbClient.Instance.GetDevices().First();

                 using (SyncService service = new SyncService(new AdbSocket(), device))
                 using (Stream stream = File.OpenRead(@"C:\MyFile.txt"))
                 {
                     service.Push(stream, "/data/MyFile.txt", null, CancellationToken.None);
                 }
             }
             </code>
             </example>
        </member>
        <member name="F:SharpAdbClient.SyncService.Tag">
            <summary>
            Logging tag
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncService.MaxBufferSize">
            <summary>
            The maximum size of data to transfer between the device and the PC
            in one block.
            </summary>
        </member>
        <member name="F:SharpAdbClient.SyncService.MaxPathLength">
            <summary>
            The maximum length of a path on the remote device.
            </summary>
        </member>
        <member name="M:SharpAdbClient.SyncService.#ctor(SharpAdbClient.DeviceData)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.SyncService"/> class.
            </summary>
            <param name="device">
            The device on which to interact with the files.
            </param>
        </member>
        <member name="M:SharpAdbClient.SyncService.#ctor(SharpAdbClient.IAdbSocket,SharpAdbClient.DeviceData)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.SyncService"/> class.
            </summary>
            <param name="socket">
            A <see cref="T:SharpAdbClient.IAdbSocket"/> that enables to connection with the
            adb server.
            </param>
            <param name="device">
            The device on which to interact with the files.
            </param>
        </member>
        <member name="P:SharpAdbClient.SyncService.Device">
            <summary>
            Gets the device on which the file operations are being executed.
            </summary>
        </member>
        <member name="P:SharpAdbClient.SyncService.Socket">
            <summary>
            Gets the <see cref="T:SharpAdbClient.IAdbSocket"/> that enables the connection with the
            adb server.
            </summary>
        </member>
        <member name="P:SharpAdbClient.SyncService.IsOpen">
            <summary>
      Gets a value indicating whether this instance is open.
    </summary><value>
      <see langword="true" /> if this instance is open; otherwise, <see langword="false" />.
    </value>
        </member>
        <member name="M:SharpAdbClient.SyncService.Open">
            <summary>
      Opens this connection.
    </summary>
        </member>
        <member name="M:SharpAdbClient.SyncService.Push(System.IO.Stream,System.String,System.Int32,System.DateTime,System.IProgress{System.Int32},System.Threading.CancellationToken)">
            <summary>
      Pushes (uploads) a file to the remote device.
    </summary><param name="stream">
      A <see cref="T:System.IO.Stream" /> that contains the contents of the file.
    </param><param name="remotePath">
      The path, on the device, to which to push the file.
    </param><param name="permissions">
      The permission octet that contains the permissions of the newly created file on the device.
    </param><param name="timestamp">
      The time at which the file was last modified.
    </param><param name="progress">
      A <see cref="T:System.IProgress`1" /> that can be used to monitor the progress of the push operation.
    </param><param name="cancellationToken">
      A <see cref="T:System.Threading.CancellationToken" /> that can be used to cancel the task.
    </param>
        </member>
        <member name="M:SharpAdbClient.SyncService.Pull(System.String,System.IO.Stream,System.IProgress{System.Int32},System.Threading.CancellationToken)">
            <!-- No matching elements were found for the following include tag --><include file=".\ISyncService.xml" path="/SyncService/PullFile2/*" />
        </member>
        <member name="M:SharpAdbClient.SyncService.Stat(System.String)">
            <summary>
      Returns information about a file on the device.
    </summary><param name="remotePath">
      The path of the file on the device.
    </param><returns>
      A <see cref="T:SharpAdbClient.FileStatistics" /> object that contains information about the file.
    </returns>
        </member>
        <member name="M:SharpAdbClient.SyncService.GetDirectoryListing(System.String)">
            <summary>
      Lists the contents of a directory on the device.
    </summary><param name="remotePath">
      The path to the directory on the device.
    </param><returns>
      For each child item of the directory, a <see cref="T:SharpAdbClient.FileStatistics" /> object
      with information of the item.
    </returns>
        </member>
        <member name="M:SharpAdbClient.SyncService.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="T:SharpAdbClient.TcpSocket">
            <summary>
            Implements the <see cref="T:SharpAdbClient.ITcpSocket" /> interface using the standard <see cref="T:System.Net.Sockets.Socket"/>
            class.
            </summary>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpAdbClient.TcpSocket"/> class.
            </summary>
        </member>
        <member name="P:SharpAdbClient.TcpSocket.Connected">
            <inheritdoc/>
        </member>
        <member name="P:SharpAdbClient.TcpSocket.ReceiveBufferSize">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.Connect(System.Net.EndPoint)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.Close">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.Dispose">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.Send(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.GetStream">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)">
            <inheritdoc/>
        </member>
        <member name="M:SharpAdbClient.TcpSocket.ReceiveAsync(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <inheritdoc/>
        </member>
        <member name="T:SharpAdbClient.TransportType">
            <summary>
            Specifies the transport type used between the device and the Android Debug Bridge server.
            </summary>
        </member>
        <member name="F:SharpAdbClient.TransportType.Usb">
            <summary>
            The device is connected through USB
            </summary>
        </member>
        <member name="F:SharpAdbClient.TransportType.Local">
            <summary>
            The device is connected through a local TCP connection.
            </summary>
        </member>
        <member name="F:SharpAdbClient.TransportType.Any">
            <summary>
            The device is connected through any transport type.
            </summary>
        </member>
        <member name="F:SharpAdbClient.TransportType.Host">
            <summary>
            The device is connected through the host transport type.
            </summary>
        </member>
        <member name="T:SharpAdbClient.UnixFileMode">
            <summary>
            Describes the properties of a file on an Android device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.TypeMask">
            <summary>
            The mask that can be used to retrieve the file type from
            a <see cref="T:SharpAdbClient.UnixFileMode"/>.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.Socket">
            <summary>
            The file is a Unix socket.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.SymbolicLink">
            <summary>
            The file is a symbolic link.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.Regular">
            <summary>
            The file is a regular file.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.Block">
            <summary>
            The file is a block device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.Directory">
            <summary>
            The file is a directory.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.Character">
            <summary>
            The file is a character device.
            </summary>
        </member>
        <member name="F:SharpAdbClient.UnixFileMode.FIFO">
            <summary>
            The file is a first-in first-out queue.
            </summary>
        </member>
    </members>
</doc>