pub trait ControllerProxyInterface: Send + Sync {
    type GetPlayerApplicationSettingsResponseFut: Future<Output = Result<ControllerGetPlayerApplicationSettingsResult, Error>> + Send;
    type SetPlayerApplicationSettingsResponseFut: Future<Output = Result<ControllerSetPlayerApplicationSettingsResult, Error>> + Send;
    type GetMediaAttributesResponseFut: Future<Output = Result<ControllerGetMediaAttributesResult, Error>> + Send;
    type GetPlayStatusResponseFut: Future<Output = Result<ControllerGetPlayStatusResult, Error>> + Send;
    type SetAbsoluteVolumeResponseFut: Future<Output = Result<ControllerSetAbsoluteVolumeResult, Error>> + Send;
    type InformBatteryStatusResponseFut: Future<Output = Result<ControllerInformBatteryStatusResult, Error>> + Send;
    type SetAddressedPlayerResponseFut: Future<Output = Result<ControllerSetAddressedPlayerResult, Error>> + Send;
    type SendCommandResponseFut: Future<Output = Result<ControllerSendCommandResult, Error>> + Send;

    // Required methods
    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;
}

Required Associated Types§

Required Methods§

Implementors§