pub trait XhciBackendDeviceProvider: Send + Sync {
// Required methods
fn start(
&mut self,
fail_handle: Arc<dyn FailHandle>,
event_loop: Arc<EventLoop>,
hub: Arc<UsbHub>,
) -> Result<()>;
fn keep_rds(&self) -> Vec<RawDescriptor> ⓘ;
// Provided method
fn attach_device(&self, _file: File) { ... }
}Expand description
Xhci backend provider will run on an EventLoop and connect new devices to usb ports.
Required Methods§
Sourcefn start(
&mut self,
fail_handle: Arc<dyn FailHandle>,
event_loop: Arc<EventLoop>,
hub: Arc<UsbHub>,
) -> Result<()>
fn start( &mut self, fail_handle: Arc<dyn FailHandle>, event_loop: Arc<EventLoop>, hub: Arc<UsbHub>, ) -> Result<()>
Start the provider on EventLoop.
Sourcefn keep_rds(&self) -> Vec<RawDescriptor> ⓘ
fn keep_rds(&self) -> Vec<RawDescriptor> ⓘ
Keep raw descriptors that should be kept open.
Provided Methods§
Sourcefn attach_device(&self, _file: File)
fn attach_device(&self, _file: File)
Attach a USB device file directly (bypasses control socket). Default is no-op.