Struct RoomCreateEventContent
#[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>,
pub additional_creators: Vec<OwnedUserId>,
}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.
With the compat-lax-room-create-deser cargo feature, this field is ignored if its
deserialization fails.
room_type: Option<RoomType>The room type.
This is currently only used for spaces.
additional_creators: Vec<OwnedUserId>Additional room creators, considered to have “infinite” power level, in room version 12 onwards.
Implementations§
§impl RoomCreateEventContent
impl RoomCreateEventContent
pub 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.
pub 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§
§impl Clone for RoomCreateEventContent
impl Clone for RoomCreateEventContent
§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 more§impl Debug for RoomCreateEventContent
impl Debug for RoomCreateEventContent
§impl<'de> Deserialize<'de> for RoomCreateEventContent
impl<'de> Deserialize<'de> for RoomCreateEventContent
§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>,
§impl From<RoomCreateEventContent> for AnyStateEventContent
impl From<RoomCreateEventContent> for AnyStateEventContent
§fn from(c: RoomCreateEventContent) -> AnyStateEventContent
fn from(c: RoomCreateEventContent) -> AnyStateEventContent
§impl PossiblyRedactedStateEventContent for RoomCreateEventContent
impl PossiblyRedactedStateEventContent for RoomCreateEventContent
§type StateKey = EmptyStateKey
type StateKey = EmptyStateKey
state_key field.§fn event_type(&self) -> StateEventType
fn event_type(&self) -> StateEventType
m.room.name.§impl RedactContent for RoomCreateEventContent
impl RedactContent for RoomCreateEventContent
§type Redacted = RoomCreateEventContent
type Redacted = RoomCreateEventContent
§fn redact(
self,
rules: &RedactionRules,
) -> <RoomCreateEventContent as RedactContent>::Redacted
fn redact( self, rules: &RedactionRules, ) -> <RoomCreateEventContent as RedactContent>::Redacted
self into a redacted form (removing most or all fields) according to the spec. Read more§impl RedactedStateEventContent for RoomCreateEventContent
impl RedactedStateEventContent for RoomCreateEventContent
§type StateKey = EmptyStateKey
type StateKey = EmptyStateKey
state_key field.§fn event_type(&self) -> StateEventType
fn event_type(&self) -> StateEventType
m.room.name.§impl Serialize for RoomCreateEventContent
impl Serialize for RoomCreateEventContent
§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,
§impl StateEventContent for RoomCreateEventContent
impl StateEventContent for RoomCreateEventContent
§type StateKey = EmptyStateKey
type StateKey = EmptyStateKey
state_key field.§fn event_type(&self) -> StateEventType
fn event_type(&self) -> StateEventType
m.room.name.§impl StaticStateEventContent for RoomCreateEventContent
impl StaticStateEventContent for RoomCreateEventContent
§type PossiblyRedacted = RoomCreateEventContent
type PossiblyRedacted = RoomCreateEventContent
§type Unsigned = StateUnsigned<<RoomCreateEventContent as StaticStateEventContent>::PossiblyRedacted>
type Unsigned = StateUnsigned<<RoomCreateEventContent as StaticStateEventContent>::PossiblyRedacted>
unsigned field.impl JsonCastable<AnyStateEventContent> for RoomCreateEventContent
impl JsonCastable<Map<String, Value>> for RoomCreateEventContent
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
§impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
§fn deserialise_from_js(js: JsValue) -> Result<T, Error>
fn deserialise_from_js(js: JsValue) -> Result<T, Error>
serde_wasm_bindgen.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
§impl<T> EventContentFromType for Twhere
T: StaticEventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: StaticEventContent + DeserializeOwned,
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> SerialiseToJs for Twhere
T: Serialize,
impl<T> SerialiseToJs for Twhere
T: Serialize,
§fn serialise_to_js(&self) -> Result<JsValue, Error>
fn serialise_to_js(&self) -> Result<JsValue, Error>
JsValue, most likely using serde_wasm_bindgen.