feat(ffi): Rename TimelineError to MediaInfoError.

The `TimelineError` type only contains error variants used for
`ImageInfo`, `AudioInfo`, `VideoInfo`, `FileInfo` and so on. It's never
used for something strictly related to the `Timeline`.

This patch then renames `TimelineError` to `MediaInfoError`.
The `MissingMediaInfoField` variant becomes `MediaField`. The
`InvalidMediaInfoField` becomes `InvalidField`.
This commit is contained in:
Ivan Enderlin
2023-09-20 09:58:17 +02:00
parent 31cb34f909
commit dfdc32f89a
2 changed files with 40 additions and 40 deletions

View File

@@ -119,11 +119,11 @@ pub enum RoomError {
#[derive(Debug, thiserror::Error, uniffi::Error)]
#[uniffi(flat_error)]
pub enum TimelineError {
pub enum MediaInfoError {
#[error("Required value missing from the media info")]
MissingMediaInfoField,
MissingField,
#[error("Media info field invalid")]
InvalidMediaInfoField,
InvalidField,
}
#[derive(Debug, thiserror::Error, uniffi::Error)]

View File

@@ -36,7 +36,7 @@ use ruma::{assign, UInt};
use tracing::{info, warn};
use crate::{
error::{ClientError, TimelineError},
error::{ClientError, MediaInfoError},
helpers::unwrap_or_clone_arc,
room::AssetType,
};
@@ -733,16 +733,16 @@ impl From<ImageInfo> for RumaImageInfo {
}
impl TryFrom<&ImageInfo> for BaseImageInfo {
type Error = TimelineError;
type Error = MediaInfoError;
fn try_from(value: &ImageInfo) -> Result<Self, TimelineError> {
let height = UInt::try_from(value.height.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let width = UInt::try_from(value.width.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let size = UInt::try_from(value.size.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let blurhash = value.blurhash.clone().ok_or(TimelineError::MissingMediaInfoField)?;
fn try_from(value: &ImageInfo) -> Result<Self, MediaInfoError> {
let height = UInt::try_from(value.height.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let width = UInt::try_from(value.width.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let size = UInt::try_from(value.size.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let blurhash = value.blurhash.clone().ok_or(MediaInfoError::MissingField)?;
Ok(BaseImageInfo {
height: Some(height),
@@ -771,12 +771,12 @@ impl From<AudioInfo> for RumaAudioInfo {
}
impl TryFrom<&AudioInfo> for BaseAudioInfo {
type Error = TimelineError;
type Error = MediaInfoError;
fn try_from(value: &AudioInfo) -> Result<Self, TimelineError> {
let duration = value.duration.ok_or(TimelineError::MissingMediaInfoField)?;
let size = UInt::try_from(value.size.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
fn try_from(value: &AudioInfo) -> Result<Self, MediaInfoError> {
let duration = value.duration.ok_or(MediaInfoError::MissingField)?;
let size = UInt::try_from(value.size.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
Ok(BaseAudioInfo { duration: Some(duration), size: Some(size) })
}
@@ -838,17 +838,17 @@ impl From<VideoInfo> for RumaVideoInfo {
}
impl TryFrom<&VideoInfo> for BaseVideoInfo {
type Error = TimelineError;
type Error = MediaInfoError;
fn try_from(value: &VideoInfo) -> Result<Self, TimelineError> {
let duration = value.duration.ok_or(TimelineError::MissingMediaInfoField)?;
let height = UInt::try_from(value.height.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let width = UInt::try_from(value.width.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let size = UInt::try_from(value.size.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let blurhash = value.blurhash.clone().ok_or(TimelineError::MissingMediaInfoField)?;
fn try_from(value: &VideoInfo) -> Result<Self, MediaInfoError> {
let duration = value.duration.ok_or(MediaInfoError::MissingField)?;
let height = UInt::try_from(value.height.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let width = UInt::try_from(value.width.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let size = UInt::try_from(value.size.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let blurhash = value.blurhash.clone().ok_or(MediaInfoError::MissingField)?;
Ok(BaseVideoInfo {
duration: Some(duration),
@@ -880,11 +880,11 @@ impl From<FileInfo> for RumaFileInfo {
}
impl TryFrom<&FileInfo> for BaseFileInfo {
type Error = TimelineError;
type Error = MediaInfoError;
fn try_from(value: &FileInfo) -> Result<Self, TimelineError> {
let size = UInt::try_from(value.size.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
fn try_from(value: &FileInfo) -> Result<Self, MediaInfoError> {
let size = UInt::try_from(value.size.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
Ok(BaseFileInfo { size: Some(size) })
}
@@ -910,15 +910,15 @@ impl From<ThumbnailInfo> for RumaThumbnailInfo {
}
impl TryFrom<&ThumbnailInfo> for BaseThumbnailInfo {
type Error = TimelineError;
type Error = MediaInfoError;
fn try_from(value: &ThumbnailInfo) -> Result<Self, TimelineError> {
let height = UInt::try_from(value.height.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let width = UInt::try_from(value.width.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
let size = UInt::try_from(value.size.ok_or(TimelineError::MissingMediaInfoField)?)
.map_err(|_| TimelineError::InvalidMediaInfoField)?;
fn try_from(value: &ThumbnailInfo) -> Result<Self, MediaInfoError> {
let height = UInt::try_from(value.height.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let width = UInt::try_from(value.width.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
let size = UInt::try_from(value.size.ok_or(MediaInfoError::MissingField)?)
.map_err(|_| MediaInfoError::InvalidField)?;
Ok(BaseThumbnailInfo { height: Some(height), width: Some(width), size: Some(size) })
}