pub struct VirtioSoundProxy { /* private fields */ }
Implementations§
Source§impl VirtioSoundProxy
impl VirtioSoundProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.virtualization.hardware/VirtioSound.
Sourcepub fn take_event_stream(&self) -> VirtioSoundEventStream
pub fn take_event_stream(&self) -> VirtioSoundEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn configure_queue(
&self,
queue: u16,
size: u16,
desc: u64,
avail: u64,
used: u64,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn configure_queue( &self, queue: u16, size: u16, desc: u64, avail: u64, used: u64, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
Configure a queue
for the device. This specifies the size
and the
guest physical addresses of the queue: desc
, avail
, and used
.
Sourcepub fn notify_queue(&self, queue: u16) -> Result<(), Error>
pub fn notify_queue(&self, queue: u16) -> Result<(), Error>
Notify a queue
for the device. Primarily used for black-box testing.
Sourcepub fn ready(
&self,
negotiated_features: u32,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn ready( &self, negotiated_features: u32, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
Ready a device. This provides the set of negotiated_features
that the
driver and device have agreed upon.
Sourcepub fn start(
&self,
start_info: StartInfo,
enable_input: bool,
enable_verbose_logging: bool,
) -> QueryResponseFut<(u32, u32, u32, u32), DefaultFuchsiaResourceDialect>
pub fn start( &self, start_info: StartInfo, enable_input: bool, enable_verbose_logging: bool, ) -> QueryResponseFut<(u32, u32, u32, u32), DefaultFuchsiaResourceDialect>
Start the sound device. The response contains the device’s expected static configuration.
- request
start_info
basic info to start the device - request
enable_input
whether audio input (capture) should be enabled - request
enable_verbose_logging
whether verbose logging should be enabled
- response
features
supported features - response
jacks
the virtio_snd_config.jacks value to advertise - response
streams
the virtio_snd_config.streams value to advertise - response
chmaps
the virtio_snd_config.chaps value to advertise
Trait Implementations§
Source§impl Clone for VirtioSoundProxy
impl Clone for VirtioSoundProxy
Source§fn clone(&self) -> VirtioSoundProxy
fn clone(&self) -> VirtioSoundProxy
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for VirtioSoundProxy
impl Debug for VirtioSoundProxy
Source§impl Proxy for VirtioSoundProxy
impl Proxy for VirtioSoundProxy
Source§type Protocol = VirtioSoundMarker
type Protocol = VirtioSoundMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Attempt to convert the proxy back into a client end. Read more
Source§impl VirtioSoundProxyInterface for VirtioSoundProxy
impl VirtioSoundProxyInterface for VirtioSoundProxy
type ConfigureQueueResponseFut = QueryResponseFut<()>
type ReadyResponseFut = QueryResponseFut<()>
type StartResponseFut = QueryResponseFut<(u32, u32, u32, u32)>
fn configure_queue( &self, queue: u16, size: u16, desc: u64, avail: u64, used: u64, ) -> Self::ConfigureQueueResponseFut
fn notify_queue(&self, queue: u16) -> Result<(), Error>
fn ready(&self, negotiated_features: u32) -> Self::ReadyResponseFut
fn start( &self, start_info: StartInfo, enable_input: bool, enable_verbose_logging: bool, ) -> Self::StartResponseFut
Auto Trait Implementations§
impl Freeze for VirtioSoundProxy
impl !RefUnwindSafe for VirtioSoundProxy
impl Send for VirtioSoundProxy
impl Sync for VirtioSoundProxy
impl Unpin for VirtioSoundProxy
impl !UnwindSafe for VirtioSoundProxy
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.