MonitorBuilder

Struct MonitorBuilder 

Source
pub struct MonitorBuilder { /* private fields */ }
Expand description

Monitors for device events.

A monitor communicates with the kernel over a socket. Filtering events is performed efficiently in the kernel, and only events that match the filters are received by the socket. Filters must be setup before listening for events.

Implementations§

Source§

impl MonitorBuilder

Source

pub fn new() -> Result<Self>

Creates a new MonitorSocket.

Source

pub fn match_subsystem<T>(self, subsystem: T) -> Result<Self>
where T: AsRef<OsStr>,

Adds a filter that matches events for devices with the given subsystem.

Source

pub fn match_subsystem_devtype<T, U>( self, subsystem: T, devtype: U, ) -> Result<Self>
where T: AsRef<OsStr>, U: AsRef<OsStr>,

Adds a filter that matches events for devices with the given subsystem and device type.

Source

pub fn match_tag<T>(self, tag: T) -> Result<Self>
where T: AsRef<OsStr>,

Adds a filter that matches events for devices with the given tag.

Source

pub fn clear_filters(self) -> Result<Self>

Removes all filters currently set on the monitor.

Source

pub fn listen(self) -> Result<MonitorSocket>

Listens for events matching the current filters.

This method consumes the MonitorBuilder.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.