Protocol

Trait Protocol 

Source
pub trait Protocol<T: 'static> {
    // Required methods
    fn guid() -> Guid;
    fn new(fs: &'static mut T) -> Self
       where Self: Sized;

    // Provided methods
    fn locate_protocol() -> Result<Self>
       where Self: Sized { ... }
    fn handle_protocol(handle: Handle) -> Result<Self>
       where Self: Sized { ... }
    fn locate_handle() -> Result<Vec<Handle>> { ... }
    fn one() -> Result<Self>
       where Self: Sized { ... }
    fn all() -> Vec<Self>
       where Self: Sized { ... }
}

Required Methods§

Source

fn guid() -> Guid

Source

fn new(fs: &'static mut T) -> Self
where Self: Sized,

Provided Methods§

Source

fn locate_protocol() -> Result<Self>
where Self: Sized,

Source

fn handle_protocol(handle: Handle) -> Result<Self>
where Self: Sized,

Source

fn locate_handle() -> Result<Vec<Handle>>

Source

fn one() -> Result<Self>
where Self: Sized,

Source

fn all() -> Vec<Self>
where Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§