reactive_graph_instance_system_api/
instance_system.rs

1use std::sync::Arc;
2
3use async_trait::async_trait;
4use springtime_di::injectable;
5
6use reactive_graph_lifecycle::Lifecycle;
7use reactive_graph_reactive_service_api::ReactiveSystem;
8
9use crate::EntityInstanceImportExportManager;
10use crate::RelationInstanceImportExportManager;
11
12#[injectable]
13#[async_trait]
14pub trait InstanceSystem: Lifecycle {
15    fn get_entity_instance_import_export_manager(&self) -> Arc<dyn EntityInstanceImportExportManager + Send + Sync>;
16
17    fn get_relation_instance_import_export_manager(&self) -> Arc<dyn RelationInstanceImportExportManager + Send + Sync>;
18
19    fn reactive_system(&self) -> Arc<dyn ReactiveSystem + Send + Sync>;
20}