pub struct Rule {
pub target: RuleTarget,
pub decision: Decision,
pub pattern: Pattern,
pub message: Option<String>,
pub conditions: Vec<Condition>,
pub command: Option<String>,
pub subcommand: Option<String>,
pub subcommands: Option<Vec<String>>,
pub flags: Option<Vec<String>>,
pub args_contain: Option<String>,
}Expand description
A single rule: target + decision + pattern + optional message + conditions.
Rules can use glob-pattern matching (the pattern field), structured matching
(command/subcommand/flags fields), or both. When both are present, all must match (AND).
Fields§
§target: RuleTarget§decision: Decision§pattern: Pattern§message: Option<String>§conditions: Vec<Condition>§command: Option<String>§subcommand: Option<String>§subcommands: Option<Vec<String>>§flags: Option<Vec<String>>§args_contain: Option<String>Implementations§
Source§impl Rule
impl Rule
pub fn new(target: RuleTarget, decision: Decision, pattern: &str) -> Self
pub fn with_message(self, msg: impl Into<String>) -> Self
pub fn with_conditions(self, c: Vec<Condition>) -> Self
Sourcepub fn structured_description(&self) -> String
pub fn structured_description(&self) -> String
Format structured fields as a human-readable description.
Sourcepub const fn has_structured_fields(&self) -> bool
pub const fn has_structured_fields(&self) -> bool
Returns true if this rule has any structured matching fields set.
Sourcepub fn action_str(&self) -> String
pub fn action_str(&self) -> String
Return the action string for this rule (e.g. “allow”, “deny-redirect”, “ask-read”).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Rule
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnsafeUnpin for Rule
impl UnwindSafe for Rule
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.