class Provider

Defined at line 1934 of file fidling/gen/sdk/fidl/fuchsia.hardware.adb/fuchsia.hardware.adb/hlcpp/fuchsia/hardware/adb/cpp/fidl.h

A Provider is a provider for one service which interacts with the adb component to implement

a particular service such as shell, file-sync, or ffx.

The interaction between the adb component and a service Provider (e.g. shell) is as follows:

- adb component is started eagerly by core.cml. Note that the adb component does not

implement any adb FIDL protocols.

- When a request for a service (e.g. shell) comes in, adb daemon starts up a lazy

component for the corresponding requested service (adb-shell-component) exposing the

Provider protocol and calls ConnectToService, creating a connection between the adb

component and the service provider component (adb-shell-component) through the socket.

- If the service (adb-shell-component) has already been started, it opens that service

and hands it the socket.

- adb component and service Provider component (adb-shell) communicate over the socket.

Public Members

static const char[] Name_

Public Methods

void ~Provider ()
void ConnectToService (::zx::socket socket, ::fidl::StringPtr args, ConnectToServiceCallback callback)

Connect `socket` to the service (called in response to adb OPEN message).

`args` provides additional arguments passed by the client if any.