pub enum FileFilter {
None,
Combined(Vec<FileFilterEntry>),
Regex(Regex),
}Expand description
Controls which manifest files are included in a download.
use steamroom_client::download::FileFilter;
// Match only .dll files
let filter = FileFilter::Regex(regex::Regex::new(r"\.dll$").unwrap());
assert!(filter.matches("bin/server.dll"));
assert!(!filter.matches("bin/server.exe"));
// Parse a filelist with mixed literal and regex entries
let filter = FileFilter::from_filelist(&[
"game/bin/server.dll".into(),
"regex:^maps/.*\\.vpk$".into(),
]).unwrap();
assert!(filter.matches("game/bin/server.dll"));
assert!(filter.matches("maps/de_dust2.vpk"));Variants§
Implementations§
Source§impl FileFilter
impl FileFilter
Sourcepub fn to_filelist(&self) -> Vec<String>
pub fn to_filelist(&self) -> Vec<String>
Convert the filter back into filelist string format.
Regex entries are prefixed with regex:.
Sourcepub fn from_filelist(lines: &[String]) -> Result<Self, Error>
pub fn from_filelist(lines: &[String]) -> Result<Self, Error>
Parse a filelist where lines can be literal paths or regex:pattern entries.
This is compatible with the filelist format used by DepotDownloader.
Auto Trait Implementations§
impl Freeze for FileFilter
impl RefUnwindSafe for FileFilter
impl Send for FileFilter
impl Sync for FileFilter
impl Unpin for FileFilter
impl UnsafeUnpin for FileFilter
impl UnwindSafe for FileFilter
Blanket Implementations§
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