Struct VideoMessageEventContent
#[non_exhaustive]pub struct VideoMessageEventContent {
pub body: String,
pub formatted: Option<FormattedBody>,
pub filename: Option<String>,
pub source: MediaSource,
pub info: Option<Box<VideoInfo>>,
}Expand description
The payload for a video message.
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.body: StringA description of the video.
If the filename field is not set or has the same value, this is the filename of the
uploaded file. Otherwise, this should be interpreted as a user-written media caption.
formatted: Option<FormattedBody>Formatted form of the message body.
This should only be set if the body represents a caption.
filename: Option<String>The original filename of the uploaded file as deserialized from the event.
It is recommended to use the filename method to get the filename which automatically
falls back to the body field when the filename field is not set.
source: MediaSourceThe source of the video clip.
info: Option<Box<VideoInfo>>Metadata about the video clip referred to in source.
Implementations§
§impl VideoMessageEventContent
impl VideoMessageEventContent
pub fn new(body: String, source: MediaSource) -> VideoMessageEventContent
pub fn new(body: String, source: MediaSource) -> VideoMessageEventContent
Creates a new VideoMessageEventContent with the given body and source.
pub fn plain(body: String, url: OwnedMxcUri) -> VideoMessageEventContent
pub fn plain(body: String, url: OwnedMxcUri) -> VideoMessageEventContent
Creates a new non-encrypted VideoMessageEventContent with the given body and url.
pub fn encrypted(body: String, file: EncryptedFile) -> VideoMessageEventContent
pub fn encrypted(body: String, file: EncryptedFile) -> VideoMessageEventContent
Creates a new encrypted VideoMessageEventContent with the given body and encrypted
file.
pub fn info(
self,
info: impl Into<Option<Box<VideoInfo>>>,
) -> VideoMessageEventContent
pub fn info( self, info: impl Into<Option<Box<VideoInfo>>>, ) -> VideoMessageEventContent
Creates a new VideoMessageEventContent from self with the info field set to the given
value.
Since the field is public, you can also assign to it directly. This method merely acts as a shorthand for that, because it is very common to set this field.
pub fn filename(&self) -> &str
pub fn filename(&self) -> &str
Computes the filename of the video as defined by the spec.
This differs from the filename field as this method falls back to the body field when
the filename field is not set.
pub fn caption(&self) -> Option<&str>
pub fn caption(&self) -> Option<&str>
Returns the caption of the video as defined by the spec.
In short, this is the body field if the filename field exists and has a different value,
otherwise the media file does not have a caption.
pub fn formatted_caption(&self) -> Option<&FormattedBody>
pub fn formatted_caption(&self) -> Option<&FormattedBody>
Returns the formatted caption of the video as defined by the spec.
This is the same as caption, but returns the formatted body instead of the plain body.
Trait Implementations§
§impl Clone for VideoMessageEventContent
impl Clone for VideoMessageEventContent
§fn clone(&self) -> VideoMessageEventContent
fn clone(&self) -> VideoMessageEventContent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for VideoMessageEventContent
impl Debug for VideoMessageEventContent
§impl<'de> Deserialize<'de> for VideoMessageEventContent
impl<'de> Deserialize<'de> for VideoMessageEventContent
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<VideoMessageEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<VideoMessageEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl MediaEventContent for VideoMessageEventContent
impl MediaEventContent for VideoMessageEventContent
Source§fn thumbnail_source(&self) -> Option<MediaSource>
fn thumbnail_source(&self) -> Option<MediaSource>
Self. Read more§impl Serialize for VideoMessageEventContent
impl Serialize for VideoMessageEventContent
§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,
Auto Trait Implementations§
impl Freeze for VideoMessageEventContent
impl RefUnwindSafe for VideoMessageEventContent
impl Send for VideoMessageEventContent
impl Sync for VideoMessageEventContent
impl Unpin for VideoMessageEventContent
impl UnwindSafe for VideoMessageEventContent
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
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 more