pub struct ObserverProxy { /* private fields */ }
Implementations§
Source§impl ObserverProxy
impl ObserverProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.audio.device/Observer.
Sourcepub fn take_event_stream(&self) -> ObserverEventStream
pub fn take_event_stream(&self) -> ObserverEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn get_elements(
&self,
) -> QueryResponseFut<ReaderGetElementsResult, DefaultFuchsiaResourceDialect>
pub fn get_elements( &self, ) -> QueryResponseFut<ReaderGetElementsResult, DefaultFuchsiaResourceDialect>
Returns a vector of supported processing elements.
Must return one or more processing elements, or ZX_ERR_NOT_SUPPORTED
.
If GetTopologies
returns one or more topologies, then GetElements
must return one or
more elements.
Sourcepub fn watch_element_state(
&self,
processing_element_id: u64,
) -> QueryResponseFut<ElementState, DefaultFuchsiaResourceDialect>
pub fn watch_element_state( &self, processing_element_id: u64, ) -> QueryResponseFut<ElementState, DefaultFuchsiaResourceDialect>
Get the processing element state via a hanging get.
For a given processing_element_id
, the driver will reply to the first WatchElementState
sent by the client. The driver will not respond to subsequent client WatchElementState
calls for a given processing_element_id
until any field of the Element
table changes
from what was most recently reported for that processing_element_id
.
The driver will close the protocol channel with an error of ZX_ERR_BAD_STATE
, if this
method is called again while there is already a pending WatchElementState
for this client
and processing_element_id.
Sourcepub fn get_topologies(
&self,
) -> QueryResponseFut<ReaderGetTopologiesResult, DefaultFuchsiaResourceDialect>
pub fn get_topologies( &self, ) -> QueryResponseFut<ReaderGetTopologiesResult, DefaultFuchsiaResourceDialect>
Returns a vector of supported topologies.
Must return one or more topologies, or ZX_ERR_NOT_SUPPORTED
.
If more than one topology is returned, then the client may choose any of the topologies from
the list with SetTopology
.
If only one topology is returned, then the topology definition is informational only since
the one and only topology used can’t be changed with SetTopology
.
If GetElements
returns one or more elements, then GetTopologies
must return one or
more topologies.
Sourcepub fn watch_topology(
&self,
) -> QueryResponseFut<u64, DefaultFuchsiaResourceDialect>
pub fn watch_topology( &self, ) -> QueryResponseFut<u64, DefaultFuchsiaResourceDialect>
Get the current topology via a hanging get.
The driver will immediately reply to the first WatchTopology
sent by each client. The
driver will not respond to subsequent WatchTopology
calls from that client until the
signal-processing topology changes, which occurs as a result of a SetTopology
call.
The driver will close the protocol channel with an error of ZX_ERR_BAD_STATE
, if this
method is called again while there is already a pending WatchTopology
for this client.
Sourcepub fn watch_gain_state(
&self,
) -> QueryResponseFut<ObserverWatchGainStateResult, DefaultFuchsiaResourceDialect>
pub fn watch_gain_state( &self, ) -> QueryResponseFut<ObserverWatchGainStateResult, DefaultFuchsiaResourceDialect>
Request notification of any change to the device’s gain state.
Note: this only notifies of changes to controls described in the
device’sInfo
table (GainCapabilities
specifically). Use
WatchElementState
for gain processing exposed as SignalProcessing
(GetTopologies
, GetElements
).
Should only be called for StreamConfig devices.
Sourcepub fn watch_plug_state(
&self,
) -> QueryResponseFut<ObserverWatchPlugStateResult, DefaultFuchsiaResourceDialect>
pub fn watch_plug_state( &self, ) -> QueryResponseFut<ObserverWatchPlugStateResult, DefaultFuchsiaResourceDialect>
Request notification of any change to the device’s plug state. When called for the first time, it will return immediately.
Should only be called for Codec or StreamConfig devices.
Sourcepub fn get_reference_clock(
&self,
) -> QueryResponseFut<ObserverGetReferenceClockResult, DefaultFuchsiaResourceDialect>
pub fn get_reference_clock( &self, ) -> QueryResponseFut<ObserverGetReferenceClockResult, DefaultFuchsiaResourceDialect>
Retrieve the device’s reference clock.
This clock will be in the domain specified in the device’s Info
table.
Should only be called for Composite or StreamConfig devices.
Trait Implementations§
Source§impl Clone for ObserverProxy
impl Clone for ObserverProxy
Source§fn clone(&self) -> ObserverProxy
fn clone(&self) -> ObserverProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ObserverProxy
impl Debug for ObserverProxy
Source§impl ObserverProxyInterface for ObserverProxy
impl ObserverProxyInterface for ObserverProxy
type GetElementsResponseFut = QueryResponseFut<Result<Vec<Element>, i32>>
type WatchElementStateResponseFut = QueryResponseFut<ElementState>
type GetTopologiesResponseFut = QueryResponseFut<Result<Vec<Topology>, i32>>
type WatchTopologyResponseFut = QueryResponseFut<u64>
type WatchGainStateResponseFut = QueryResponseFut<Result<ObserverWatchGainStateResponse, ObserverWatchGainStateError>>
type WatchPlugStateResponseFut = QueryResponseFut<Result<ObserverWatchPlugStateResponse, ObserverWatchPlugStateError>>
type GetReferenceClockResponseFut = QueryResponseFut<Result<ObserverGetReferenceClockResponse, ObserverGetReferenceClockError>>
fn get_elements(&self) -> Self::GetElementsResponseFut
fn watch_element_state( &self, processing_element_id: u64, ) -> Self::WatchElementStateResponseFut
fn get_topologies(&self) -> Self::GetTopologiesResponseFut
fn watch_topology(&self) -> Self::WatchTopologyResponseFut
fn watch_gain_state(&self) -> Self::WatchGainStateResponseFut
fn watch_plug_state(&self) -> Self::WatchPlugStateResponseFut
fn get_reference_clock(&self) -> Self::GetReferenceClockResponseFut
Source§impl Proxy for ObserverProxy
impl Proxy for ObserverProxy
Source§type Protocol = ObserverMarker
type Protocol = ObserverMarker
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Auto Trait Implementations§
impl Freeze for ObserverProxy
impl !RefUnwindSafe for ObserverProxy
impl Send for ObserverProxy
impl Sync for ObserverProxy
impl Unpin for ObserverProxy
impl !UnwindSafe for ObserverProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)