ffi: Replace EventTimelineItem::{raw, fmt_debug} by debug_info

This commit is contained in:
Jonas Platte
2023-04-05 09:40:24 +02:00
committed by Jonas Platte
parent 3ac6b10daa
commit ef3ffda2d3
2 changed files with 28 additions and 11 deletions

View File

@@ -120,12 +120,12 @@ mod uniffi_types {
},
timeline::{
AudioInfo, AudioMessageContent, EmoteMessageContent, EncryptedMessage, EventSendState,
EventTimelineItem, FileInfo, FileMessageContent, FormattedBody, ImageInfo,
ImageMessageContent, InsertData, MembershipChange, Message, MessageFormat, MessageType,
NoticeMessageContent, OtherState, ProfileTimelineDetails, Reaction, SetData,
TextMessageContent, ThumbnailInfo, TimelineChange, TimelineDiff, TimelineItem,
TimelineItemContent, TimelineItemContentKind, VideoInfo, VideoMessageContent,
VirtualTimelineItem,
EventTimelineItem, EventTimelineItemDebugInfo, FileInfo, FileMessageContent,
FormattedBody, ImageInfo, ImageMessageContent, InsertData, MembershipChange, Message,
MessageFormat, MessageType, NoticeMessageContent, OtherState, ProfileTimelineDetails,
Reaction, SetData, TextMessageContent, ThumbnailInfo, TimelineChange, TimelineDiff,
TimelineItem, TimelineItemContent, TimelineItemContentKind, VideoInfo,
VideoMessageContent, VirtualTimelineItem,
},
ClientError,
};

View File

@@ -304,8 +304,22 @@ impl EventTimelineItem {
}
}
pub fn raw(&self) -> Option<String> {
self.0.original_json().map(|r| r.json().get().to_owned())
pub fn debug_info(&self) -> EventTimelineItemDebugInfo {
use matrix_sdk::room::timeline::EventTimelineItem::*;
let (original_json, latest_edit_json) = match &self.0 {
Local(_) => (None, None),
Remote(event) => (
Some(event.original_json().json().get().to_owned()),
event.latest_edit_json().map(|raw| raw.json().get().to_owned()),
),
};
EventTimelineItemDebugInfo {
model: format!("{:#?}", self.0),
original_json,
latest_edit_json,
}
}
pub fn local_send_state(&self) -> Option<EventSendState> {
@@ -316,10 +330,13 @@ impl EventTimelineItem {
Remote(_) => None,
}
}
}
pub fn fmt_debug(&self) -> String {
format!("{:#?}", self.0)
}
#[derive(uniffi::Record)]
pub struct EventTimelineItemDebugInfo {
model: String,
original_json: Option<String>,
latest_edit_json: Option<String>,
}
#[derive(uniffi::Enum)]