33 lines
695 B
Rust
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),
|
|
}
|