pub struct DeviceWatcherSynchronousProxy { /* private fields */ }
Implementations§
Source§impl DeviceWatcherSynchronousProxy
impl DeviceWatcherSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<DeviceWatcherEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<DeviceWatcherEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn watch_devices(
&self,
___deadline: MonotonicInstant,
) -> Result<Vec<WatchDevicesEvent>, Error>
pub fn watch_devices( &self, ___deadline: MonotonicInstant, ) -> Result<Vec<WatchDevicesEvent>, Error>
Returns a list of available camera IDs when it has changed from the previously returned
list of IDs, or when it is called by a client for the first time. The returned list may be
empty, indicating no cameras are available. The IDs returned to the client will remain
consistent with respect to the physical devices they represent for the duration of the
client’s connection. Events will be sorted first by event type - existing
, added
,
removed
. Within each event type range, IDs will be provided in ascending order. Events
are coalesced by the server, so a given ID will only appear once in each list of events.
Please note that it is entirely possible for the list returned to be temporarily empty even if the local camera hardware is hardwired (vs plug-in like USB). The empty list condition is temporary on such a platform.
Camera applications should tolerate an empty list returned, and attempt to retry the
WatchDevices()
call.
Sourcepub fn connect_to_device(
&self,
id: u64,
request: ServerEnd<DeviceMarker>,
) -> Result<(), Error>
pub fn connect_to_device( &self, id: u64, request: ServerEnd<DeviceMarker>, ) -> Result<(), Error>
Acquires a camera interface for the given ID. If any clients already exist for this camera, the request is closed with the ZX_ERR_ALREADY_BOUND epitaph.
Trait Implementations§
Source§impl SynchronousProxy for DeviceWatcherSynchronousProxy
impl SynchronousProxy for DeviceWatcherSynchronousProxy
Source§type Proxy = DeviceWatcherProxy
type Proxy = DeviceWatcherProxy
Source§type Protocol = DeviceWatcherMarker
type Protocol = DeviceWatcherMarker
Proxy
controls.