RawDevice: introduce system_path() method

This commit is contained in:
Wayne Warren 2022-01-15 17:58:52 -07:00
parent 099b6e9a1d
commit 3a425349ec

View file

@ -2,7 +2,7 @@ use std::fs::{File, OpenOptions};
use std::io::Write;
use std::mem::MaybeUninit;
use std::os::unix::io::{AsRawFd, RawFd};
use std::path::Path;
use std::path::{Path, PathBuf};
use std::{io, mem};
use crate::constants::*;
@ -68,6 +68,7 @@ pub struct RawDevice {
supported_snd: Option<AttributeSet<SoundType>>,
pub(crate) event_buf: Vec<libc::input_event>,
grabbed: bool,
system_path: PathBuf,
}
#[derive(Debug, Clone)]
@ -225,6 +226,7 @@ impl RawDevice {
auto_repeat,
event_buf: Vec::new(),
grabbed: false,
system_path: path.to_path_buf(),
})
}
@ -383,6 +385,11 @@ impl RawDevice {
self.supported_snd.as_deref()
}
/// Returns the system path used to open the device.
pub fn system_path(&self) -> &Path {
self.system_path.as_ref()
}
/// Read a maximum of `num` events into the internal buffer. If the underlying fd is not
/// O_NONBLOCK, this will block.
///