pub struct RoomInfo { /* private fields */ }
Expand description

The underlying pure data structure for joined and left rooms.

Holds all the info needed to persist a room into the state store.

Implementations§

source§

impl RoomInfo

source

pub fn mark_as_joined(&mut self)

Mark this Room as joined.

source

pub fn mark_as_left(&mut self)

Mark this Room as left.

source

pub fn mark_as_invited(&mut self)

Mark this Room as invited.

source

pub fn set_state(&mut self, room_state: RoomState)

Set the membership RoomState of this Room

source

pub fn mark_members_synced(&mut self)

Mark this Room as having all the members synced.

source

pub fn mark_members_missing(&mut self)

Mark this Room as still missing member information.

source

pub fn mark_state_partially_synced(&mut self)

Mark this Room as still missing some state information.

source

pub fn mark_state_fully_synced(&mut self)

Mark this Room as still having all state synced.

source

pub fn mark_state_not_synced(&mut self)

Mark this Room as still having no state synced.

source

pub fn mark_encryption_state_synced(&mut self)

Mark this Room as having the encryption state synced.

source

pub fn mark_encryption_state_missing(&mut self)

Mark this Room as still missing encryption state information.

source

pub fn set_prev_batch(&mut self, prev_batch: Option<&str>) -> bool

Set the prev_batch-token. Returns whether the token has differed and thus has been upgraded: false means no update was applied as the were the same

source

pub fn state(&self) -> RoomState

Returns the state this room is in.

source

pub fn is_encrypted(&self) -> bool

Returns whether this is an encrypted room.

source

pub fn set_encryption_event( &mut self, event: Option<RoomEncryptionEventContent> )

Set the encryption event content in this room.

source

pub fn handle_state_event(&mut self, event: &AnySyncStateEvent) -> bool

Handle the given state event.

Returns true if the event modified the info, false otherwise.

source

pub fn handle_stripped_state_event( &mut self, event: &AnyStrippedStateEvent ) -> bool

Handle the given stripped state event.

Returns true if the event modified the info, false otherwise.

source

pub fn handle_redaction( &mut self, event: &SyncRoomRedactionEvent, _raw: &Raw<SyncRoomRedactionEvent> )

Handle the given redaction.

source

pub fn update_name(&mut self, name: String)

Update the room name

source

pub fn update_notification_count( &mut self, notification_counts: UnreadNotificationsCount )

Update the notifications count

source

pub fn update_summary(&mut self, summary: &RumaSummary) -> bool

Update the RoomSummary

Returns true if the Summary modified the info, false otherwise.

source

pub fn active_members_count(&self) -> u64

The number of active members (invited + joined) in the room.

The return value is saturated at u64::MAX.

source

pub fn invited_members_count(&self) -> u64

The number of invited members in the room

source

pub fn joined_members_count(&self) -> u64

The number of joined members in the room

source

pub fn canonical_alias(&self) -> Option<&RoomAliasId>

Get the canonical alias of this room.

source

pub fn alt_aliases(&self) -> &[OwnedRoomAliasId]

Get the alternative aliases of this room.

source

pub fn room_id(&self) -> &RoomId

Get the room ID of this room.

source

pub fn room_version(&self) -> Option<&RoomVersionId>

Get the room version of this room.

source

pub fn room_type(&self) -> Option<&RoomType>

Get the room type of this room.

source

pub fn creator(&self) -> Option<&UserId>

Get the creator of this room.

source

pub fn name(&self) -> Option<&str>

Get the name of this room.

source

pub fn has_active_room_call(&self) -> bool

Is there a non expired membership with application “m.call” and scope “m.room” in this room.

source

pub fn active_room_call_participants(&self) -> Vec<OwnedUserId>

Returns a Vec of userId’s that participate in the room call.

matrix_rtc memberships with application “m.call” and scope “m.room” are considered. A user can occur twice if they join with two devices. convert to a set depending if the different users are required or the amount of sessions.

The vector is ordered by oldest membership user to newest.

Trait Implementations§

source§

impl Clone for RoomInfo

source§

fn clone(&self) -> RoomInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RoomInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for RoomInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for RoomInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

impl<T> Identity for T
where T: ?Sized,

§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> AsyncTraitDeps for T

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> SendOutsideWasm for T
where T: Send,

source§

impl<T> SyncOutsideWasm for T
where T: Sync,