#[non_exhaustive]pub enum AnyPushRule {
Override(ConditionalPushRule),
Content(PatternedPushRule),
PostContent(ConditionalPushRule),
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.
PostContent(ConditionalPushRule)
Available on crate feature
unstable-msc4306
only.Post-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 (either in-app or remote / push).
Sourcepub fn triggers_remote_notification(&self) -> bool
Available on crate feature unstable-msc3768
only.
pub fn triggers_remote_notification(&self) -> bool
unstable-msc3768
only.Whether an event that matches the push rule should trigger a remote 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 async fn applies(
&self,
event: &FlattenedJson,
context: &PushConditionRoomCtx,
) -> bool
pub async 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 duplicate 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 moreAuto 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