#[non_exhaustive]pub enum JoinRule {
Invite,
Knock,
Private,
Restricted(Restricted),
KnockRestricted(Restricted),
Public,
}
Expand description
The rule used for users wishing to join this room.
This type can hold an arbitrary string. To check for values that are not available as a
documented variant here, use its string representation, obtained through .as_str()
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Invite
A user who wishes to join the room must first receive an invite to the room from someone already inside of the room.
Knock
Users can join the room if they are invited, or they can request an invite to the room.
They can be allowed (invited) or denied (kicked/banned) access.
Private
Reserved but not yet implemented by the Matrix specification.
Restricted(Restricted)
Users can join the room if they are invited, or if they meet any of the conditions
described in a set of AllowRule
s.
KnockRestricted(Restricted)
Users can join the room if they are invited, or if they meet any of the conditions
described in a set of AllowRule
s, or they can request an invite to the room.
Public
Anyone can join the room without any prior action.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for JoinRule
impl<'de> Deserialize<'de> for JoinRule
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
impl Eq for JoinRule
impl StructuralPartialEq for JoinRule
Auto Trait Implementations§
impl Freeze for JoinRule
impl RefUnwindSafe for JoinRule
impl Send for JoinRule
impl Sync for JoinRule
impl Unpin for JoinRule
impl UnwindSafe for JoinRule
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.