pub struct SpaceRoom {Show 16 fields
pub room_id: OwnedRoomId,
pub canonical_alias: Option<OwnedRoomAliasId>,
pub name: Option<String>,
pub display_name: String,
pub topic: Option<String>,
pub avatar_url: Option<OwnedMxcUri>,
pub room_type: Option<RoomType>,
pub num_joined_members: u64,
pub join_rule: Option<JoinRuleSummary>,
pub world_readable: Option<bool>,
pub guest_can_join: bool,
pub is_direct: Option<bool>,
pub children_count: u64,
pub state: Option<RoomState>,
pub heroes: Option<Vec<RoomHero>>,
pub via: Vec<OwnedServerName>,
}
Expand description
Structure representing a room in a space and aggregated information relevant to the UI layer.
Fields§
§room_id: OwnedRoomId
The ID of the room.
canonical_alias: Option<OwnedRoomAliasId>
The canonical alias of the room, if any.
name: Option<String>
The name of the room, if any.
display_name: String
Calculated display name based on the room’s name, aliases, and members.
topic: Option<String>
The topic of the room, if any.
avatar_url: Option<OwnedMxcUri>
The URL for the room’s avatar, if one is set.
room_type: Option<RoomType>
The type of room from m.room.create
, if any.
num_joined_members: u64
The number of members joined to the room.
join_rule: Option<JoinRuleSummary>
The join rule of the room.
world_readable: Option<bool>
Whether the room may be viewed by users without joining.
guest_can_join: bool
Whether guest users may join the room and participate in it.
is_direct: Option<bool>
Whether this room is a direct room.
Only set if the room is known to the client otherwise we assume DMs shouldn’t be exposed publicly in spaces.
children_count: u64
The number of children room this has, if a space.
state: Option<RoomState>
Whether this room is joined, left etc.
heroes: Option<Vec<RoomHero>>
A list of room members considered to be heroes.
via: Vec<OwnedServerName>
The via parameters of the room.
Trait Implementations§
impl StructuralPartialEq for SpaceRoom
Auto Trait Implementations§
impl Freeze for SpaceRoom
impl RefUnwindSafe for SpaceRoom
impl Send for SpaceRoom
impl Sync for SpaceRoom
impl Unpin for SpaceRoom
impl UnwindSafe for SpaceRoom
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> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more