#[non_exhaustive]pub struct Notification {
pub event_id: Option<OwnedEventId>,
pub room_id: Option<OwnedRoomId>,
pub event_type: Option<TimelineEventType>,
pub sender: Option<OwnedUserId>,
pub sender_display_name: Option<String>,
pub room_name: Option<String>,
pub room_alias: Option<OwnedRoomAliasId>,
pub user_is_target: bool,
pub prio: NotificationPriority,
pub content: Option<Box<RawValue>>,
pub counts: NotificationCounts,
pub devices: Vec<Device>,
}api and (crate features push-gateway-api-c or push-gateway-api-s) only.Expand description
Type for passing information about a push notification
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.event_id: Option<OwnedEventId>The Matrix event ID of the event being notified about.
Required if the notification is about a particular Matrix event. May be omitted for notifications that only contain updated badge counts. This ID can and should be used to detect duplicate notification requests.
room_id: Option<OwnedRoomId>The ID of the room in which this event occurred.
Required if the notification relates to a specific Matrix event.
event_type: Option<TimelineEventType>The type of the event as in the event’s type field.
sender: Option<OwnedUserId>The sender of the event as in the corresponding event field.
sender_display_name: Option<String>The current display name of the sender in the room in which the event occurred.
room_name: Option<String>The name of the room in which the event occurred.
room_alias: Option<OwnedRoomAliasId>An alias to display for the room in which the event occurred.
user_is_target: boolWhether the user receiving the notification is the subject of a member event (i.e. the
state_key of the member event is equal to the user’s Matrix ID).
prio: NotificationPriorityThe priority of the notification.
If omitted, high is assumed. This may be used by push gateways to deliver less
time-sensitive notifications in a way that will preserve battery power on mobile
devices.
content: Option<Box<RawValue>>The content field from the event, if present.
The pusher may omit this if the event had no content or for any other reason.
counts: NotificationCountsCurrent number of unacknowledged communications for the recipient user.
Counts whose value is zero should be omitted.
devices: Vec<Device>An array of devices that the notification should be sent to.
Implementations§
Source§impl Notification
impl Notification
Sourcepub fn new(devices: Vec<Device>) -> Notification
pub fn new(devices: Vec<Device>) -> Notification
Create a new notification for the given devices.
Trait Implementations§
Source§impl Clone for Notification
impl Clone for Notification
Source§fn clone(&self) -> Notification
fn clone(&self) -> Notification
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Notification
impl Debug for Notification
Source§impl Default for Notification
impl Default for Notification
Source§fn default() -> Notification
fn default() -> Notification
Source§impl<'de> Deserialize<'de> for Notification
impl<'de> Deserialize<'de> for Notification
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Notification, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Notification, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for Notification
impl Serialize for Notification
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for Notification
impl RefUnwindSafe for Notification
impl Send for Notification
impl Sync for Notification
impl Unpin for Notification
impl UnsafeUnpin for Notification
impl UnwindSafe for Notification
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more