Struct ruma_common::thirdparty::Protocol
source · [−]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>,
}Expand description
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
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 result in an
empty string here during deserialization.
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
sourceimpl<'de> Deserialize<'de> for Protocol
impl<'de> Deserialize<'de> for Protocol
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<ProtocolInit> for Protocol
impl From<ProtocolInit> for Protocol
sourcefn from(init: ProtocolInit) -> Self
fn from(init: ProtocolInit) -> Self
Converts to this type from the input type.
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
