#[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: boolWhether or not this room’s data should be transferred to other homeservers.
room_version: RoomVersionIdThe 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,
Source§impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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