tree: d78640705d4bb15cc03c6a9a7a29b29529c57fcb [path history] [tgz]
  1. config/
  2. meta/
  3. src/

This directory contains the implementation of the public Bluetooth APIs (fuchsia.bluetooth*). The main pieces of this implementation are:

  • HostDevice:
    • Receives FIDL events from bt-host, and relays them to mods via HostDispatcher.
    • Provides thin wrappers over some of the private Bluetooth API, for use by HostDispatcher.
  • ControlService: Implements the fuchsia.bluetooth.control.Control interface, calling into HostDispatcher for help.
  • HostDispatcher:
    • Implements all stateful logic for the fuchsia.bluetooth.control.Control interface.
    • Provides a Future to monitor /dev/class/bt-host, and react to the arrival and departure of Bluetooth hosts appropriately.
  • main:
    • Binds the Control, Central, Peripheral, and Server FIDL APIs to code within this component (bt-gap).
      • The Control API is bound to ControlService.
      • Other APIs are proxied directly to their private API counterparts.
    • Instantiates the /dev/class/bt-host-monitoring future from HostDispatcher.
    • Configures an Executor to process API events and /dev/class/bt-host VFS events.
    • Serves bt-gap Inspect file at /hub/c/bt-gap.cmx/{pid}/out/diagnostics/root.inspect.
    • Serves bt-host Inspect files at /hub/c/bt-gap.cmx/{pid}/out/diagnostics/hosts/{host id}.inspect.