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.