From 0ef819bca7173fafb883c969512f980457b99a02 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Thu, 6 Jul 2023 16:07:17 +0200 Subject: [PATCH] ffi: Use proc-macros for SessionVerificationControllerDelegate --- bindings/matrix-sdk-ffi/src/api.udl | 11 ----------- bindings/matrix-sdk-ffi/src/lib.rs | 1 - bindings/matrix-sdk-ffi/src/session_verification.rs | 2 ++ 3 files changed, 2 insertions(+), 12 deletions(-) diff --git a/bindings/matrix-sdk-ffi/src/api.udl b/bindings/matrix-sdk-ffi/src/api.udl index 5f5c2f084..e645abfdc 100644 --- a/bindings/matrix-sdk-ffi/src/api.udl +++ b/bindings/matrix-sdk-ffi/src/api.udl @@ -47,17 +47,6 @@ interface MediaSource { string url(); }; -interface SessionVerificationEmoji {}; - -callback interface SessionVerificationControllerDelegate { - void did_accept_verification_request(); - void did_start_sas_verification(); - void did_receive_verification_data(sequence data); - void did_fail(); - void did_cancel(); - void did_finish(); -}; - enum EventItemOrigin { "Local", "Sync", diff --git a/bindings/matrix-sdk-ffi/src/lib.rs b/bindings/matrix-sdk-ffi/src/lib.rs index 43fec8d1a..fe4e64fbd 100644 --- a/bindings/matrix-sdk-ffi/src/lib.rs +++ b/bindings/matrix-sdk-ffi/src/lib.rs @@ -44,7 +44,6 @@ use matrix_sdk_ui::timeline::{BackPaginationStatus, EventItemOrigin}; use self::{ client::{CreateRoomParameters, RoomPreset, RoomVisibility}, error::ClientError, - session_verification::{SessionVerificationControllerDelegate, SessionVerificationEmoji}, task_handle::TaskHandle, timeline::MediaSourceExt, }; diff --git a/bindings/matrix-sdk-ffi/src/session_verification.rs b/bindings/matrix-sdk-ffi/src/session_verification.rs index 612a60ffb..da7a84847 100644 --- a/bindings/matrix-sdk-ffi/src/session_verification.rs +++ b/bindings/matrix-sdk-ffi/src/session_verification.rs @@ -13,6 +13,7 @@ use matrix_sdk::{ use super::RUNTIME; use crate::error::ClientError; +#[derive(uniffi::Object)] pub struct SessionVerificationEmoji { symbol: String, description: String, @@ -29,6 +30,7 @@ impl SessionVerificationEmoji { } } +#[uniffi::export(callback_interface)] pub trait SessionVerificationControllerDelegate: Sync + Send { fn did_accept_verification_request(&self); fn did_start_sas_verification(&self);