class AudioDeviceRegistry
Defined at line 35 of file ../../src/media/audio/services/device_registry/audio_device_registry.h
This singleton coordinates device detection, serves the outgoing FIDL, and maintains lists of
pending, active and unhealthy Devices. The object should live for the duration of the service.
Public Methods
void AudioDeviceRegistry (std::shared_ptr<FidlThread> server_thread)
Defined at line 32 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
void ~AudioDeviceRegistry ()
Defined at line 38 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
zx_status_t StartDeviceDetection (bool ignore_devices)
Kick off device-detection. After AddDevice, the device auto-initializes and then calls one of
DeviceIsReady, DeviceHasError or DeviceIsRemoved.
Defined at line 40 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
const std::unordered_set<std::shared_ptr<Device>> & devices ()
Device support
The set of active (successfully initialized) devices.
Defined at line 50 of file ../../src/media/audio/services/device_registry/audio_device_registry.h
const std::unordered_set<std::shared_ptr<Device>> & unhealthy_devices ()
The set of devices that encountered an error. A device should never be in both sets.
Defined at line 52 of file ../../src/media/audio/services/device_registry/audio_device_registry.h
void InitialDeviceDetectionComplete ()
The DeviceDetector has notified us of any devices that existed when device detection began.
(It will continue to notify us if additional devices are detected.)
These initially-detected devices might still be in the initialization process, but if not, then
notify all Registry servers that they may begin responding to WatchDevicesAdded calls.
Defined at line 87 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
zx_status_t RegisterAndServeOutgoing ()
Defined at line 238 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
void AddDevice (const std::shared_ptr<Device> & initializing_device)
Add a newly-constructed Device object to our "initializing" list.
Defined at line 74 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::pair<DevicePresence, std::shared_ptr<Device>> FindDeviceByTokenId (TokenId token_id)
Defined at line 197 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
bool ClaimDeviceForControl (const std::shared_ptr<Device> & device, std::shared_ptr<ControlNotify> notify)
Defined at line 222 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
void DeviceIsReady (std::shared_ptr<Device> ready_device)
A device has completed initialization and can be moved into the set of "ready" devices.
If this was an initially-detected device, then check whether we can now allow Registry servers to
respond to WatchDevicesAdded calls.
Defined at line 99 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
void DeviceHasError (std::shared_ptr<Device> device_with_error)
Defined at line 153 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
void DeviceIsRemoved (std::shared_ptr<Device> device_to_remove)
Entirely remove the device, including from the unhealthy list.
Defined at line 175 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<ProviderServer> CreateProviderServer (fidl::ServerEnd<fuchsia_audio_device::Provider> server_end)
Provider support
Defined at line 331 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<RegistryServer> CreateRegistryServer (fidl::ServerEnd<fuchsia_audio_device::Registry> server_end)
Registry support
Defined at line 289 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<ControlCreatorServer> CreateControlCreatorServer (fidl::ServerEnd<fuchsia_audio_device::ControlCreator> server_end)
ControlCreator support
Defined at line 337 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<ObserverServer> CreateObserverServer (fidl::ServerEnd<fuchsia_audio_device::Observer> server_end, const std::shared_ptr<Device> & observed_device)
Observer support
Defined at line 306 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<ControlServer> CreateControlServer (fidl::ServerEnd<fuchsia_audio_device::Control> server_end, const std::shared_ptr<Device> & device_to_control)
Control support
Defined at line 315 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<RingBufferServer> CreateRingBufferServer (fidl::ServerEnd<fuchsia_audio_device::RingBuffer>server_end,const std::shared_ptr<ControlServer> &parent,const std::shared_ptr<Device> &device_to_control,ElementIdelement_id)
RingBuffer support
Defined at line 343 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
std::shared_ptr<PacketStreamServer> CreatePacketStreamServer (fidl::ServerEnd<fuchsia_audio_device::PacketStream>server_end,const std::shared_ptr<ControlServer> &parent,const std::shared_ptr<Device> &device_to_control,ElementIdelement_id)
PacketStream support
Defined at line 351 of file ../../src/media/audio/services/device_registry/audio_device_registry.cc
Enumerations
enum class DevicePresence : uint8_t
| Name | Value |
|---|---|
| Unknown | 0 |
| Active | 1 |
| Error | 2 |
Defined at line 59 of file ../../src/media/audio/services/device_registry/audio_device_registry.h