pub struct ControllerProxy { /* private fields */ }
Implementations§
Source§impl ControllerProxy
impl ControllerProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.bluetooth.avrcp/Controller.
Sourcepub fn take_event_stream(&self) -> ControllerEventStream
pub fn take_event_stream(&self) -> ControllerEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn get_player_application_settings(
&self,
attribute_ids: &[PlayerApplicationSettingAttributeId],
) -> QueryResponseFut<ControllerGetPlayerApplicationSettingsResult, DefaultFuchsiaResourceDialect>
pub fn get_player_application_settings( &self, attribute_ids: &[PlayerApplicationSettingAttributeId], ) -> QueryResponseFut<ControllerGetPlayerApplicationSettingsResult, DefaultFuchsiaResourceDialect>
Returns currently set player application setting values for the attribute_ids
.
If no attribute_ids
are provided, this method will query the TG for all valid
attribute ID’s, and return the currently set player application setting values.
Sourcepub fn set_player_application_settings(
&self,
requested_settings: &PlayerApplicationSettings,
) -> QueryResponseFut<ControllerSetPlayerApplicationSettingsResult, DefaultFuchsiaResourceDialect>
pub fn set_player_application_settings( &self, requested_settings: &PlayerApplicationSettings, ) -> QueryResponseFut<ControllerSetPlayerApplicationSettingsResult, DefaultFuchsiaResourceDialect>
Sets the player application settings specified by requested_settings
. Only
settings specified in the input requested_settings
will be overwritten.
Returns the actual settings that were set.
Settings provided in the requested_settings
that are unsupported or unknown
will not be set; the returned set_settings
will include only the settings
that were successfully set on the remote target.
Sourcepub fn get_media_attributes(
&self,
) -> QueryResponseFut<ControllerGetMediaAttributesResult, DefaultFuchsiaResourceDialect>
pub fn get_media_attributes( &self, ) -> QueryResponseFut<ControllerGetMediaAttributesResult, DefaultFuchsiaResourceDialect>
Returns the currently playing media attributes. May send either the GetElementAttributes or GetItemAttributes command depending on what is supported.
Sourcepub fn get_play_status(
&self,
) -> QueryResponseFut<ControllerGetPlayStatusResult, DefaultFuchsiaResourceDialect>
pub fn get_play_status( &self, ) -> QueryResponseFut<ControllerGetPlayStatusResult, DefaultFuchsiaResourceDialect>
Returns the status of the currently playing media.
Sourcepub fn set_absolute_volume(
&self,
requested_volume: u8,
) -> QueryResponseFut<ControllerSetAbsoluteVolumeResult, DefaultFuchsiaResourceDialect>
pub fn set_absolute_volume( &self, requested_volume: u8, ) -> QueryResponseFut<ControllerSetAbsoluteVolumeResult, DefaultFuchsiaResourceDialect>
Request the absolute volume on the peer be changed. Returns the actual volume set by the peer. Values can range from 0x00 to 0x7F (with 100% volume being 0x7F). You may not get a volume changed notification event from the remote peer as result of changing this.
Sourcepub fn inform_battery_status(
&self,
battery_status: BatteryStatus,
) -> QueryResponseFut<ControllerInformBatteryStatusResult, DefaultFuchsiaResourceDialect>
pub fn inform_battery_status( &self, battery_status: BatteryStatus, ) -> QueryResponseFut<ControllerInformBatteryStatusResult, DefaultFuchsiaResourceDialect>
Inform target of the controller’s battery level.
Sourcepub fn set_notification_filter(
&self,
notifications: Notifications,
position_change_interval: u32,
) -> Result<(), Error>
pub fn set_notification_filter( &self, notifications: Notifications, position_change_interval: u32, ) -> Result<(), Error>
Filters notifications that will be received with [OnNotification
]. Not all notifications
are supported by all peers. Resetting the notification filter may trigger all requested
notification types to post their current value to [OnNotification
] immediately.
The position_change_interval
argument is used to set the interval in seconds that the
controller client would like to be notified of TRACK_POS_CHANGED
events.
position_change_interval
is ignored if TRACK_POS
is not set. The position change interval
is best effort and not a guarantee and events may arrive more frequently or less frequently
than requested.
Sourcepub fn notify_notification_handled(&self) -> Result<(), Error>
pub fn notify_notification_handled(&self) -> Result<(), Error>
Call to acknowledge handling of a notification from [OnNotification
].
Sourcepub fn set_addressed_player(
&self,
player_id: u16,
) -> QueryResponseFut<ControllerSetAddressedPlayerResult, DefaultFuchsiaResourceDialect>
pub fn set_addressed_player( &self, player_id: u16, ) -> QueryResponseFut<ControllerSetAddressedPlayerResult, DefaultFuchsiaResourceDialect>
Changes the addressed player_id
on the target when multiple are supported.
Sourcepub fn send_command(
&self,
command: AvcPanelCommand,
) -> QueryResponseFut<ControllerSendCommandResult, DefaultFuchsiaResourceDialect>
pub fn send_command( &self, command: AvcPanelCommand, ) -> QueryResponseFut<ControllerSendCommandResult, DefaultFuchsiaResourceDialect>
Send an AV\C passthrough key command. Sends both a key down and key up event.
Trait Implementations§
Source§impl Clone for ControllerProxy
impl Clone for ControllerProxy
Source§fn clone(&self) -> ControllerProxy
fn clone(&self) -> ControllerProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl ControllerProxyInterface for ControllerProxy
impl ControllerProxyInterface for ControllerProxy
type GetPlayerApplicationSettingsResponseFut = QueryResponseFut<Result<PlayerApplicationSettings, ControllerError>>
type SetPlayerApplicationSettingsResponseFut = QueryResponseFut<Result<PlayerApplicationSettings, ControllerError>>
type GetMediaAttributesResponseFut = QueryResponseFut<Result<MediaAttributes, ControllerError>>
type GetPlayStatusResponseFut = QueryResponseFut<Result<PlayStatus, ControllerError>>
type SetAbsoluteVolumeResponseFut = QueryResponseFut<Result<u8, ControllerError>>
type InformBatteryStatusResponseFut = QueryResponseFut<Result<(), ControllerError>>
type SetAddressedPlayerResponseFut = QueryResponseFut<Result<(), ControllerError>>
type SendCommandResponseFut = QueryResponseFut<Result<(), ControllerError>>
fn get_player_application_settings( &self, attribute_ids: &[PlayerApplicationSettingAttributeId], ) -> Self::GetPlayerApplicationSettingsResponseFut
fn set_player_application_settings( &self, requested_settings: &PlayerApplicationSettings, ) -> Self::SetPlayerApplicationSettingsResponseFut
fn get_media_attributes(&self) -> Self::GetMediaAttributesResponseFut
fn get_play_status(&self) -> Self::GetPlayStatusResponseFut
fn set_absolute_volume( &self, requested_volume: u8, ) -> Self::SetAbsoluteVolumeResponseFut
fn inform_battery_status( &self, battery_status: BatteryStatus, ) -> Self::InformBatteryStatusResponseFut
fn set_notification_filter( &self, notifications: Notifications, position_change_interval: u32, ) -> Result<(), Error>
fn notify_notification_handled(&self) -> Result<(), Error>
fn set_addressed_player( &self, player_id: u16, ) -> Self::SetAddressedPlayerResponseFut
fn send_command(&self, command: AvcPanelCommand) -> Self::SendCommandResponseFut
Source§impl Debug for ControllerProxy
impl Debug for ControllerProxy
Source§impl Proxy for ControllerProxy
impl Proxy for ControllerProxy
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
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 ControllerProxy
impl !RefUnwindSafe for ControllerProxy
impl Send for ControllerProxy
impl Sync for ControllerProxy
impl Unpin for ControllerProxy
impl !UnwindSafe for ControllerProxy
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
)