diff --git a/native/native_rust_library/src/backup.rs b/native/native_rust_library/src/backup.rs --- a/native/native_rust_library/src/backup.rs +++ b/native/native_rust_library/src/backup.rs @@ -20,6 +20,7 @@ use std::future::{self, Future}; use std::pin::Pin; use std::sync::{Arc, Mutex}; +use tokio::sync::Notify; use tokio::task::JoinHandle; pub mod ffi { @@ -45,6 +46,10 @@ }); } + pub fn trigger_backup_file_upload() { + TRIGGER_BACKUP_FILE_UPLOAD.notify_one(); + } + pub fn create_backup_sync( backup_id: String, backup_secret: String, @@ -77,6 +82,7 @@ lazy_static! { static ref UPLOAD_HANDLER: Arc>>> = Arc::new(Mutex::new(None)); + static ref TRIGGER_BACKUP_FILE_UPLOAD: Arc = Arc::new(Notify::new()); } async fn stop_backup_handler() -> Result<(), Box> { diff --git a/native/native_rust_library/src/lib.rs b/native/native_rust_library/src/lib.rs --- a/native/native_rust_library/src/lib.rs +++ b/native/native_rust_library/src/lib.rs @@ -232,6 +232,9 @@ #[cxx_name = "stopBackupHandler"] fn stop_backup_handler_sync(promise_id: u32); + #[cxx_name = "triggerBackupFileUpload"] + fn trigger_backup_file_upload(); + #[cxx_name = "createBackup"] fn create_backup_sync( backup_id: String,