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), }