diff --git a/native/native_rust_library/RustBackupExecutor.h b/native/native_rust_library/RustBackupExecutor.h --- a/native/native_rust_library/RustBackupExecutor.h +++ b/native/native_rust_library/RustBackupExecutor.h @@ -6,5 +6,9 @@ rust::String getBackupDirectoryPath(); rust::String getBackupFilePath(rust::String backupID, bool isAttachments); +void createMainCompaction(rust::String backupID); +void restoreFromMainCompaction( + rust::String mainCompactionPath, + rust::String mainCompactionEncryptionKey); } // namespace comm diff --git a/native/native_rust_library/RustBackupExecutor.cpp b/native/native_rust_library/RustBackupExecutor.cpp --- a/native/native_rust_library/RustBackupExecutor.cpp +++ b/native/native_rust_library/RustBackupExecutor.cpp @@ -14,4 +14,16 @@ return rust::String(PlatformSpecificTools::getBackupFilePath( std::string(backupID), isAttachments)); } + +void createMainCompaction(rust::String backupID) { + BackupOperationsExecutor::createMainCompaction(std::string(backupID)); +} + +void restoreFromMainCompaction( + rust::String mainCompactionPath, + rust::String mainCompactionEncryptionKey) { + BackupOperationsExecutor::restoreFromMainCompaction( + std::string(mainCompactionPath), + std::string(mainCompactionEncryptionKey)); +} } // namespace comm 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 @@ -260,6 +260,17 @@ backup_id: String, is_attachments: bool, ) -> Result; + + #[allow(unused)] + #[cxx_name = "createMainCompaction"] + fn create_main_compaction(backup_id: String) -> Result<()>; + + #[allow(unused)] + #[cxx_name = "restoreFromMainCompaction"] + fn restore_from_main_compaction( + main_compaction_path: String, + main_compaction_encryption_key: String, + ) -> Result<()>; } }