#[non_exhaustive]pub struct RoomCreateEventContent {
pub creator: Option<OwnedUserId>,
pub federate: bool,
pub room_version: RoomVersionId,
pub predecessor: Option<PreviousRoom>,
pub room_type: Option<RoomType>,
}
Expand description
The content of an m.room.create
event.
This is the first event in a room and cannot be changed.
It acts as the root of all other events.
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.creator: Option<OwnedUserId>
The user_id
of the room creator.
This is set by the homeserver.
This is required in room versions 1 trough 10, but is removed starting from room version 11.
federate: bool
Whether or not this room’s data should be transferred to other homeservers.
room_version: RoomVersionId
The version of the room.
Defaults to RoomVersionId::V1
.
predecessor: Option<PreviousRoom>
A reference to the room this room replaces, if the previous room was upgraded.
room_type: Option<RoomType>
The room type.
This is currently only used for spaces.
Implementations§
Source§impl RoomCreateEventContent
impl RoomCreateEventContent
Sourcepub fn new_v1(creator: OwnedUserId) -> RoomCreateEventContent
pub fn new_v1(creator: OwnedUserId) -> RoomCreateEventContent
Creates a new RoomCreateEventContent
with the given creator, as required for room versions
1 through 10.
Sourcepub fn new_v11() -> RoomCreateEventContent
pub fn new_v11() -> RoomCreateEventContent
Creates a new RoomCreateEventContent
with the default values and no creator, as introduced
in room version 11.
The room version is set to RoomVersionId::V11
.
Trait Implementations§
Source§impl Clone for RoomCreateEventContent
impl Clone for RoomCreateEventContent
Source§fn clone(&self) -> RoomCreateEventContent
fn clone(&self) -> RoomCreateEventContent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RoomCreateEventContent
impl Debug for RoomCreateEventContent
Source§impl<'de> Deserialize<'de> for RoomCreateEventContent
impl<'de> Deserialize<'de> for RoomCreateEventContent
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomCreateEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomCreateEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl EventContent for RoomCreateEventContent
impl EventContent for RoomCreateEventContent
Source§type EventType = StateEventType
type EventType = StateEventType
Source§fn event_type(&self) -> <RoomCreateEventContent as EventContent>::EventType
fn event_type(&self) -> <RoomCreateEventContent as EventContent>::EventType
m.room.message
.Source§impl From<RoomCreateEventContent> for AnyStateEventContent
impl From<RoomCreateEventContent> for AnyStateEventContent
Source§fn from(c: RoomCreateEventContent) -> AnyStateEventContent
fn from(c: RoomCreateEventContent) -> AnyStateEventContent
Source§impl PossiblyRedactedStateEventContent for RoomCreateEventContent
impl PossiblyRedactedStateEventContent for RoomCreateEventContent
Source§type StateKey = EmptyStateKey
type StateKey = EmptyStateKey
state_key
field.Source§impl RedactContent for RoomCreateEventContent
impl RedactContent for RoomCreateEventContent
Source§type Redacted = RoomCreateEventContent
type Redacted = RoomCreateEventContent
Source§fn redact(
self,
version: &RoomVersionId,
) -> <RoomCreateEventContent as RedactContent>::Redacted
fn redact( self, version: &RoomVersionId, ) -> <RoomCreateEventContent as RedactContent>::Redacted
self
into a redacted form (removing most or all fields) according to the spec. Read moreSource§impl RedactedStateEventContent for RoomCreateEventContent
impl RedactedStateEventContent for RoomCreateEventContent
Source§type StateKey = EmptyStateKey
type StateKey = EmptyStateKey
state_key
field.Source§impl Serialize for RoomCreateEventContent
impl Serialize for RoomCreateEventContent
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,
Source§impl StateEventContent for RoomCreateEventContent
impl StateEventContent for RoomCreateEventContent
Source§type StateKey = EmptyStateKey
type StateKey = EmptyStateKey
state_key
field.Source§impl StaticStateEventContent for RoomCreateEventContent
impl StaticStateEventContent for RoomCreateEventContent
Source§type PossiblyRedacted = RoomCreateEventContent
type PossiblyRedacted = RoomCreateEventContent
Source§type Unsigned = StateUnsigned<<RoomCreateEventContent as StaticStateEventContent>::PossiblyRedacted>
type Unsigned = StateUnsigned<<RoomCreateEventContent as StaticStateEventContent>::PossiblyRedacted>
unsigned
field.Auto Trait Implementations§
impl Freeze for RoomCreateEventContent
impl RefUnwindSafe for RoomCreateEventContent
impl Send for RoomCreateEventContent
impl Sync for RoomCreateEventContent
impl Unpin for RoomCreateEventContent
impl UnwindSafe for RoomCreateEventContent
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> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
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