reactive_graph_dynamic_graph_api/
context.rs1use 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}