Skip to main content

harmos_runtime/
builtin.rs

1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Re-Exports === */
11
12/* === Structs === */
13
14pub fn catalog_registration<C: 'static>(
15    storage: Option<std::sync::Arc<crate::storage::StorageManager<C>>>,
16) -> crate::Result<harmos_sdk::RegistrationBatch> {
17    let mut dependencies = harmos_sdk::Dependencies::new();
18    let storage = storage.map(|storage| std::sync::Arc::new(storage.engine_erased()));
19    dependencies.insert(std::sync::Arc::new(storage))?;
20    Ok(harmos_operations::host::Host::registration(dependencies))
21}
22
23pub fn storage_registration<C: 'static>(
24    storage: std::sync::Arc<crate::storage::StorageManager<C>>,
25) -> crate::Result<harmos_sdk::RegistrationBatch> {
26    let mut dependencies = harmos_sdk::Dependencies::new();
27    dependencies.insert(std::sync::Arc::new(storage.engine_erased()))?;
28    Ok(harmos_operations::storage::Storage::registration(dependencies))
29}