pub trait PlatformBusServerHandler<___T: Transport = DriverChannel> {
// Required methods
fn node_add(
&mut self,
request: Request<NodeAdd, ___T>,
responder: Responder<NodeAdd, ___T>,
) -> impl Future<Output = ()> + Send;
fn get_board_info(
&mut self,
responder: Responder<GetBoardInfo, ___T>,
) -> impl Future<Output = ()> + Send;
fn set_board_info(
&mut self,
request: Request<SetBoardInfo, ___T>,
responder: Responder<SetBoardInfo, ___T>,
) -> impl Future<Output = ()> + Send;
fn set_bootloader_info(
&mut self,
request: Request<SetBootloaderInfo, ___T>,
responder: Responder<SetBootloaderInfo, ___T>,
) -> impl Future<Output = ()> + Send;
fn register_sys_suspend_callback(
&mut self,
request: Request<RegisterSysSuspendCallback, ___T>,
responder: Responder<RegisterSysSuspendCallback, ___T>,
) -> impl Future<Output = ()> + Send;
fn add_composite_node_spec(
&mut self,
request: Request<AddCompositeNodeSpec, ___T>,
responder: Responder<AddCompositeNodeSpec, ___T>,
) -> impl Future<Output = ()> + Send;
fn register_iommu(
&mut self,
request: Request<RegisterIommu, ___T>,
responder: Responder<RegisterIommu, ___T>,
) -> impl Future<Output = ()> + Send;
// Provided method
fn on_unknown_interaction(
&mut self,
ordinal: u64,
) -> impl Future<Output = ()> + Send { ... }
}Expand description
A server handler for the PlatformBus protocol.
See PlatformBus for more details.
Required Methods§
Sourcefn node_add(
&mut self,
request: Request<NodeAdd, ___T>,
responder: Responder<NodeAdd, ___T>,
) -> impl Future<Output = ()> + Send
fn node_add( &mut self, request: Request<NodeAdd, ___T>, responder: Responder<NodeAdd, ___T>, ) -> impl Future<Output = ()> + Send
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.
Sourcefn get_board_info(
&mut self,
responder: Responder<GetBoardInfo, ___T>,
) -> impl Future<Output = ()> + Send
fn get_board_info( &mut self, responder: Responder<GetBoardInfo, ___T>, ) -> impl Future<Output = ()> + Send
Board drivers may use this to get information about the board, and to differentiate between multiple boards that they support.
Sourcefn set_board_info(
&mut self,
request: Request<SetBoardInfo, ___T>,
responder: Responder<SetBoardInfo, ___T>,
) -> impl Future<Output = ()> + Send
fn set_board_info( &mut self, request: Request<SetBoardInfo, ___T>, responder: Responder<SetBoardInfo, ___T>, ) -> impl Future<Output = ()> + Send
Board drivers may use this to set information about the board.
Sourcefn set_bootloader_info(
&mut self,
request: Request<SetBootloaderInfo, ___T>,
responder: Responder<SetBootloaderInfo, ___T>,
) -> impl Future<Output = ()> + Send
fn set_bootloader_info( &mut self, request: Request<SetBootloaderInfo, ___T>, responder: Responder<SetBootloaderInfo, ___T>, ) -> impl Future<Output = ()> + Send
Board drivers may use this to set information about the bootloader.
Sourcefn register_sys_suspend_callback(
&mut self,
request: Request<RegisterSysSuspendCallback, ___T>,
responder: Responder<RegisterSysSuspendCallback, ___T>,
) -> impl Future<Output = ()> + Send
fn register_sys_suspend_callback( &mut self, request: Request<RegisterSysSuspendCallback, ___T>, responder: Responder<RegisterSysSuspendCallback, ___T>, ) -> impl Future<Output = ()> + Send
Registers a callback that’s invoked by the platform bus when it’s suspending.
Sourcefn add_composite_node_spec(
&mut self,
request: Request<AddCompositeNodeSpec, ___T>,
responder: Responder<AddCompositeNodeSpec, ___T>,
) -> impl Future<Output = ()> + Send
fn add_composite_node_spec( &mut self, request: Request<AddCompositeNodeSpec, ___T>, responder: Responder<AddCompositeNodeSpec, ___T>, ) -> impl Future<Output = ()> + Send
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.
Sourcefn register_iommu(
&mut self,
request: Request<RegisterIommu, ___T>,
responder: Responder<RegisterIommu, ___T>,
) -> impl Future<Output = ()> + Send
fn register_iommu( &mut self, request: Request<RegisterIommu, ___T>, responder: Responder<RegisterIommu, ___T>, ) -> impl Future<Output = ()> + Send
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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".