Struct CallHangupEventContent
#[non_exhaustive]pub struct CallHangupEventContent {
pub call_id: OwnedVoipId,
pub party_id: Option<OwnedVoipId>,
pub version: VoipVersionId,
pub reason: Reason,
}Expand description
The content of an m.call.hangup event.
Sent by either party to signal their termination of the call.
In VoIP version 0, this can be sent either once the call has been established or before to abort the call.
If the call is using VoIP version 1, this should only be sent by the caller after sending the
invite or by the callee after answering the invite. To reject an invite, send an
m.call.reject event.
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.call_id: OwnedVoipIdA unique identifier for the call.
party_id: Option<OwnedVoipId>Required in VoIP version 1. A unique ID for this session for the duration of the call.
Must be the same as the one sent by the previous invite or answer from this session.
version: VoipVersionIdThe version of the VoIP specification this messages adheres to.
reason: ReasonError reason for the hangup.
Defaults to Reason::UserHangup.
Implementations§
§impl CallHangupEventContent
impl CallHangupEventContent
pub fn new(
call_id: OwnedVoipId,
version: VoipVersionId,
) -> CallHangupEventContent
pub fn new( call_id: OwnedVoipId, version: VoipVersionId, ) -> CallHangupEventContent
Creates a new CallHangupEventContent with the given call ID and VoIP version.
pub fn version_0(call_id: OwnedVoipId) -> CallHangupEventContent
pub fn version_0(call_id: OwnedVoipId) -> CallHangupEventContent
Convenience method to create a VoIP version 0 CallHangupEventContent with all the required
fields.
pub fn version_1(
call_id: OwnedVoipId,
party_id: OwnedVoipId,
reason: Reason,
) -> CallHangupEventContent
pub fn version_1( call_id: OwnedVoipId, party_id: OwnedVoipId, reason: Reason, ) -> CallHangupEventContent
Convenience method to create a VoIP version 1 CallHangupEventContent with all the required
fields.
Trait Implementations§
§impl Clone for CallHangupEventContent
impl Clone for CallHangupEventContent
§fn clone(&self) -> CallHangupEventContent
fn clone(&self) -> CallHangupEventContent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for CallHangupEventContent
impl Debug for CallHangupEventContent
§impl<'de> Deserialize<'de> for CallHangupEventContent
impl<'de> Deserialize<'de> for CallHangupEventContent
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CallHangupEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CallHangupEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl From<CallHangupEventContent> for AnyMessageLikeEventContent
impl From<CallHangupEventContent> for AnyMessageLikeEventContent
§fn from(c: CallHangupEventContent) -> AnyMessageLikeEventContent
fn from(c: CallHangupEventContent) -> AnyMessageLikeEventContent
§impl MessageLikeEventContent for CallHangupEventContent
impl MessageLikeEventContent for CallHangupEventContent
§fn event_type(&self) -> MessageLikeEventType
fn event_type(&self) -> MessageLikeEventType
m.room.message.§impl RedactContent for CallHangupEventContent
impl RedactContent for CallHangupEventContent
§type Redacted = RedactedCallHangupEventContent
type Redacted = RedactedCallHangupEventContent
§fn redact(self, _rules: &RedactionRules) -> RedactedCallHangupEventContent
fn redact(self, _rules: &RedactionRules) -> RedactedCallHangupEventContent
self into a redacted form (removing most or all fields) according to the spec. Read more§impl Serialize for CallHangupEventContent
impl Serialize for CallHangupEventContent
§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 JsonCastable<AnyMessageLikeEventContent> for CallHangupEventContent
impl JsonCastable<Map<String, Value>> for CallHangupEventContent
impl JsonCastable<RedactedCallHangupEventContent> for CallHangupEventContent
Auto Trait Implementations§
impl Freeze for CallHangupEventContent
impl RefUnwindSafe for CallHangupEventContent
impl Send for CallHangupEventContent
impl Sync for CallHangupEventContent
impl Unpin for CallHangupEventContent
impl UnwindSafe for CallHangupEventContent
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.