#[non_exhaustive]pub struct ProtocolInstance {
    pub desc: String,
    pub icon: Option<String>,
    pub fields: BTreeMap<String, String>,
    pub network_id: String,
    pub instance_id: Option<String>,
}Expand description
Metadata about an instance of a third party protocol, as returned by a homeserver to a client.
To create an instance of this type, first create a ProtocolInstanceInit or an
AppserviceProtocolInstance and convert it via ProtocolInstance::from / .into().
Fields (Non-exhaustive)§
This struct is marked as 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.desc: StringA human-readable description for the protocol, such as the name.
icon: Option<String>An optional content URI representing the protocol.
fields: BTreeMap<String, String>Preset values for fields the client may use to search by.
network_id: StringA unique identifier across all instances.
instance_id: Option<String>A unique identifier for this instance on the homeserver.
This is a field added by the homeserver to AppserviceProtocolInstance. It can be used as
the value of RoomNetwork::ThirdParty in a request to the get_public_rooms_filtered
endpoint.
Trait Implementations§
Source§impl Clone for ProtocolInstance
 
impl Clone for ProtocolInstance
Source§fn clone(&self) -> ProtocolInstance
 
fn clone(&self) -> ProtocolInstance
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl Debug for ProtocolInstance
 
impl Debug for ProtocolInstance
Source§impl<'de> Deserialize<'de> for ProtocolInstance
 
impl<'de> Deserialize<'de> for ProtocolInstance
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<ProtocolInstance, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<ProtocolInstance, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<AppserviceProtocolInstance> for ProtocolInstance
 
impl From<AppserviceProtocolInstance> for ProtocolInstance
Source§fn from(value: AppserviceProtocolInstance) -> ProtocolInstance
 
fn from(value: AppserviceProtocolInstance) -> ProtocolInstance
Converts to this type from the input type.
Source§impl From<ProtocolInstanceInit> for ProtocolInstance
 
impl From<ProtocolInstanceInit> for ProtocolInstance
Source§fn from(init: ProtocolInstanceInit) -> ProtocolInstance
 
fn from(init: ProtocolInstanceInit) -> ProtocolInstance
Converts to this type from the input type.
Source§impl Serialize for ProtocolInstance
 
impl Serialize for ProtocolInstance
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ProtocolInstance
impl RefUnwindSafe for ProtocolInstance
impl Send for ProtocolInstance
impl Sync for ProtocolInstance
impl Unpin for ProtocolInstance
impl UnwindSafe for ProtocolInstance
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
Mutably borrows from an owned value. Read more