pub trait DeviceProxyInterface: Send + Sync {
    type GetIdentifierResponseFut: Future<Output = Result<Option<String>, Error>> + Send;
    type GetConfigurationsResponseFut: Future<Output = Result<Vec<Configuration>, Error>> + Send;
    type GetConfigurations2ResponseFut: Future<Output = Result<Vec<Configuration2>, Error>> + Send;
    type WatchCurrentConfigurationResponseFut: Future<Output = Result<u32, Error>> + Send;
    type WatchMuteStateResponseFut: Future<Output = Result<(bool, bool), Error>> + Send;
    type SetSoftwareMuteStateResponseFut: Future<Output = Result<(), Error>> + Send;

    // Required methods
    fn get_identifier(&self) -> Self::GetIdentifierResponseFut;
    fn get_configurations(&self) -> Self::GetConfigurationsResponseFut;
    fn get_configurations2(&self) -> Self::GetConfigurations2ResponseFut;
    fn watch_current_configuration(
        &self
    ) -> Self::WatchCurrentConfigurationResponseFut;
    fn set_current_configuration(&self, index: u32) -> Result<(), Error>;
    fn watch_mute_state(&self) -> Self::WatchMuteStateResponseFut;
    fn set_software_mute_state(
        &self,
        muted: bool
    ) -> Self::SetSoftwareMuteStateResponseFut;
    fn connect_to_stream(
        &self,
        index: u32,
        request: ServerEnd<Stream_Marker>
    ) -> Result<(), Error>;
    fn rebind(&self, request: ServerEnd<DeviceMarker>) -> Result<(), Error>;
}

Required Associated Types§

Required Methods§

Implementors§