Enum ruma::push::AnyPushRule
source · #[non_exhaustive]pub enum AnyPushRule {
Override(ConditionalPushRule),
Content(PatternedPushRule),
Room(SimplePushRule<OwnedRoomId>),
Sender(SimplePushRule<OwnedUserId>),
Underride(ConditionalPushRule),
}
Expand description
The kinds of push rules that are available.
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(ConditionalPushRule)
Rules that override all other kinds.
Content(PatternedPushRule)
Content-specific rules.
Room(SimplePushRule<OwnedRoomId>)
Room-specific rules.
Sender(SimplePushRule<OwnedUserId>)
Sender-specific rules.
Underride(ConditionalPushRule)
Lowest priority rules.
Implementations§
source§impl AnyPushRule
impl AnyPushRule
sourcepub fn as_ref(&self) -> AnyPushRuleRef<'_>
pub fn as_ref(&self) -> AnyPushRuleRef<'_>
Convert AnyPushRule
to AnyPushRuleRef
.
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<&str>
pub fn triggers_sound(&self) -> Option<&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 Clone for AnyPushRule
impl Clone for AnyPushRule
source§fn clone(&self) -> AnyPushRule
fn clone(&self) -> AnyPushRule
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 Debug for AnyPushRule
impl Debug for AnyPushRule
source§impl From<AnyPushRule> for PushRule
impl From<AnyPushRule> for PushRule
source§fn from(push_rule: AnyPushRule) -> PushRule
fn from(push_rule: AnyPushRule) -> PushRule
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for AnyPushRule
impl RefUnwindSafe for AnyPushRule
impl Send for AnyPushRule
impl Sync for AnyPushRule
impl Unpin for AnyPushRule
impl UnwindSafe for AnyPushRule
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
)