Enum ruma_common::push::AnyPushRuleRef
source · #[non_exhaustive]pub enum AnyPushRuleRef<'a> {
Override(&'a ConditionalPushRule),
Content(&'a PatternedPushRule),
Room(&'a SimplePushRule<OwnedRoomId>),
Sender(&'a SimplePushRule<OwnedUserId>),
Underride(&'a ConditionalPushRule),
}
Expand description
Reference to any kind of push rule.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Override(&'a ConditionalPushRule)
Rules that override all other kinds.
Content(&'a PatternedPushRule)
Content-specific rules.
Room(&'a SimplePushRule<OwnedRoomId>)
Room-specific rules.
Sender(&'a SimplePushRule<OwnedUserId>)
Sender-specific rules.
Underride(&'a ConditionalPushRule)
Lowest priority rules.
Implementations§
source§impl<'a> AnyPushRuleRef<'a>
impl<'a> AnyPushRuleRef<'a>
sourcepub fn to_owned(self) -> AnyPushRule
pub fn to_owned(self) -> AnyPushRule
Convert AnyPushRuleRef
to AnyPushRule
by cloning the inner value.
sourcepub fn triggers_highlight(self) -> bool
pub fn triggers_highlight(self) -> bool
Whether an event that matches the push rule should be highlighted.
sourcepub fn triggers_notification(self) -> bool
pub fn triggers_notification(self) -> bool
Whether an event that matches the push rule should trigger a notification.
sourcepub fn triggers_sound(self) -> Option<&'a str>
pub fn triggers_sound(self) -> Option<&'a str>
The sound that should be played when an event matches the push rule, if any.
sourcepub fn is_server_default(self) -> bool
pub fn is_server_default(self) -> bool
Whether the push rule is a server-default rule.
sourcepub fn applies(
self,
event: &FlattenedJson,
context: &PushConditionRoomCtx,
) -> bool
pub fn applies( self, event: &FlattenedJson, context: &PushConditionRoomCtx, ) -> bool
Check if the push rule applies to the event.
§Arguments
event
- The flattened JSON representation of a room message event.context
- The context of the room at the time of the event.
Trait Implementations§
source§impl<'a> Clone for AnyPushRuleRef<'a>
impl<'a> Clone for AnyPushRuleRef<'a>
source§fn clone(&self) -> AnyPushRuleRef<'a>
fn clone(&self) -> AnyPushRuleRef<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a> Debug for AnyPushRuleRef<'a>
impl<'a> Debug for AnyPushRuleRef<'a>
impl<'a> Copy for AnyPushRuleRef<'a>
Auto Trait Implementations§
impl<'a> Freeze for AnyPushRuleRef<'a>
impl<'a> RefUnwindSafe for AnyPushRuleRef<'a>
impl<'a> Send for AnyPushRuleRef<'a>
impl<'a> Sync for AnyPushRuleRef<'a>
impl<'a> Unpin for AnyPushRuleRef<'a>
impl<'a> UnwindSafe for AnyPushRuleRef<'a>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)