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 @@ -9,5 +9,9 @@ rust::String getBackupLogFilePath(rust::Str backupID, rust::Str logID, bool isAttachments); rust::String getBackupUserKeysFilePath(rust::Str backupID); +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 @@ -1,4 +1,5 @@ #include "RustBackupExecutor.h" +#include "../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/BackupOperationsUtilities/BackupOperationsExecutor.h" #include "../cpp/CommonCpp/Tools/PlatformSpecificTools.h" #include @@ -24,4 +25,16 @@ return rust::String( PlatformSpecificTools::getBackupUserKeysFilePath(std::string(backupID))); } + +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 @@ -294,6 +294,16 @@ #[allow(unused)] #[cxx_name = "getBackupUserKeysFilePath"] fn get_backup_user_keys_file_path(backup_id: &str) -> Result; + + #[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<()>; } }