From 576fac99db23a93b04879baafe7e00a48062e577 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Wed, 26 Apr 2023 16:08:06 +0200 Subject: [PATCH] feat(sdk): Update the FFI layer to latest commits. --- bindings/matrix-sdk-ffi/src/client.rs | 11 +++++++++- bindings/matrix-sdk-ffi/src/sliding_sync.rs | 23 ++++++--------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/bindings/matrix-sdk-ffi/src/client.rs b/bindings/matrix-sdk-ffi/src/client.rs index bff556779..19ca66c4d 100644 --- a/bindings/matrix-sdk-ffi/src/client.rs +++ b/bindings/matrix-sdk-ffi/src/client.rs @@ -1,4 +1,7 @@ -use std::sync::{Arc, RwLock}; +use std::{ + fmt, + sync::{Arc, RwLock}, +}; use anyhow::{anyhow, Context}; use eyeball::shared::Observable as SharedObservable; @@ -118,6 +121,12 @@ pub struct Client { pub(crate) sliding_sync_reset_broadcast_tx: Arc>, } +impl fmt::Debug for Client { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + formatter.debug_struct("Client").field("client", &self.client).finish_non_exhaustive() + } +} + impl Client { pub fn new(client: MatrixClient) -> Self { let session_verification_controller: Arc< diff --git a/bindings/matrix-sdk-ffi/src/sliding_sync.rs b/bindings/matrix-sdk-ffi/src/sliding_sync.rs index 67c391a25..564233613 100644 --- a/bindings/matrix-sdk-ffi/src/sliding_sync.rs +++ b/bindings/matrix-sdk-ffi/src/sliding_sync.rs @@ -485,11 +485,6 @@ impl SlidingSyncListBuilder { Arc::new(builder) } - pub fn build(self: Arc) -> Result, ClientError> { - let builder = unwrap_or_clone_arc(self); - Ok(Arc::new(builder.inner.build()?.into())) - } - pub fn sort(self: Arc, sort: Vec) -> Arc { let mut builder = unwrap_or_clone_arc(self); builder.inner = builder.inner.sort(sort); @@ -565,7 +560,7 @@ impl SlidingSyncListBuilder { } } -#[derive(Clone, uniffi::Object)] +#[derive(uniffi::Object)] pub struct SlidingSyncList { inner: matrix_sdk::SlidingSyncList, } @@ -745,13 +740,8 @@ impl SlidingSync { .collect()) } - #[allow(clippy::significant_drop_in_scrutinee)] - pub fn get_list(&self, name: String) -> Option> { - self.inner.list(&name).map(|inner| Arc::new(SlidingSyncList { inner })) - } - - pub fn add_list(&self, list: Arc) -> Option> { - self.inner.add_list(list.inner.clone()).map(|inner| Arc::new(SlidingSyncList { inner })) + pub fn add_list(&self, list_builder: Arc) { + self.inner.add_list(unwrap_or_clone_arc(list_builder).inner).unwrap(); } pub fn add_common_extensions(&self) { @@ -798,7 +788,7 @@ impl SlidingSync { } } -#[derive(Clone, uniffi::Object)] +#[derive(Debug, Clone, uniffi::Object)] pub struct SlidingSyncBuilder { inner: MatrixSlidingSyncBuilder, client: Client, @@ -818,10 +808,9 @@ impl SlidingSyncBuilder { Arc::new(builder) } - pub fn add_list(self: Arc, v: Arc) -> Arc { + pub fn add_list(self: Arc, list_builder: Arc) -> Arc { let mut builder = unwrap_or_clone_arc(self); - let list = unwrap_or_clone_arc(v); - builder.inner = builder.inner.add_list(list.inner); + builder.inner = builder.inner.add_list(unwrap_or_clone_arc(list_builder).inner).unwrap(); Arc::new(builder) }