[][src]Struct ruma_client_api::r0::filter::FilterDefinition

#[non_exhaustive]pub struct FilterDefinition<'a> {
    pub event_fields: Option<&'a [String]>,
    pub event_format: EventFormat,
    pub presence: Filter<'a>,
    pub account_data: Filter<'a>,
    pub room: RoomFilter<'a>,
}

A filter definition

Fields (Non-exhaustive)

Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
event_fields: Option<&'a [String]>

List of event fields to include.

If this list is absent then all fields are included. The entries may include '.' characters to indicate sub-fields. So ['content.body'] will include the 'body' field of the 'content' object. A literal '.' character in a field name may be escaped using a ''. A server may include more fields than were requested.

event_format: EventFormat

The format to use for events.

'client' will return the events in a format suitable for clients. 'federation' will return the raw event as received over federation. The default is 'client'.

presence: Filter<'a>

The presence updates to include.

account_data: Filter<'a>

The user account data that isn't associated with rooms to include.

room: RoomFilter<'a>

Filters to be applied to room data.

Implementations

impl<'a> FilterDefinition<'a>[src]

pub fn empty() -> Self[src]

Creates an empty FilterDefinition.

You can also use the Default implementation.

pub fn ignore_all() -> Self[src]

Creates a FilterDefinition that can be used to ignore all events.

pub fn is_empty(&self) -> bool[src]

Returns true if all fields are empty.

Trait Implementations

impl<'a> CanBeEmpty for FilterDefinition<'a>[src]

impl<'a> Clone for FilterDefinition<'a>[src]

impl<'a> Debug for FilterDefinition<'a>[src]

impl<'a> Default for FilterDefinition<'a>[src]

impl<'a> From<FilterDefinition<'a>> for Filter<'a>[src]

impl<'a> Outgoing for FilterDefinition<'a>[src]

type Incoming = IncomingFilterDefinition

The 'Incoming' variant of Self.

impl<'a> Serialize for FilterDefinition<'a>[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.