From 84d1af1332f5dd05d3d5b33969215985d9737817 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 3 May 2022 10:28:15 +0200 Subject: [PATCH] [crypto-ffi] Add RoomMessage in RequestType --- crates/matrix-crypto-ffi/src/machine.rs | 4 ++++ crates/matrix-crypto-ffi/src/olm.udl | 1 + crates/matrix-crypto-ffi/src/responses.rs | 10 ++++++++++ 3 files changed, 15 insertions(+) diff --git a/crates/matrix-crypto-ffi/src/machine.rs b/crates/matrix-crypto-ffi/src/machine.rs index d5a569378..85f4c4867 100644 --- a/crates/matrix-crypto-ffi/src/machine.rs +++ b/crates/matrix-crypto-ffi/src/machine.rs @@ -25,6 +25,7 @@ use ruma::{ upload_keys::v3::Response as KeysUploadResponse, upload_signatures::v3::Response as SignatureUploadResponse, }, + message::send_message_event::v3::Response as RoomMessageResponse, sync::sync_events::v3::{DeviceLists as RumaDeviceLists, ToDevice}, to_device::send_event_to_device::v3::Response as ToDeviceResponse, }, @@ -330,6 +331,9 @@ impl OlmMachine { RequestType::KeysBackup => { KeysBackupResponse::try_from_http_response(response).map(Into::into) } + RequestType::RoomMessage => { + RoomMessageResponse::try_from_http_response(response).map(Into::into) + } } .expect("Can't convert json string to response"); diff --git a/crates/matrix-crypto-ffi/src/olm.udl b/crates/matrix-crypto-ffi/src/olm.udl index d42c0499c..b7a1ba5f3 100644 --- a/crates/matrix-crypto-ffi/src/olm.udl +++ b/crates/matrix-crypto-ffi/src/olm.udl @@ -244,6 +244,7 @@ enum RequestType { "ToDevice", "SignatureUpload", "KeysBackup", + "RoomMessage", }; interface OlmMachine { diff --git a/crates/matrix-crypto-ffi/src/responses.rs b/crates/matrix-crypto-ffi/src/responses.rs index 9c7f076a8..03caff5c1 100644 --- a/crates/matrix-crypto-ffi/src/responses.rs +++ b/crates/matrix-crypto-ffi/src/responses.rs @@ -18,6 +18,7 @@ use ruma::{ Request as RustSignatureUploadRequest, Response as SignatureUploadResponse, }, }, + message::send_message_event::v3::Response as RoomMessageResponse, sync::sync_events::v3::DeviceLists as RumaDeviceLists, to_device::send_event_to_device::v3::Response as ToDeviceResponse, }, @@ -226,6 +227,7 @@ pub enum RequestType { ToDevice, SignatureUpload, KeysBackup, + RoomMessage, } pub struct DeviceLists { @@ -269,6 +271,7 @@ pub(crate) enum OwnedResponse { ToDevice(ToDeviceResponse), SignatureUpload(SignatureUploadResponse), KeysBackup(KeysBackupResponse), + RoomMessage(RoomMessageResponse), } impl From for OwnedResponse { @@ -307,6 +310,12 @@ impl From for OwnedResponse { } } +impl From for OwnedResponse { + fn from(response: RoomMessageResponse) -> Self { + OwnedResponse::RoomMessage(response) + } +} + impl<'a> From<&'a OwnedResponse> for IncomingResponse<'a> { fn from(r: &'a OwnedResponse) -> Self { match r { @@ -316,6 +325,7 @@ impl<'a> From<&'a OwnedResponse> for IncomingResponse<'a> { OwnedResponse::ToDevice(r) => IncomingResponse::ToDevice(r), OwnedResponse::SignatureUpload(r) => IncomingResponse::SignatureUpload(r), OwnedResponse::KeysBackup(r) => IncomingResponse::KeysBackup(r), + OwnedResponse::RoomMessage(r) => IncomingResponse::RoomMessage(r), } } }