Skip to main content

PlatformBusLocalServerHandler

Trait PlatformBusLocalServerHandler 

Source
pub trait PlatformBusLocalServerHandler<___T: Transport = DriverChannel> {
    // Required methods
    fn node_add(
        &mut self,
        request: Request<NodeAdd, ___T>,
        responder: Responder<NodeAdd, ___T>,
    ) -> impl Future<Output = ()>;
    fn get_board_info(
        &mut self,
        responder: Responder<GetBoardInfo, ___T>,
    ) -> impl Future<Output = ()>;
    fn set_board_info(
        &mut self,
        request: Request<SetBoardInfo, ___T>,
        responder: Responder<SetBoardInfo, ___T>,
    ) -> impl Future<Output = ()>;
    fn set_bootloader_info(
        &mut self,
        request: Request<SetBootloaderInfo, ___T>,
        responder: Responder<SetBootloaderInfo, ___T>,
    ) -> impl Future<Output = ()>;
    fn register_sys_suspend_callback(
        &mut self,
        request: Request<RegisterSysSuspendCallback, ___T>,
        responder: Responder<RegisterSysSuspendCallback, ___T>,
    ) -> impl Future<Output = ()>;
    fn add_composite_node_spec(
        &mut self,
        request: Request<AddCompositeNodeSpec, ___T>,
        responder: Responder<AddCompositeNodeSpec, ___T>,
    ) -> impl Future<Output = ()>;
    fn register_iommu(
        &mut self,
        request: Request<RegisterIommu, ___T>,
        responder: Responder<RegisterIommu, ___T>,
    ) -> impl Future<Output = ()>;

    // Provided method
    fn on_unknown_interaction(
        &mut self,
        ordinal: u64,
    ) -> impl Future<Output = ()> { ... }
}
Expand description

A server handler for the PlatformBus protocol.

See PlatformBus for more details.

Required Methods§

Source

fn node_add( &mut self, request: Request<NodeAdd, ___T>, responder: Responder<NodeAdd, ___T>, ) -> impl Future<Output = ()>

Adds a new platform device node to the bus, using configuration provided by |node|. Platform device nodes are created in their own separate driver hosts.

Source

fn get_board_info( &mut self, responder: Responder<GetBoardInfo, ___T>, ) -> impl Future<Output = ()>

Board drivers may use this to get information about the board, and to differentiate between multiple boards that they support.

Source

fn set_board_info( &mut self, request: Request<SetBoardInfo, ___T>, responder: Responder<SetBoardInfo, ___T>, ) -> impl Future<Output = ()>

Board drivers may use this to set information about the board.

Source

fn set_bootloader_info( &mut self, request: Request<SetBootloaderInfo, ___T>, responder: Responder<SetBootloaderInfo, ___T>, ) -> impl Future<Output = ()>

Board drivers may use this to set information about the bootloader.

Source

fn register_sys_suspend_callback( &mut self, request: Request<RegisterSysSuspendCallback, ___T>, responder: Responder<RegisterSysSuspendCallback, ___T>, ) -> impl Future<Output = ()>

Registers a callback that’s invoked by the platform bus when it’s suspending.

Source

fn add_composite_node_spec( &mut self, request: Request<AddCompositeNodeSpec, ___T>, responder: Responder<AddCompositeNodeSpec, ___T>, ) -> impl Future<Output = ()>

Adds a composite node specification that has |node| as one of the composite node’s parents. To accomplish this, this method does a couple of things. The method adds a platform device node specified by |node| as a child of the platform bus. Also, a fuchsia.driver.framework.ParentSpec is added to |spec| which matches the newly added platform device node. Composite bind rules should include a stanza that matches the properites of |node| in order for the bind rules to match against the CompositeNodeSpec.

Source

fn register_iommu( &mut self, request: Request<RegisterIommu, ___T>, responder: Responder<RegisterIommu, ___T>, ) -> impl Future<Output = ()>

Register an iommu. The platform bus will use this to create a new iommu object with the kernel based on the parameters passed in.

Provided Methods§

Source

fn on_unknown_interaction(&mut self, ordinal: u64) -> impl Future<Output = ()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<___H, ___T> PlatformBusLocalServerHandler<___T> for Local<___H>
where ___H: PlatformBusServerHandler<___T>, ___T: Transport,

Source§

async fn node_add( &mut self, request: Request<NodeAdd, ___T>, responder: Responder<NodeAdd, ___T>, )

Source§

async fn get_board_info(&mut self, responder: Responder<GetBoardInfo, ___T>)

Source§

async fn set_board_info( &mut self, request: Request<SetBoardInfo, ___T>, responder: Responder<SetBoardInfo, ___T>, )

Source§

async fn set_bootloader_info( &mut self, request: Request<SetBootloaderInfo, ___T>, responder: Responder<SetBootloaderInfo, ___T>, )

Source§

async fn register_sys_suspend_callback( &mut self, request: Request<RegisterSysSuspendCallback, ___T>, responder: Responder<RegisterSysSuspendCallback, ___T>, )

Source§

async fn add_composite_node_spec( &mut self, request: Request<AddCompositeNodeSpec, ___T>, responder: Responder<AddCompositeNodeSpec, ___T>, )

Source§

async fn register_iommu( &mut self, request: Request<RegisterIommu, ___T>, responder: Responder<RegisterIommu, ___T>, )

Source§

async fn on_unknown_interaction(&mut self, ordinal: u64)

Implementors§