pub trait DeviceControllerProxyInterface: Send + Sync {
    type BindDriverResponseFut: Future<Output = Result<(i32, Option<Channel>), Error>> + Send;
    type InitResponseFut: Future<Output = Result<i32, Error>> + Send;
    type UnbindResponseFut: Future<Output = Result<DeviceControllerUnbindResult, Error>> + Send;
    type CompleteRemovalResponseFut: Future<Output = Result<DeviceControllerCompleteRemovalResult, Error>> + Send;
    type SuspendResponseFut: Future<Output = Result<i32, Error>> + Send;
    type ResumeResponseFut: Future<Output = Result<i32, Error>> + Send;

    // Required methods
    fn connect_multiplexed(
        &self,
        server: Channel,
        include_node: bool,
        include_controller: bool
    ) -> Result<(), Error>;
    fn connect_to_controller(
        &self,
        controller: ServerEnd<ControllerMarker>
    ) -> Result<(), Error>;
    fn connect_to_device_protocol(&self, server: Channel) -> Result<(), Error>;
    fn bind_driver(
        &self,
        driver_path: &str,
        driver: Vmo,
        default_dispatcher_scheduler_role: &str
    ) -> Self::BindDriverResponseFut;
    fn connect_proxy_(&self, shadow: Channel) -> Result<(), Error>;
    fn init(&self) -> Self::InitResponseFut;
    fn unbind(&self) -> Self::UnbindResponseFut;
    fn complete_removal(&self) -> Self::CompleteRemovalResponseFut;
    fn suspend(&self, flags: u32) -> Self::SuspendResponseFut;
    fn resume(&self, target_system_state: u32) -> Self::ResumeResponseFut;
    fn signal_made_visible(&self) -> Result<(), Error>;
}

Required Associated Types§

Required Methods§

source

fn connect_multiplexed( &self, server: Channel, include_node: bool, include_controller: bool ) -> Result<(), Error>

source

fn connect_to_controller( &self, controller: ServerEnd<ControllerMarker> ) -> Result<(), Error>

source

fn connect_to_device_protocol(&self, server: Channel) -> Result<(), Error>

source

fn bind_driver( &self, driver_path: &str, driver: Vmo, default_dispatcher_scheduler_role: &str ) -> Self::BindDriverResponseFut

source

fn connect_proxy_(&self, shadow: Channel) -> Result<(), Error>

source

fn init(&self) -> Self::InitResponseFut

source

fn unbind(&self) -> Self::UnbindResponseFut

source

fn complete_removal(&self) -> Self::CompleteRemovalResponseFut

source

fn suspend(&self, flags: u32) -> Self::SuspendResponseFut

source

fn resume(&self, target_system_state: u32) -> Self::ResumeResponseFut

source

fn signal_made_visible(&self) -> Result<(), Error>

Implementors§

source§

impl DeviceControllerProxyInterface for DeviceControllerProxy

§

type BindDriverResponseFut = QueryResponseFut<(i32, Option<Channel>)>

§

type InitResponseFut = QueryResponseFut<i32>

§

type UnbindResponseFut = QueryResponseFut<Result<(), i32>>

§

type CompleteRemovalResponseFut = QueryResponseFut<Result<(), i32>>

§

type SuspendResponseFut = QueryResponseFut<i32>

§

type ResumeResponseFut = QueryResponseFut<i32>