reactive_graph_dynamic_graph_api/
context.rs

1use std::sync::Arc;
2
3use reactive_graph_type_system_api::ComponentManager;
4use reactive_graph_type_system_api::EntityTypeManager;
5use reactive_graph_type_system_api::FlowTypeManager;
6use reactive_graph_type_system_api::NamespaceManager;
7use reactive_graph_type_system_api::RelationTypeManager;
8
9#[derive(Clone)]
10pub struct SchemaBuilderContext {
11    pub namespace_manager: Arc<dyn NamespaceManager + Send + Sync>,
12    pub component_manager: Arc<dyn ComponentManager + Send + Sync>,
13    pub entity_type_manager: Arc<dyn EntityTypeManager + Send + Sync>,
14    pub relation_type_manager: Arc<dyn RelationTypeManager + Send + Sync>,
15    pub flow_type_manager: Arc<dyn FlowTypeManager + Send + Sync>,
16}
17
18impl SchemaBuilderContext {
19    pub fn new(
20        namespace_manager: Arc<dyn NamespaceManager + Send + Sync>,
21        component_manager: Arc<dyn ComponentManager + Send + Sync>,
22        entity_type_manager: Arc<dyn EntityTypeManager + Send + Sync>,
23        relation_type_manager: Arc<dyn RelationTypeManager + Send + Sync>,
24        flow_type_manager: Arc<dyn FlowTypeManager + Send + Sync>,
25    ) -> SchemaBuilderContext {
26        SchemaBuilderContext {
27            namespace_manager,
28            component_manager,
29            entity_type_manager,
30            relation_type_manager,
31            flow_type_manager,
32        }
33    }
34}