empidee/src/filter.rs
2024-11-30 01:57:45 +01:00

33 lines
695 B
Rust

use crate::common::{Priority, Tag};
pub enum CaseSensitivity {
CaseSensitive,
CaseInsensitive,
CommandDependent,
}
pub enum Filter {
Not(Box<Filter>),
And(Box<Filter>, Box<Filter>),
EqTag(Tag, String, CaseSensitivity),
Contains(Tag, String, CaseSensitivity),
StartsWith(Tag, String, CaseSensitivity),
PerlRegex(Tag, String),
NegPerlRegex(Tag, String),
EqUri(String),
Base(String),
ModifiedSince(u64),
AudioFormatEq {
sample_rate: u32,
bits: u8,
channels: u8,
},
AudioFormatEqMask {
sample_rate: Option<u32>,
bits: Option<u8>,
channels: Option<u8>,
},
PrioCmp(Priority),
}