pub enum ControllerRequest {
GetPlayerApplicationSettings {
attribute_ids: Vec<PlayerApplicationSettingAttributeId>,
responder: ControllerGetPlayerApplicationSettingsResponder,
},
SetPlayerApplicationSettings {
requested_settings: PlayerApplicationSettings,
responder: ControllerSetPlayerApplicationSettingsResponder,
},
GetMediaAttributes {
responder: ControllerGetMediaAttributesResponder,
},
GetPlayStatus {
responder: ControllerGetPlayStatusResponder,
},
SetAbsoluteVolume {
requested_volume: u8,
responder: ControllerSetAbsoluteVolumeResponder,
},
InformBatteryStatus {
battery_status: BatteryStatus,
responder: ControllerInformBatteryStatusResponder,
},
SetNotificationFilter {
notifications: Notifications,
position_change_interval: u32,
control_handle: ControllerControlHandle,
},
NotifyNotificationHandled {
control_handle: ControllerControlHandle,
},
SetAddressedPlayer {
player_id: u16,
responder: ControllerSetAddressedPlayerResponder,
},
SendCommand {
command: AvcPanelCommand,
responder: ControllerSendCommandResponder,
},
}
Expand description
Client wrapper for local controller (CT) -> remote target (TG) AVCTP connections between devices for AV/C commands.
See BrowseController
protocol note for more detailed explanation on
the purpose of this protocol.
Variants§
GetPlayerApplicationSettings
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.
Fields
attribute_ids: Vec<PlayerApplicationSettingAttributeId>
SetPlayerApplicationSettings
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.
Fields
requested_settings: PlayerApplicationSettings
GetMediaAttributes
Returns the currently playing media attributes. May send either the GetElementAttributes or GetItemAttributes command depending on what is supported.
Fields
responder: ControllerGetMediaAttributesResponder
GetPlayStatus
Returns the status of the currently playing media.
Fields
responder: ControllerGetPlayStatusResponder
SetAbsoluteVolume
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.
InformBatteryStatus
Inform target of the controller’s battery level.
SetNotificationFilter
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.
NotifyNotificationHandled
Call to acknowledge handling of a notification from [OnNotification
].
Fields
control_handle: ControllerControlHandle
SetAddressedPlayer
Changes the addressed player_id
on the target when multiple are supported.
SendCommand
Send an AV\C passthrough key command. Sends both a key down and key up event.
Implementations§
Source§impl ControllerRequest
impl ControllerRequest
pub fn into_get_player_application_settings( self, ) -> Option<(Vec<PlayerApplicationSettingAttributeId>, ControllerGetPlayerApplicationSettingsResponder)>
pub fn into_set_player_application_settings( self, ) -> Option<(PlayerApplicationSettings, ControllerSetPlayerApplicationSettingsResponder)>
pub fn into_get_media_attributes( self, ) -> Option<ControllerGetMediaAttributesResponder>
pub fn into_get_play_status(self) -> Option<ControllerGetPlayStatusResponder>
pub fn into_set_absolute_volume( self, ) -> Option<(u8, ControllerSetAbsoluteVolumeResponder)>
pub fn into_inform_battery_status( self, ) -> Option<(BatteryStatus, ControllerInformBatteryStatusResponder)>
pub fn into_set_notification_filter( self, ) -> Option<(Notifications, u32, ControllerControlHandle)>
pub fn into_notify_notification_handled(self) -> Option<ControllerControlHandle>
pub fn into_set_addressed_player( self, ) -> Option<(u16, ControllerSetAddressedPlayerResponder)>
pub fn into_send_command( self, ) -> Option<(AvcPanelCommand, ControllerSendCommandResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL