pub struct EvdevEventSource<T> {
evt_source_impl: EventSourceImpl<T>,
}Expand description
Encapsulates an event device node as an event source
Fields§
§evt_source_impl: EventSourceImpl<T>Implementations§
Source§impl<T> EvdevEventSource<T>
impl<T> EvdevEventSource<T>
pub fn new(source: T) -> EvdevEventSource<T>
Trait Implementations§
Source§impl<T: AsRawDescriptor> AsRawDescriptor for EvdevEventSource<T>
impl<T: AsRawDescriptor> AsRawDescriptor for EvdevEventSource<T>
Source§fn as_raw_descriptor(&self) -> RawDescriptor
fn as_raw_descriptor(&self) -> RawDescriptor
Returns the underlying raw descriptor. Read more
Source§impl<T> EventSource for EvdevEventSource<T>
impl<T> EventSource for EvdevEventSource<T>
Source§fn init(&mut self) -> Result<()>
fn init(&mut self) -> Result<()>
Perform any necessary initialization before receiving and sending events from/to the source.
Source§fn finalize(&mut self) -> Result<()>
fn finalize(&mut self) -> Result<()>
Perform any necessary cleanup when the device will no longer be used.
Source§fn receive_events(&mut self) -> Result<usize>
fn receive_events(&mut self) -> Result<usize>
Receive events from the source, filters them and stores them in a queue for future
consumption by reading from this object. Returns the number of new non filtered events
received. This function may block waiting for events to be available.
Source§fn available_events_count(&self) -> usize
fn available_events_count(&self) -> usize
Returns the number of received events that have not been filtered or consumed yet.
Source§fn pop_available_event(&mut self) -> Option<virtio_input_event>
fn pop_available_event(&mut self) -> Option<virtio_input_event>
Returns the next available event
Source§fn send_event(&mut self, vio_evt: &virtio_input_event) -> Result<()>
fn send_event(&mut self, vio_evt: &virtio_input_event) -> Result<()>
Sends a status update event to the source
Auto Trait Implementations§
impl<T> Freeze for EvdevEventSource<T>where
T: Freeze,
impl<T> RefUnwindSafe for EvdevEventSource<T>where
T: RefUnwindSafe,
impl<T> Send for EvdevEventSource<T>where
T: Send,
impl<T> Sync for EvdevEventSource<T>where
T: Sync,
impl<T> Unpin for EvdevEventSource<T>where
T: Unpin,
impl<T> UnwindSafe for EvdevEventSource<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.