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.