Struct ruma_common::thirdparty::Protocol [−][src]
#[non_exhaustive]pub struct Protocol { pub user_fields: Vec<String>, pub location_fields: Vec<String>, pub icon: String, pub field_types: BTreeMap<String, FieldType>, pub instances: Vec<ProtocolInstance>, }
Metadata about a third party protocol.
To create an instance of this type, first create a ProtocolInit and convert it via
Protocol::from / .into().
Fields (Non-exhaustive)
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct {{ .. }} syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.user_fields: Vec<String>Fields which may be used to identify a third party user.
location_fields: Vec<String>Fields which may be used to identify a third party location.
icon: StringA content URI representing an icon for the third party protocol.
If you activate the compat feature, this field being absent in JSON will give you an
empty string here.
field_types: BTreeMap<String, FieldType>The type definitions for the fields defined in user_fields and location_fields.
instances: Vec<ProtocolInstance>A list of objects representing independent instances of configuration.
Trait Implementations
impl Clone for Protocol[src]
impl Debug for Protocol[src]
impl<'de> Deserialize<'de> for Protocol[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,
impl From<ProtocolInit> for Protocol[src]
fn from(init: ProtocolInit) -> Self[src]
impl Serialize for Protocol[src]
Auto Trait Implementations
impl RefUnwindSafe for Protocol
impl Send for Protocol
impl Sync for Protocol
impl Unpin for Protocol
impl UnwindSafe for Protocol
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T[src]
impl<T> Instrument for T[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,