diff --git a/native/native_rust_library/src/backup/upload_handler.rs b/native/native_rust_library/src/backup/upload_handler.rs --- a/native/native_rust_library/src/backup/upload_handler.rs +++ b/native/native_rust_library/src/backup/upload_handler.rs @@ -12,11 +12,13 @@ use std::future::{self, Future}; use std::pin::Pin; use std::sync::{Arc, Mutex}; +use tokio::sync::Notify; use tokio::task::JoinHandle; lazy_static! { pub static ref UPLOAD_HANDLER: Arc>>> = Arc::new(Mutex::new(None)); + static ref TRIGGER_BACKUP_FILE_UPLOAD: Arc = Arc::new(Notify::new()); } pub mod ffi { @@ -46,6 +48,10 @@ handler.abort(); Ok(()) } + + pub fn trigger_backup_file_upload() { + TRIGGER_BACKUP_FILE_UPLOAD.notify_one(); + } } pub fn start() -> 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 @@ -245,6 +245,9 @@ #[cxx_name = "stopBackupHandler"] fn stop_backup_handler() -> Result<()>; + #[cxx_name = "triggerBackupFileUpload"] + fn trigger_backup_file_upload(); + #[cxx_name = "createBackup"] fn create_backup_sync( backup_id: String,